نظـم التشغيل - المحاضرة 1 PDF

Summary

هذه المحاضرة مقدمة حول نظم التشغيل، وتشرح المكونات الأساسية لنظام التشغيل ومفهومها.

Full Transcript

‫اٌغٕخ اٌشاثؼخ‬ ‫ٔظُ رشغ‪1 ً١‬‬ ‫اٌّؾبػشح األ‪ٌٝٚ‬‬ ‫‪Introduction to OS‬‬ ‫د‪.‬اٌّضٕ‪ ٝ‬خؼش‬ ‫وٍ‪١‬خ اٌ‪ٕٙ‬ذعخ اٌّؼٍ‪ِٛ‬بر‪١‬خ‬ ‫ِفشداد اٌّمشس ‪ٚ‬اٌّشاعغ‬ ‫ِفب٘‪ٔ ُ١‬ظُ اٌزشغ‪ٌٍّ ً١‬إٌف ػجذ اٌشؽّ...

‫اٌغٕخ اٌشاثؼخ‬ ‫ٔظُ رشغ‪1 ً١‬‬ ‫اٌّؾبػشح األ‪ٌٝٚ‬‬ ‫‪Introduction to OS‬‬ ‫د‪.‬اٌّضٕ‪ ٝ‬خؼش‬ ‫وٍ‪١‬خ اٌ‪ٕٙ‬ذعخ اٌّؼٍ‪ِٛ‬بر‪١‬خ‬ ‫ِفشداد اٌّمشس ‪ٚ‬اٌّشاعغ‬ ‫ِفب٘‪ٔ ُ١‬ظُ اٌزشغ‪ٌٍّ ً١‬إٌف ػجذ اٌشؽّٓ أؽّذ دمحم ػضّبْ ‪‬‬ ‫‪2‬‬ ‫خ‬١‫غ‬١‫ اٌّفشداد اٌشئ‬:ٌٝٚ‫اٌّؾبػشح األ‬ ً١‫ف ٔظبَ اٌزشغ‬٠‫رؼش‬.1 ‫ً ؽغت اٌؾبعخ‬١‫بَ ٔظبَ اٌزشغ‬ِٙ.2 ٟ‫ث‬ٛ‫ٔبد إٌظبَ اٌؾبع‬ٛ‫ِى‬.3 )controller ) ُ‫اٌّزؾى‬.4 )Interrupts ( ‫اٌّمبؽؼبد‬.5 ‫اٌخشط‬ٚ ً‫ضح اٌذخ‬ٙ‫ ٌّمبؽؼبد أع‬ِٟٕ‫اٌخؾ اٌض‬.6 Direct Memory Access Structure.7 ‫خ اٌزاوشح‬١ِ‫٘ش‬.8 )system call interface( َ‫خ ٔذاء إٌظب‬ٙ‫اع‬ٚ.9 Single & Multi Processing.10 Multiprogramming vs multitasking.11 ً١‫أّٔبؽ ػًّ ٔظبَ اٌزشغ‬.12 ً١‫بَ ٔظبَ اٌزشغ‬ِٙ.13 Kernel Data Structures ً١‫اح ٔظبَ اٌزشغ‬ٛٔ ‫خ‬١ٍ‫ى‬١٘.14 Computing Environments ‫عجخ‬ٛ‫ئبد اٌؾ‬١‫ث‬.15 ‫ػب‬ٛ١‫ً األوضش ش‬١‫ٔظُ اٌزشغ‬.16 3 ‫رؼش‪٠‬ف ٔظبَ اٌزشغ‪ً١‬‬ ‫ اٌزؼش‪٠‬ف األثغؾ ٌٕظبَ اٌزشغ‪ ٛ٘ ً١‬أٔٗ ثشٔبِظ ‪٠‬ؼًّ و‪ٛ‬ع‪١‬ؾ ث‪ ٓ١‬اٌّغزخذَ ‪ ٚ‬أع‪ٙ‬ضح اٌؾبع‪ٛ‬ة اٌّبد‪٠‬خ‬ ‫(‪٠ ٚ )Hardware‬إِٓ ث‪١‬ئخ ِٕبعجخ ٌزٕف‪١‬ز اٌجشاِظ‬ ‫ أ٘ذاف ٔظبَ اٌزشغ‪ ً١‬اٌشئ‪١‬غ‪١‬خ ٘‪:ٟ‬‬ ‫‪ ‬رٕف‪١‬ز رطج‪١‬مبد اٌّغزخذَ‪.‬‬ ‫‪ ‬ر‪ٛ‬ف‪١‬ش ث‪١‬ئخ ِٕبعجخ ‪ِٚ‬الئّخ ٌالعزخذاَ ‪.convenient‬‬ ‫‪ ‬االعزفبدح اٌمظ‪ ِٓ ٜٛ‬اٌّ‪ٛ‬اسد ‪ٚ‬رٌه ثغؼٍ‪ٙ‬ب رؼًّ ثشىً فؼبي ‪.efficient‬‬ ‫ثؼغ اٌزؼبس‪٠‬ف اٌخبطخ ثٕظبَ اٌزشغ‪: ً١‬‬ ‫‪ ٛ٘ : Kernel ‬عضء ِٓ ٔظبَ اٌزشغ‪ ً١‬اٌز‪ ٞ‬ال ‪٠‬ؼًّ ثذ‪ٌ( ٗٔٚ‬ت ٔظبَ اٌزشغ‪ ٚ )ً١‬اٌز‪٠ ٞ‬غت أْ ‪٠‬جم‪ ٝ‬ل‪١‬ذ اٌزشغ‪ً١‬‬ ‫ؽبٌّب اٌؾبعت ‪٠‬ؼًّ ‪ ٚ‬ػٕذ رؼشػٗ ئٌ‪ ٝ‬ػشس ‪٠‬إد‪ ٞ‬ئٌ‪ ٝ‬ر‪ٛ‬لف ٔظبَ اٌزشغ‪ ٚ ً١‬ػذَ لذسح اٌؾبعت ػٍ‪ ٝ‬اٌؼًّ‪.‬‬ ‫‪ِ ٟ٘ : System programs ‬غّ‪ٛ‬ػخ ِٓ اٌجشاِظ اٌز‪ ٟ‬رإِٓ ث‪١‬ئخ ِٕبعجخ ٌزٕف‪١‬ز ‪ ٚ‬رشغ‪ ً١‬اٌجشاِظ‪ ٚ ,‬رمذ‪ُ٠‬‬ ‫خذِبد ٌٍّغزخذِ‪١ٌ , ٓ١‬غذ عضء ِٓ اٌـ ‪ , kernel‬رأر‪ِ ٟ‬غ ٔظبَ اٌزشغ‪ ً١‬أ‪ّ٠ ٚ‬ىٓ رضج‪١‬زٗ الؽمب ِضً ( ‪compiler‬‬ ‫‪- Assembler - command line).‬‬ ‫‪ ٟ٘ :Application programs ‬عّ‪١‬غ اٌجشاِظ اٌز‪ ٟ‬ال رشرجؾ ِجبششح ِغ ٔظبَ اٌزشغ‪ِ ً١‬ضً ‪VLC – ( :‬‬ ‫‪Adobe – call of duty – Notepad).‬‬ ‫‪ِ ٟ٘ :Middleware ‬غّ‪ٛ‬ػخ ِٓ اٌـ ‪ Software frameworks‬اٌز‪ ٟ‬رض‪ٚ‬د ِط‪ٛ‬س‪ ٓ٠‬اٌجشاِظ ثخذِبد‬ ‫ئػبف‪١‬خ ِضً )‪ِ ٟ٘ٚ )Databases – Multimedia- Graphics‬ؼّٕخ ػّٓ أٔظّخ اٌزشغ‪ ً١‬راد االعزخذاَ‬ ‫اٌؼبَ ‪ٚ‬أ‪٠‬ؼب ر‪ٛ‬عذ ف‪ ٟ‬اٌؾ‪ٛ‬عجخ اٌّؾّ‪ٌٛ‬خ ‪.mobile computing‬‬ ‫‪4‬‬ ‫ِ‪ٙ‬بَ ٔظبَ اٌزشغ‪ ً١‬ؽغت اٌؾبعخ‬ ‫ رٕمغُ اٌؾ‪ٛ‬اع‪١‬ت ئٌ‪ ٝ‬أٔ‪ٛ‬ع ِخزٍفخ ‪ِٕٙ ٚ‬ب ‪:‬‬ ‫‪: Mainframe computers ‬ػجبسح ػٓ ع‪ٙ‬بص ؽبع‪ٛ‬ة ِشوض‪ٚ ٞ‬اؽذ رزظً ثٗ ػذح ؽشف‪١‬بد رغّ‪ٝ‬‬ ‫) ‪٘ )dump terminal‬زٖ اٌطشف‪١‬بد ػجبسح ػٓ شبشخ ‪ٌٛٚ‬ؽخ ِفبر‪١‬ؼ‪١ٌ ،‬ظ ث‪ٙ‬ب راوشح أ‪ِ ٚ‬ؼبٌظ ‪ٚ‬ئّٔب‬ ‫رغزخذَ ِؼبٌظ ‪ٚ‬راوشح اٌؾبعت اٌّشوض‪.ٞ‬‬ ‫‪ ٟ٘: Minicomputers ‬فئخ ِٓ اٌؾ‪ٛ‬اع‪١‬ت ِزؼذدح اٌّغزخذِ‪ ٚ ٓ١‬رمغ ف‪ ٟ‬اٌّذ‪ ٜ‬األ‪ٚ‬عؾ ِٓ اٌط‪١‬ف‬ ‫اٌؾبع‪ٛ‬ث‪ ٟ‬ث‪ ٓ١‬األٔظّخ ِزؼذدح اٌّغزخذِ‪ ٓ١‬اٌىجش‪ ٚ ٜ‬األٔظّخ أؽبد‪٠‬خ اٌّغزخذَ اٌظغش‪( ٜ‬اٌؾبعت اٌشخظ‪ٟ‬‬ ‫)‪.‬‬ ‫‪ٔ ٛ٘ :Servers ‬ظبَ ؽبع‪ٛ‬ث‪ِ ٟ‬زظً ثشجىخ أ‪ ٞ‬أٔٗ ػمذح ف‪ٙ١‬ب ‪ِ ٚ‬زخظض ف‪ ٟ‬أداء ‪ٚ‬ظ‪١‬فخ ِؼ‪ٕ١‬خ ‪ ٚ‬رٍج‪١‬خ‬ ‫اٌطٍجبد اٌز‪ ٟ‬رشدٖ ِٓ ؽ‪ٛ‬اع‪١‬ت أخش‪ ٜ‬ػٍ‪ ٝ‬اٌشجىخ ‪ ٚ‬ػبدح ِب ‪٠‬ى‪ ْٛ‬ػزبدٖ اٌّبد‪ ٞ‬راد ئِىبٔ‪١‬بد ِزف‪ٛ‬لخ ‪ٚ‬‬ ‫رظّ‪ّ١‬بد خبطخ ٌزؾًّ اٌؼًّ ٌفزشاد ؽ‪ٍ٠ٛ‬خ ثال أمطبع ‪ٌّٛ ٚ‬اع‪ٙ‬خ األػطبي ثىفبءح أوجش‪.‬‬ ‫‪ ٟ٘ :Embedded system ‬أٔظّخ ٌّؼبٌغخ اٌّؼٍ‪ِٛ‬بد ‪ ٚ‬رى‪ِ ْٛ‬ؼّٕخ ف‪ِٕ ٟ‬زظ أوجش ‪ ٟ٘ ٚ‬ػبدح ِب‬ ‫رى‪ ْٛ‬غ‪١‬ش ِشئ‪١‬خ ِجبششح ٌٍّغزخذَ ‪ ٚ‬رى‪ٚ ْٛ‬اع‪ٙ‬بر‪ٙ‬ب لٍ‪ٍ١‬خ ا‪ِ ٚ‬ؼذ‪ِٚ‬خ أؽ‪١‬بٔب ِضً األٔظّخ اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ٟ‬‬ ‫اٌغ‪١‬بساد اٌؾذ‪٠‬ضخ‪.‬‬ ‫‪5‬‬ ‫ِ‪ٙ‬بَ ٔظبَ اٌزشغ‪ ً١‬ؽغت اٌؾبعخ‬ ‫‪‬اٌّغزخذِ‪٠ ْٛ‬ش‪٠‬ذ‪ ْٚ‬أْ ‪٠‬ى‪ٔ ْٛ‬ظبَ اٌزشغ‪ ً١‬ع‪ ًٙ‬االعزخذاَ ‪ ٚ‬أْ ‪٠‬ؼط‪ ٟ‬أداء ػبٌ‪ ِٓ ٟ‬د‪ ْٚ‬اال٘زّبَ ثّب‬ ‫‪٠‬م‪ ِٓ َٛ‬اعز‪ٙ‬الن ٌّ‪ٛ‬اسد اٌؾبعت‪.‬‬ ‫‪ ‬ث‪ّٕ١‬ب اٌؾ‪ٛ‬اع‪١‬ت اٌّشزشوخ ِضً اي ‪mainframe‬أ‪ ٚ‬اي ‪ minicomputer‬ػٍ‪ٔ ٝ‬ظبَ اٌزشغ‪ ً١‬ئداسح‬ ‫اٌغ‪ٙ‬بص اٌّشوض‪ٌ ٞ‬خذِخ اٌىُ اٌىج‪١‬ش ِٓ اٌّغزخذِ‪ ٓ١‬ثؾ‪١‬ش ‪٠‬ى‪ ْٛ‬صِٓ االعزغبثخ ٌىً ِغزخذَ عش‪٠‬غ (ألً ِٓ‬ ‫صبٔ‪١‬خ)‪ٚ ،‬ؽز‪٠ ٝ‬شؼش وً ِغزخذَ أْ اٌغ‪ٙ‬بص اٌّشوض‪٠ ٞ‬خذِٗ ٌ‪ٛ‬ؽذٖ‪.‬‬ ‫‪ِ‬غزخذِ‪ ٟ‬األٔظّخ اٌّخظظخ ِضً اي ‪ٌ workstations‬ذ‪ٙ٠‬ب ِ‪ٛ‬اسد ِخظظخ ‪ٌٚ‬ىٕ‪ٙ‬ب غبٌجب رزشبسن ف‪ٟ‬‬ ‫اٌّ‪ٛ‬اسد ِٓ اي ‪ٚ , servers‬ػٍ‪ ٝ‬أٔظّخ اٌزشغ‪ ً١‬رأِ‪ ٓ١‬أد‪ٚ‬اد إلداسح اٌخذِبد اٌز‪٠ ٟ‬مذِ‪ٙ‬ب اٌغ‪١‬شفش‪.‬‬ ‫‪‬األع‪ٙ‬ضح اٌّؾّ‪ٌٛ‬خ ‪ِ mobile devices‬ضً اٌ‪ٛٙ‬ارف اٌزو‪١‬خ ‪ٚ‬اي ‪ ٟ٘tablets‬أع‪ٙ‬ضح رّزٍه ِ‪ٛ‬اسد‬ ‫ػؼ‪١‬فخ ‪٠ٚ‬زُ رط‪٠ٛ‬ش ٘زٖ األع‪ٙ‬ضح ِٓ أعً رؾغ‪ ٓ١‬االعزخذاِ‪١‬خ ‪ ٚ‬ػّش اٌجطبس‪٠‬خ ‪ ,‬رى‪ ْٛ‬أٔظّخ اٌزشغ‪ ً١‬ف‪ٟ‬‬ ‫اٌزؼشف اٌظ‪ٛ‬ر‪.voice recognition ٟ‬‬ ‫ّ‬ ‫٘زٖ اٌؾبٌخ رغزغ‪١‬ت ًٌ ‪ٚ touch screens‬‬ ‫‪▪ ‬ثؼغ اٌؾ‪ٛ‬اع‪١‬ت رّزٍه ‪ٚ‬اع‪ٙ‬بد لٍ‪ٍ١‬خ أ‪ ٚ‬ال رّزٍه ‪ٚ‬اع‪ٙ‬بد أعبعب ‪ِ ,‬ضً األٔظّخ اٌّ‪ٛ‬ع‪ٛ‬دح ف‪ٟ‬‬ ‫‪( embedded computers‬ؽ‪ٛ‬اع‪١‬ت ِؼ ّّٕخ ) ‪٘ٚ ,‬زٖ األٔظّخ رؼًّ ثشىً أعبع‪ ٟ‬د‪ ْٚ‬أ‪ ٞ‬رذخً ِٓ‬ ‫اٌّغزخذَ ‪.‬‬ ‫‪6‬‬ 7 ‫اٌّزؾىُ ) ‪)controller‬‬ ‫‪ٌ‬ىً ع‪ٙ‬بص أ‪ٌ ٚ‬ىً ؽشف‪١‬خ ‪ٛ٠‬عذ ِزؾىُ ‪ controller‬أ‪ِ ٚ‬ب ‪٠‬غّ‪ ٝ‬أ‪٠‬ؼب ة ‪٠ Adapter‬زؾىُ ثٗ‪ ,‬لذ ‪٠‬ى‪ِ ْٛ‬ذِغب‬ ‫ثبٌغ‪ٙ‬بص أ‪ ٚ‬أؽ‪١‬بٔب لذ ‪٠‬ى‪ ْٛ‬خبسع‪١‬ب ( ِضً وشد اٌشبشخ ٘‪٠ controller ٛ‬زؾىُ ثبٌشبشخ ) ‪ٌٚ‬ىٕٗ ٌ‪١‬ظ عضء ِٓ‬ ‫ٔظبَ اٌزشغ‪. ً١‬‬ ‫‪٠ٚ‬زؼبًِ ٔظبَ اٌزشغ‪ِ ً١‬غ اي ‪Controller‬ػٓ ؽش‪٠‬ك ‪٠ software‬ذػ‪. Device driver ٝ‬‬ ‫‪‬وً ِزؾىُ ‪٠‬ؾز‪ ٞٛ‬ػٍ‪ِ ٝ‬خضْ ِؾٍ‪ِ ٟ‬إلذ )‪.)Buffer‬‬ ‫‪ٛ٠ ‬عذ أوضش ِٓ ‪ِCPUs, device controllers‬زظٍخ ِٓ خًٍ خط‪ٛ‬ؽ إٌمً اٌّشزشوخ ( ‪ )Bus‬ر‪ٛ‬فش اٌ‪ٛ‬ط‪ٛ‬ي‬ ‫ئٌ‪ ٝ‬اٌزاوشح اٌّشزشوخ ‪.‬‬ ‫‪‬اٌزٕف‪١‬ز اٌّزضآِ ٌ‪ٛ‬ؽذاد اٌّؼبٌغخ اٌّشوض‪٠‬خ ‪ٚ‬األع‪ٙ‬ضح ‪٠‬غؼً ِٕ‪٠ ُٙ‬زٕبفغ‪ ْٛ‬ػٍ‪ ٝ‬د‪ٚ‬ساد اٌزاوشح ؽ‪١‬ش أْ‬ ‫اٌزاوشح ‪ّ٠‬ىٕ‪ٙ‬ب أْ رزؼبًِ ِغ ع‪ٙ‬بص‪ٚ cpu /‬اؽذ ف‪ ٟ‬اٌذ‪ٚ‬سح اٌ‪ٛ‬اؽذح ‪.‬‬ ‫‪٠‬م‪ َٛ‬اٌّزؾىُ ثاػالَ اٌّؼبٌظ أٔٗ لذ أٔ‪ ٝٙ‬ػٍّٗ ػٓ ؽش‪٠‬ك اٌزغجت ف‪ِ ٟ‬مبؽؼخ ‪. interrupt‬‬ ‫‪8‬‬ ‫اٌّمبؽؼبد ( ‪)Interrupts‬‬ ‫ اٌّمبؽؼخ ‪ ٟ٘ :‬ئشبسح أ‪ ٚ‬ؽٍت رشعً ِٓ اٌّى‪ٔٛ‬بد اٌّبد‪٠‬خ أ‪ ٚ‬اٌّى‪ٔٛ‬بد اٌجشِغ‪١‬خ ئٌ‪ ٝ‬اٌّؼبٌظ‬ ‫ِٓ أعً رٕف‪١‬ز خذِخ ِغزؼغٍخ (‪. )interrupt service routine‬‬ ‫ ٕ٘بٌه ِغّ‪ٛ‬ػخ ِٓ اٌخذِبد رخزٍف ثبخزالف ٔظبَ اٌزشغ‪ ٟ٘ٚ ،ً١‬ػجبسح ػٓ د‪ٚ‬اي خبطخ‬ ‫ثبٌّمبؽؼبد‪ ،‬فىً ِمبؽؼخ رمبثٍ‪ٙ‬ب ِغّ‪ٛ‬ػخ ِٓ اٌذ‪ٚ‬اي‪.‬‬ ‫ ػٕذِب ‪٠‬زُ ئسعبي اٌّمبؽؼخ ئٌ‪ ٝ‬اٌّؼبٌظ ‪ٛ٠‬لف ِب وبْ ‪٠‬ؼًّ ف‪ ،ٗ١‬صُ ‪ٕ٠‬فز داٌخ ِؼ‪ٕ١‬خ ِٓ د‪ٚ‬اي‬ ‫اٌّمبؽؼخ (رؾذد اٌذاٌخ ثشلُ ف‪ِ ٟ‬غغً ِؼ‪ ،)ٓ١‬صُ ‪٠‬شعغ اٌّؼبٌظ ِشح أخش‪ٛ١ٌ ٜ‬اطً ِب أ‪ٚ‬لفٗ‬ ‫لجً اعزالِٗ ٌٍّمبؽؼخ‪.‬‬ ‫ ٕ٘بٌه أٔ‪ٛ‬اع ِخزٍفخ ِٓ اٌّمبؽؼبد ‪:‬‬ ‫ ‪ : Hardware interrupt‬رغزخذِ‪ٙ‬ب اي ‪ٌٍ Hardware devices‬زخبؽت ِغ ٔظبَ‬ ‫اٌزشغ‪ ً١‬ػٕذِب رش‪٠‬ذ ؽٍت ػًّ ِب ِٕٗ ‪ ٟ٘ٚ‬ػجبسح ػٓ ٔجؼخ و‪ٙ‬شثبئ‪١‬خ ‪.‬‬ ‫ ‪ ٟ٘ٚ :Software interrupt‬ػجبسح ػٓ ‪Trap‬أ‪ ٚ Exception ٚ‬رؾذس ٌضالصخ أعجبة ‪:‬‬ ‫▪ ػٕذ ؽظ‪ٛ‬ي خطأ ثشِغ‪ِ ٟ‬ب ‪division by zero)(.‬‬ ‫▪ؽٍت ِؼ‪ ِٓ ٓ١‬ثشٔبِظ ٌ‪١‬م‪ َٛ‬ثزٕف‪١‬زٖ ٔظبَ اٌزشغ‪)System call) ً١‬‬ ‫▪ِشبوً ثشِغ‪١‬خ أخش‪ )Infinity loop) ٜ‬أ‪ ٚ‬ػٍّ‪١‬بد رم‪ َٛ‬ثزؼذ‪ ً٠‬ثؼؼ‪ٙ‬ب اٌجؼغ ‪.‬‬ ‫‪9‬‬ ‫اٌخؾ اٌضِٕ‪ٌّ ٟ‬مبؽؼبد أع‪ٙ‬ضح اٌذخً ‪ٚ‬اٌخشط‬ ‫ اٌمُّ ف‪ٚ ٟ‬لذ ‪ٚ‬ؽذح اٌّؼبٌغخ اٌّشوض‪٠‬خ ٘‪ ٟ‬ػٕذِب رى‪ٚ ْٛ‬ؽذح اٌّؼبٌغخ اٌّشوض‪٠‬خ ِشغ‪ٌٛ‬خ ثبٌم‪١‬بَ‬ ‫ثّ‪ّٙ‬خ ‪ ٚ ,‬اٌ‪ٛ‬د‪٠‬بْ ٘‪ ٟ‬ػٕذِب ‪٠‬زُ ئػالَ ‪ٚ‬ؽذح اٌّؼبٌغخ اٌّشوض‪٠‬خ ثّمبؽؼخ ِٓ اي ‪ٚ I/O‬ػٍ‪ ٗ١‬اٌّؼ‪ٟ‬‬ ‫لذِب ف‪ ٟ‬ئػذاد اٌّخبصْ اٌّإلزخ ٌٍغ‪ٌٛ‬خ اٌّمجٍخ ‪.‬‬ ‫ اٌمُّ ف‪ ٟ‬اي ‪ I/O‬رى‪ ْٛ‬ػٕذِب ‪ٕ٠‬زظش خشط ا‪ ٚ‬ؽٍجبد دخً ‪ٚ‬خشط ‪ٚ ,‬اٌ‪ٛ‬د‪٠‬بْ ػٕذِب ِزؾىُ اٌغ‪ٙ‬بص ‪٠‬م‪َٛ‬‬ ‫ثىزبثخ ِخبصْ اٌزاوشح ثشىً ِغزمً ِٓ ‪ٚ‬ؽذح اٌّؼبٌغخ اٌّشوض‪٠‬خ اٌ‪ ٝ‬اٌغ‪ٙ‬بص اٌفؼٍ‪ٚ ٟ‬غبٌجب ِب رزُ اٌىزبثخ‬ ‫ػٓ ؽش‪٠‬ك اي ) ‪) DMA‬اٌ‪ٛ‬ط‪ٛ‬ي اٌّجبشش ٌٍزاوشح‪.‬‬ ‫‪10‬‬ ‫اٌخؾ اٌضِٕ‪ٌّ ٟ‬مبؽؼبد أع‪ٙ‬ضح اٌذخً ‪ٚ‬اٌخشط‬ ‫أصٕبء اٌّمبؽؼخ ‪٠‬ؾبفع ٔظبَ اٌزشغ‪ ً١‬ػٍ‪ ٝ‬اٌؾبٌخ اٌؾبٌ‪١‬خ ٌ‪ٛ‬ؽذح اٌّؼبٌغخ اٌّشوض‪٠‬خ ِٓ خالي‬ ‫رخض‪ ٓ٠‬اٌغغالد ‪ٚ registers‬ػذاد اٌجشٔبِظ ‪٠ٚ program counter‬م‪ َٛ‬ثزؾذ‪٠‬ذ ٔ‪ٛ‬ع‬ ‫اٌّمبؽؼخ اٌز‪ ٟ‬ؽظٍذ‪.‬‬ ‫ ػٕذِب ‪٠‬طٍت أؽذ اٌجشاِظ ػٍّ‪١‬خ دخً أ‪ ٚ‬خشط ‪ ,‬فٕظبَ اٌزشغ‪٠ ً١‬م‪ َٛ‬ثؼٍّ‪١‬خ ِمبؽؼخ ‪ٔ ٚ‬ى‪ ْٛ‬أِبَ ؽبٌز‪:ٓ١‬‬ ‫أِب االٔزظبس‪٠ * :‬ؼ‪ٛ‬د اٌزؾىُ ئٌ‪ ٝ‬ثشٔبِظ اٌّغزخذَ فمؾ ثؼذ ئرّبَ ػٍّ‪١‬بد اي ‪I/O‬‬ ‫* رؼٍ‪ّ١‬بد االٔزظبس رغؼً ‪ٚ‬ؽذح اٌّؼبٌغخ اٌّشوض‪٠‬خ ثؾبٌخ خّ‪ٛ‬ي ؽز‪ ٝ‬اٌّمبؽؼخ اٌزبٌ‪١‬خ‪.‬‬ ‫*ؽٍمخ االٔزظبس رإد‪ ٞ‬ئٌ‪ ٝ‬اٌزٕبصع ث‪ ٓ١‬اٌّ‪ٛ‬اسد ٌٍ‪ٛ‬ط‪ٛ‬ي ئٌ‪ ٝ‬اٌزاوشح‪.‬‬ ‫*ِٓ اٌّّىٓ أْ ‪٠‬ز‪ٛ‬اعذ ؽٍت ‪ٚI\O‬اؽذ ػٍ‪ ٝ‬االوضش ف‪ ٟ‬اٌ‪ٛ‬لذ اٌ‪ٛ‬اؽذ‪.‬‬ ‫أ‪ ٚ‬االعزّشاس‪٠* :‬ؼ‪ٛ‬د اٌزؾىُ ئٌ‪ ٝ‬ثشٔبِظ اٌّغزخذَ د‪ ْٚ‬أزظبس أز‪ٙ‬بء ػٍّ‪١‬بد اي ‪.I/O‬‬ ‫*‪٠‬ف‪ٙ‬شط ٔظبَ اٌزشغ‪ ً١‬عذا‪ٚ‬ي اع‪ٙ‬ضح ‪ٌ I\O‬زؾذ‪٠‬ذ ؽبٌخ اٌغ‪ٙ‬بص ‪ٚ‬رؼذ‪ ً٠‬عط‪ٛ‬س اٌغذ‪ٚ‬ي‬ ‫ٌزؼّ‪ ٓ١‬اٌّمبؽؼخ‪.‬‬ ‫* ‪ Device-status table‬عذ‪ٚ‬ي ؽبٌخ اٌغ‪ٙ‬بص ‪٠‬ؾز‪ ٞٛ‬ػٍ‪ ٝ‬دخً ٌىً ع‪ٙ‬بص ‪٠I\O‬ش‪١‬ش‬ ‫اٌ‪ٛٔ ٝ‬ػٗ ‪ ٚ‬ػٕ‪ٛ‬أٗ ‪ٚ‬ؽبٌزٗ‪.‬‬ ‫‪11‬‬ ‫‪Direct Memory Access Structure‬‬ ‫٘‪ ٟ‬ػٍّ‪١‬خ ٔمً ِجبشش ث‪ ٓ١‬أؽ‪ٙ‬ضح اٌذخً ‪ٚ‬اٌخشط ‪ٚ‬اٌزاوشح اٌشئ‪١‬غ‪١‬خ د‪ ْٚ‬رذخً اٌّؼبٌظ ‪ ٚ‬رُذاس ٘زٖ‬ ‫اٌؼٍّ‪١‬خ ػٓ ؽش‪٠‬ك اي ‪ device controller‬اٌخبص ثبٌزاوشح اٌشئ‪١‬غ‪١‬خ‪.‬‬ ‫ رغزخذَ ألع‪ٙ‬ضح ‪ I/O‬ػبٌ‪١‬خ اٌغشػخ اٌمبدسح ػٍ‪ ٝ‬ئسعبي اٌّؼٍ‪ِٛ‬بد ثغشػخ لش‪٠‬جخ ِٓ عشػخ اي ‪.RAM‬‬ ‫ ‪ٕ٠ Device controller‬مً ‪ ِٓ blocks of data‬اٌّخبصْ اٌّإلزخ ‪ buffer‬ثشىً ِجبشش اٌ‪ٝ‬‬ ‫اٌزاوشح اٌشئ‪١‬غ‪١‬خ د‪ ْٚ‬رذخً اي ‪.CPU‬‬ ‫ ▪‪٠‬زُ ئٔشبء ِمبؽؼخ ‪ٚ‬اؽذح فمؾ ٌىً ‪ ،block‬ثذال ِٓ اٌّمبؽؼخ ‪ٚ‬اؽذح ٌىً ثب‪٠‬ذ ‪.‬‬ ‫‪12‬‬ ‫٘شِ‪١‬خ اٌزاوشح‬ ‫رزى‪٘ ْٛ‬شِ‪١‬خ اٌزاوشح ِٓ اٌزبٌ‪:ٟ‬‬ ‫ ‬ ‫اٌّغغالد ‪registers‬‬ ‫‪‬‬ ‫اٌزاوشح اٌّخجأح (اٌىبػ) ‪cache‬‬ ‫‪‬‬ ‫اٌزاوشح اٌشئ‪١‬غ‪١‬خ(اٌشاَ) ‪main memory‬‬ ‫‪‬‬ ‫األلشاص اٌّّغٕطخ ‪magnetic disk‬‬ ‫‪‬‬ ‫األلشاص اٌؼ‪ٛ‬ئ‪١‬خ ‪optical disks‬‬ ‫‪‬‬ ‫األششؽخ اٌّّغٕطخ ‪magnetic tape‬‬ ‫‪‬‬ ‫ ٕ٘بٌه ػ‪ٛ‬اًِ رإصش ف‪٘ ٟ‬شِ‪١‬خ اٌزاوشح ٘‪: ٟ‬‬ ‫اٌزطب‪٠‬ش – اٌغشػخ ‪ -‬اٌغؼخ ‪ -‬اٌغؼش‪.‬‬ ‫ أػٍ‪ ٝ‬اٌ‪ٙ‬شَ‪٠ :‬خضْ اٌج‪١‬بٔبد رخض‪ٕ٠‬ب ِإلزب ‪٠‬ض‪ٚ‬ي ػٕذ ئغالق اٌؾبعت (ِزطب‪٠‬شح) ‪volatile‬‬ ‫ أعفً اٌ‪ٙ‬شَ‪٠ :‬خضْ اٌج‪١‬بٔبد رخض‪ٕ٠‬ب دائّب ال ‪٠‬ض‪ٚ‬ي (غ‪١‬ش ِزطب‪٠‬شح (‪non-volatile‬‬ ‫‪13‬‬ ‫‪ٚ‬اع‪ٙ‬خ ٔذاء إٌظبَ (‪)system call interface‬‬ ‫٘‪ ٛ‬ػجبسح ػٓ ‪٠Programming Interface‬غّؼ ٌٍجشِغ‪١‬بد ‪ ٚ‬اٌزطج‪١‬مبد ثأْ رطٍت خذِبد‬ ‫ِٓ ٔظبَ اٌزشغ‪ ٛ٘ ٚ ,ً١‬أ‪٠‬ؼب ػجبسح ػٓ ِغّ‪ٛ‬ػخ ِٓ االو‪ٛ‬اد اٌّخضٔخ ف‪ ٟ‬عذ‪ٚ‬ي ‪٠ ,‬ؾز‪٘ ٞٛ‬زا‬ ‫اٌغذ‪ٚ‬ي ػٍ‪ ٝ‬ؽمٍ‪ : ٓ١‬اٌؾمً األ‪ٚ‬ي سلُ اٌّمبؽؼخ ‪ٚ‬اٌؾمً اٌضبٔ‪ ٛ٘ ٟ‬أو‪ٛ‬اد اٌّمبؽؼخ ‪.‬‬ ‫ و‪١‬ف‪ ٗ١‬ػًّ ٔذاءاد إٌظبَ‬ ‫ ‪٠‬زُ رٕف‪١‬ز ٔذاء إٌظبَ ف‪ٚ ٟ‬ػغ إٌ‪ٛ‬اح ‪ٌٚ kernel mode‬ىً اعزذػبء ٔظبَ سلُ ِشرجؾ ثٗ‪:‬‬ ‫‪٠.1‬شعً ٘زا اٌشلُ ئٌ‪ ٝ‬إٌ‪ٛ‬اح ٌ‪١‬ؼشف ٔظبَ اٌزشغ‪ِ ً١‬ب ٘‪ ٛ‬اعزذػبء إٌظبَ اٌّطٍ‪ٛ‬ة‪.‬‬ ‫‪.2‬ػٕذِب ‪٠‬شعً اٌّغزخذَ ٘زا اٌشلُ ف‪ ٛٙ‬ف‪ ٟ‬اٌؾم‪١‬م‪١‬خ ‪٠‬غزذػ‪ ٝ‬س‪ٚ‬ر‪ِ ٓ١‬ىزجخ (‪،( library routine‬‬ ‫ف‪١‬م‪ َٛ‬اٌش‪ٚ‬ر‪ ٓ١‬ثاسعبي ِمبؽؼخ (‪ٌٕ )issues a trap‬ظبَ اٌزشغ‪ ،ً١‬صُ ‪ّ٠‬شس سلُ االعزذػبء ‪ِٚ‬ؼط‪١‬برٗ‬ ‫ئٌ‪ ٝ‬إٌ‪ٛ‬اح ثبعزخذاَ ِغغالد ِؼ‪ٕ١‬خ ‪.‬‬ ‫‪.3‬رم‪ َٛ‬إٌ‪ٛ‬اح ثزٕف‪١‬ز اٌش‪ٚ‬ر‪ٚ ٓ١‬رشعً إٌزبئظ ٌٍّغزخذَ ػجش ِغغً ِؼ‪.ٓ١‬‬ ‫‪.4‬ئرا وبٔذ إٌزبئظ وج‪١‬شح اٌؾغُ ال ‪٠‬غزط‪١‬غ اٌّغغً رخض‪ٕٙ٠‬ب‪ ،‬عزشعً ثطش‪٠‬مخ أخش‪ِ ٜ‬ضً اعزذػبء‬ ‫اٌش‪ٚ‬ر‪ٌ copy_to_user ٓ١‬زخض‪ٕٙ٠‬ب ف‪ِٛ ٟ‬لغ ِب ثبٌزاوشح‪.‬‬ ‫‪14‬‬ ‫‪Single & Multi Processing‬‬ ‫‪ِ ٛ٘ٚ :Single Processor‬ؼبٌظ ‪٠‬غزخذَ ػٕذِب ‪٠‬ى‪ٌٍ ْٛ‬ؾبعت أ‪ ٚ‬اٌغ‪ٙ‬بص اٌّشاد ثشِغزٗ ٘ذف ػبَ‬ ‫‪ٚ‬ؽ‪١‬ذ ‪٠‬ؼًّ ػٍ‪ٙ٠ٚ ٗ١‬زُ ثٗ ‪.‬‬ ‫‪ :Multi Processors‬رؼشف األٔظّخ اٌخبطخ ث‪ٙ‬ب ثبألٔظّخ اٌزفشػ‪١‬خ )‪ ) Parallel Systems‬أ‪ٚ‬‬ ‫)‪ٚ ) tightly-coupled systems‬اٌّؼٕ‪ ٝ‬ثبٌٕ‪ٙ‬ب‪٠‬خ ‪ٚ‬اؽذ ‪ ,‬ؽ‪١‬ش ‪٠‬ى‪ٌ ْٛ‬ذ‪ٕ٠‬ب أوضش ِٓ ِؼبٌظ ػّٓ‬ ‫ٔطبق ارظبي ِزمبسة ‪٠ٚ‬زشبسو‪ِٛ ْٛ‬اسد اٌؾبعت (ٍِؾمبد – راوشح – ٔ‪ٛ‬الً ‪(... ،Bus‬‬ ‫‪ٚ‬رُ اعزخذاَ ٘زا إٌ‪ٛ‬ع ِٓ اٌّؼبٌغبد ف‪ ٟ‬اٌجذا‪٠‬خ ِغ اٌّخذِّبد ‪ services‬صُ أخز ‪ٕ٠‬زشش ش‪١‬ئب فش‪١‬ئب ِغ‬ ‫ثبل‪ ٟ‬أع‪ٙ‬ض ح اٌؾبعت وبٌؾ‪ٛ‬اعت اٌّىزج‪١‬خ أ‪ ٚ‬ؽز‪ ٝ‬اٌّؾّ‪ٌٛ‬خ ‪ٚ‬اٌ‪ َٛ١‬أطجؾٕب ٔش‪ ٜ‬أ‪٠‬ؼب أْ اٌّؼبٌغبد‬ ‫اٌّزؼذدح ‪ٚ‬طٍذ ئٌ‪ ٝ‬اٌ‪ٛٙ‬ارف اٌزو‪١‬خ‬ ‫ِٓ ِ‪١‬ضاد اٌّؼبٌغبد اٌّزؼذدح ‪:‬‬ ‫▪ ص‪٠‬بدح اإلٔزبع‪١‬خ ‪.‬أ‪ ٞ‬ػًّ أوضش خالي صِٓ أل ًّ ‪.‬‬ ‫▪ الزظبد‪ ِٓ ٞ‬ؽ‪١‬ش اٌىٍفخ ‪ٚ‬اٌز‪ٛ‬ف‪١‬ش ‪.‬‬ ‫▪ ‪ٚ‬ص‪ٛ‬ل‪١‬خ أوضش‪ :‬أ‪ ٞ‬ػٕذِب ‪٠‬ؼًّ ٔظبَ ِؼ‪ ّٓ١‬ػٍ‪ ٝ‬أوضش ِٓ ِؼبٌظ فاْ فشً ِؼبٌظ ِب ثشىً‬ ‫فغبئ‪٠ ٌٓ ٟ‬إد‪ ٞ‬ئٌ‪ ٝ‬ر‪ٛ‬لف ػًّ إٌظبَ وىً ثً ػٍ‪ ٝ‬األوضش ِٓ اٌّّىٓ أْ ‪٠‬إد‪ ٞ‬رٌه ئٌ‪ٝ‬‬ ‫ثطئ ػبَ‪،‬‬ ‫‪15‬‬ ‫اٌّؼبٌغبد اٌّزؼذدح ‪Multi Processors‬‬ ‫‪ٛ٠‬عذ ٔ‪ٛ‬ػبْ ٌٍّؼبٌغبد اٌّزؼذدح ‪:‬‬ ‫اٌّؼبٌغبد اٌّزّبصٍخ )‪Symmetric multiprocessing (SMP‬‬ ‫ٕ٘ب وً اٌّؼبٌغبد ِزغب‪٠ٚ‬خ ‪ٕ٠ٚ‬فز وً ِؼبٌظ ِ‪ّٙ‬خ ِٕفظٍخ‪ٚ ،‬رزظً ٘زٖ اٌّؼبٌغبد ِغ ثؼؼ‪ٙ‬ب‬ ‫ػٕذ اٌؾبعخ‪٠.‬ؾغض وً ِؼبٌظ ِغغالرٗ اٌخبطخ )‪ )Registers‬ثبإلػبفخ ئٌ‪ ٝ‬راوشح ِخجئ‪١‬خ‬ ‫خبطخ ثٗ‪ ،‬ث‪ّٕ١‬ب ِٓ ٔبؽ‪١‬خ ِ‪ٛ‬سد اٌزاوشح اٌف‪١‬ض‪٠‬بئ‪١‬خ )‪ )Physical Memory‬رم‪َٛ‬‬ ‫اٌّؼبٌغبد ثبٌزشبسن ثٗ‪.‬‬ ‫اٌّؼبٌغبد غ‪١‬ش اٌّزّبصٍخ ‪Asymmetric multiprocessor‬‬ ‫‪ٛ٠‬عذ ِؼبٌظ سئ‪١‬غ‪ٚ ٟ‬اؽذ ‪٠‬زؾىُ ف‪ ٟ‬إٌظبَ ‪ٕ٠ٚ‬فز ِ‪ّٙ‬خ سئ‪١‬غ‪١‬خ وج‪١‬شح‪ ،‬ث‪ّٕ١‬ب ثم‪١‬خ اٌّؼبٌغبد‬ ‫رٕفز ِب ‪٠‬أِش٘ب ثٗ اٌّؼبٌظ اٌشئ‪١‬غ‪ ،ٟ‬ف‪ ٛٙ‬لذ ‪٠‬مغُ اٌّ‪ّٙ‬خ اٌىج‪١‬شح ئٌ‪ ٝ‬أعضاء طغ‪١‬شح ‪ٛ٠‬صػ‪ٙ‬ب‬ ‫ػٍ‪ ٝ‬ثم‪١‬خ اٌّؼبٌغبد صُ ‪٠‬غّغ إٌزبئظ ثؼذ اٌزٕف‪١‬ز‪.‬‬ ‫‪Symmetric multiprocessing‬‬ ‫‪16‬‬ ‫اٌزظّ‪ ُ١‬صٕبئ‪ ٟ‬إٌ‪)Dual-core Design( ٜٛ‬‬ ‫ئْ إٌ‪ٛ‬ع اٌغبثك ِٓ اٌّؼبٌغبد اٌّزؼذدح وبْ ‪٠‬غزخذَ سلبلخ ‪ٌ chip‬ىً ِؼبٌظ ث‪ّٕ١‬ب ف‪ ٟ‬إٌّؾ اٌغذ‪٠‬ذ –‬ ‫اٌّؼبٌغبد ِزؼذدح األٔ‪٠ٛ‬خ ‪ multicore -‬فأطجؾٕب ٔغزخذَ سلبلخ ‪ٚ‬اؽذح ألوضش ِٓ ِؼبٌظ ثٕفظ اٌ‪ٛ‬لذ ( ِٓ‬ ‫اٌّّىٓ ‪ِّ )multichip & multicore‬ب ‪ٚ‬فش اٌطبلخ اٌّغز‪ٍٙ‬ىخ ‪ٚ‬صاد اٌفؼبٌ‪١‬خ ‪ٚ‬ثبٌزبٌ‪ ٟ‬ؽظٍٕب ػٍ‪ٝ‬‬ ‫عشػخ أوجش ‪.‬‬ ‫اٌغشػخ ف‪٘ ٟ‬زا إٌ‪ٛ‬ع ٘‪ ٟ‬ثغجت أْ اٌز‪ٛ‬اطً ث‪ ٓ١‬اٌّؼبٌغبد اٌّ‪ٛ‬ع‪ٛ‬دح ػٍ‪ ٝ‬سلبلخ ‪ٚ‬اؽذح ٘‪ ٛ‬أعشع ِٓ‬ ‫اٌز‪ٛ‬اطً ث‪ ٓ١‬اٌّؼبٌغبد اٌّ‪ٛ‬ع‪ٛ‬دح ػٍ‪ ٝ‬أوضش ِٓ سلبلخ‬ ‫‪One chip for tow core‬‬ ‫‪Four chips for four cpu’s‬‬ ‫‪17‬‬ ‫‪Multiprogramming vs multitasking‬‬ ‫‪Multiprogramming‬‬ ‫‪ ٟ٘ ‬ػش‪ٚ‬س‪٠‬خ ٌض‪٠‬بدح اٌفؼبٌ‪١‬خ‪ ،‬ألٔٗ ال ‪ّ٠‬ىٓ ٌٍّؼبٌظ ‪ ٚ‬ألع‪ٙ‬ضح اٌذخً‬ ‫‪ٚ‬اٌخشط أْ ‪٠‬ى‪ِ ٓ١ٔٛ‬شغ‪ ٓ١ٌٛ‬ف‪ ٟ‬آْ ‪ٚ‬اؽذ ؽ‪ٛ‬اي اٌ‪ٛ‬لذ ‪ ,‬فالثذ ِٓ‬ ‫أ‪ٚ‬لبد أْ ‪٠‬ى‪ٔٛ‬ب ف‪ٙ١‬ب ‪ٕ٠‬زظشاْ أػّبي أ‪ ٚ‬ف‪ ٟ‬ؽبٌخ فشاؽ فؼٕذ٘ب ‪٠‬غت ٍِئ‬ ‫٘زا اٌفشاؽ ثأػّبي أخش‪.ٜ‬‬ ‫‪ٚ‬رم‪٘ َٛ‬زٖ اٌزمٕ‪١‬خ ث‪ٛ‬ػغ اٌّ‪ٙ‬بَ ف‪ ٟ‬اٌزاوشح ‪ ِٓٚ‬صُ رم‪ َٛ‬ثغؾج‪ٙ‬ب‬ ‫‪ٚ‬اؽذح رٍ‪ ٛ‬األخش‪ ٜ‬ثطش‪٠‬مخ اي ‪ٕ١ٌ job scheduling‬فز٘ب اٌّؼبٌظ‪ٚ ,‬ف‪ٟ‬‬ ‫ؽبٌخ اٌّؼبٌظ وبْ ف‪ ٟ‬ؽبٌخ أزظبس فأٗ ‪٠‬م‪ َٛ‬ثزٕف‪١‬ز ػًّ آخش ‪ٚ‬رٌه ثأِش‬ ‫ِٓ ٔظبَ اٌزشغ‪ ,ً١‬أ‪ ٞ‬أْ اٌّؼبٌظ ‪٠‬م‪ َٛ‬ثبعزغالي اٌ‪ٛ‬لذ اٌّ‪ٙ‬ذ‪ٚ‬س ف‪ٟ‬‬ ‫أزظبس ػٍّ‪١‬بد أخش‪. ٜ‬‬ ‫‪ ِٓ‬األِضٍخ ٌ‪ٙ‬زا إٌ‪ٛ‬ع ٔظبَ اٌزشغ‪ٕ٠ٚ ً١‬ذ‪ٚ‬ص ‪XP‬‬ ‫‪‬ػٍ‪ ٝ‬ػىظ اٌّؼبٌظ ف‪ ٟ‬رمٕ‪١‬خ ‪non-multiprogrammed‬‬ ‫‪ system‬فاْ اٌّؼبٌظ ع‪١‬جم‪ ٝ‬ف‪ ٟ‬ؽبٌخ خّ‪ٛ‬ي ‪ٚ‬رٌه ػٕذ أزظبسٖ ٌزٕف‪١‬ز‬ ‫ِ‪ّٙ‬خ ِب‪ ِٓ ,‬األِضٍخ ٌ‪ٙ‬زا إٌ‪ٛ‬ع ٔظبَ اٌزشغ‪.)DOS( ً١‬‬ ‫‪18‬‬ ‫‪Multiprogramming vs Multitasking‬‬ ‫)‪Timesharing (Multi-tasking‬‬ ‫‪٠‬م‪ َٛ‬اٌّؼبٌظ ثخذِخ اٌؼذ‪٠‬ذ ِٓ اٌّ‪ٙ‬بَ ف‪ٚ ٟ‬لذ ‪ٚ‬اؽذ ‪ٚ‬رٌه ثاػطبء وً ِ‪ّٙ‬خ ؽظخ صِٕ‪١‬خ لظ‪١‬شح‬ ‫رغّ‪.)quantum) ٝ‬‬ ‫‪٠ٚ ‬زٕمً اٌّؼبٌظ ث‪ ٓ١‬اٌّ‪ٙ‬بَ ثغشػخ ػبٌ‪١‬خ عذا ٌذسعخ أْ وً ِ‪ّٙ‬خ رؼًّ ‪ٚ‬وأٔ‪ٙ‬ب رغزخذَ اٌّؼبٌظ‬ ‫ٌ‪ٛ‬ؽذ٘ب‪.‬‬ ‫‪ٚ‬ششؽ ف‪ ٟ‬اي ‪ Time sharing‬أْ ‪٠‬ى‪ٌ ْٛ‬ىً ِغزخذَ ػٍ‪ ٝ‬األلً ِ‪ّٙ‬خ ‪ٚ‬اؽذح ف‪ ٟ‬اٌزاوشح ‪ٚ‬ف‪ ٟ‬ؽبي‬ ‫ؽٍت رٕف‪١‬ز أوضش ِٓ ػٍّ‪١‬خ ف‪ ٟ‬آْ ‪ٚ‬اؽذ ف‪ٕٙ‬ب ‪٠‬أر‪ ٟ‬د‪ٚ‬س ا ي ‪ٌ CPU Scheduling‬زٕظ‪٘ ُ١‬زٖ اٌؼٍّ‪١‬خ‪.‬‬ ‫‪ٚ‬ف‪ ٟ‬ؽبي ػذَ ارغبع اٌزاوشح ٌٍؼٍّ‪١‬بد ف‪١‬زُ ‪ٚ‬ػغ ثؼغ اٌؼٍّ‪١‬بد ف‪ ٟ‬اي ‪Virtual memory‬‬ ‫‪ٚ‬اٌز‪ ٟ‬رغّؼ أْ ‪٠‬زُ رٕف‪١‬ز عضء ِٓ اٌؼٍّ‪١‬بد خبسط اٌزاوشح‪.‬‬ ‫‪ٚ ‬اٌّ‪١‬ضح اٌشئ‪١‬غخ اٌز‪ ٟ‬رمذِ‪ٙ‬ب اٌز‪ٚ‬اوش االفزشاػ‪١‬خ ثأٔ‪ٙ‬ب رغّؼ ٌٍّغزخذِ‪ ٓ١‬ثزٕف‪١‬ز ثشاِظ ؽغّ‪ٙ‬ب أوجش‬ ‫ِٓ اٌزاوشح اٌف‪١‬ض‪٠‬بئ‪١‬خ‬ ‫‪19‬‬ ‫أّٔبؽ ػًّ ٔظبَ اٌزشغ‪ً١‬‬ ‫‪20‬‬ ‫اٌّإلذ ( ‪) timer‬‬ ‫ ِٓ ِ‪ٙ‬بَ ٔظبَ اٌزشغ‪ ً١‬اٌزؾىُ ف‪ ٟ‬اٌّؼبٌظ ‪ِٕٚ‬غ ثشاِظ اٌّغزخذِ‪ ِٓ ٓ١‬االعزئضبس ث‪ٙ‬زا اٌّ‪ٛ‬سد‬ ‫اٌ‪ٙ‬بَ ‪ٚ‬اٌؼًّ ٌّذح ؽ‪ٍ٠ٛ‬خ داخً اٌّؼبٌظ‪.‬‬ ‫ ئرا وبْ ٕ٘بٌه ثشٔبِظ ‪ٕ٠‬فز ف‪ ٟ‬رىشاس غ‪١‬ش ِٕز‪ infinite loop ٟٙ‬أ‪ ٚ‬اعزذػ‪ ٝ‬داٌخ خذِخ ‪ٌُٚ‬‬ ‫‪ُ٠‬ؼ‪١‬ذ اٌغ‪١‬طشح ٌٕظبَ اٌزشغ‪ ،ً١‬ف‪ٙ‬زا ‪٠‬غجت ئ٘ذاس ٌضِٓ اٌّؼبٌظ‪ٕ٘.‬ب الثذ ٌٕظبَ اٌزشغ‪ ِٓ ً١‬آٌ‪١‬خ‬ ‫رّىٕٗ ِٓ ر‪ٛ‬ل‪١‬ف ِضً ٘زٖ اٌجشاِظ‪ٚ ،‬وبْ اٌّإلذ ‪ ٛ٘ timer‬اٌؾً‪.‬‬ ‫و‪١‬ف ‪٠‬ؼًّ اٌّإلذ‪:‬‬ ‫لجً رشغ‪ ً١‬ثشٔبِظ اٌّغزخذَ ‪٠‬زأوذ ٔظبَ اٌزشغ‪ ِٓ ً١‬أْ اٌّإلذ ِشرجؾ ِغ ِمبؽؼخ‪.‬‬ ‫‪‬‬ ‫‪٠‬زُ ئػذاد اٌّإلذ ٌ‪١‬ظذس اٌّمبؽؼخ ثؼذ فزشح ِؾذدح (ال رض‪٠‬ذ ػٓ صبٔ‪١‬خ)‪.‬‬ ‫‪‬‬ ‫‪٠‬ى‪ٕ٘ ْٛ‬بٌه ػذاد ‪ٚ‬عبػخ ٌؾغبة ٘زٖ اٌفزشح‪.‬‬ ‫‪‬‬ ‫‪٠ ‬م‪ٔ َٛ‬ظبَ اٌزشغ‪ ً١‬ثزغ‪١ٙ‬ض اٌؼذاد‪.‬‬ ‫‪ ‬وً دلخ عبػخ رٕمض اٌؼذاد‪.‬‬ ‫‪ ‬ػٕذِب ‪٠‬ظً اٌؼذاد طفش رظذس اٌّمبؽؼخ ‪ٕ٠ٚ‬زمً اٌزؾىُ رٍمبئ‪١‬ب ئٌ‪ٔ ٝ‬ظبَ اٌزشغ‪.ً١‬‬ ‫ٌٕظبَ اٌزشغ‪ ً١‬ؽك اٌزظشف ف‪ ٟ‬اػزجبس أْ ٘زٖ اٌّمبؽؼخ خطأ عغ‪fatal error ُ١‬أ‪ ٚ‬لذ ‪٠‬ؼط‪ٟ‬‬ ‫‪‬‬ ‫اٌجشٔبِظ ِ‪ٍٙ‬خ أوضش (ص‪٠‬بدح صِٓ)‪.‬‬ ‫‪21‬‬ ‫ِ‪ٙ‬بَ ٔظبَ اٌزشغ‪ً١‬‬ ‫ ‪٠‬م‪ٔ َٛ‬ظبَ اٌزشغ‪ ً١‬ثبٌّ‪ٙ‬بَ اٌزبٌ‪١‬خ ‪:‬‬ ‫‪ Process management‬ئداسح اٌؼٍّ‪١‬بد ‪ :‬ػٓ ؽش‪٠‬ك ِذ‪٠‬ش اٌؼٍّ‪١‬بد ‪.‬‬ ‫‪.1‬‬ ‫‪ Memory management‬ئداسح اٌزاوشح اٌشئ‪١‬غ‪١‬خ ‪ :‬ػٓ ؽش‪٠‬ك ِذ‪٠‬ش اٌزاوشح‪.‬‬ ‫‪.2‬‬ ‫‪ File-system Management‬ئداسح اٌٍّفبد ‪ :‬ػٓ ؽش‪٠‬ك ِذ‪٠‬ش اٌٍّفبد‪.‬‬ ‫‪.3‬‬ ‫‪ Device Management‬أداسح األع‪ٙ‬ضح ‪ :‬ػٓ ؽش‪٠‬ك ِذ‪٠‬ش األع‪ٙ‬ضح اٌز‪٠ ٞ‬مغُ ئٌ‪ٝ‬‬ ‫‪.4‬‬ ‫‪ Mass-Storage Management ‬ئداسح اٌزخض‪.ٓ٠‬‬ ‫‪ I/O Management ‬أداسح أع‪ٙ‬ضح اٌذخً ‪ٚ‬اٌخشط ‪.‬‬ ‫‪ Protection and Security‬األِٓ ‪ٚ‬اٌؾّب‪٠‬خ ‪.‬‬ ‫‪.5‬‬ ‫عٕم‪ َٛ‬ثذساعخ وً ِٕ‪ٙ‬ب ثبٌزفظ‪ً١‬‬ ‫‪22‬‬ ‫‪ Process management‬ئداسح اٌؼٍّ‪١‬بد‬ ‫ ِب ٘‪ ٟ‬اٌـ ‪ ٟ٘ :process‬ػجبسح ػٓ ثشٔبِظ ‪ source code‬ف‪ ٟ‬ؽ‪١‬ض اٌزٕف‪١‬ز‪.‬‬ ‫ ِظطٍؼ ‪ process termination‬أ‪ ٚ‬ػٍّ‪١‬خ أ‪ٙ‬بء رٕف‪١‬ز اٌـ ‪ِ process‬ب ٘‪ ٟ‬ئال ػٍّ‪١‬خ رؾش‪٠‬ش‬ ‫ٌغّ‪١‬غ اٌّ‪ٛ‬اسد اٌز‪ ٟ‬رغز‪ٍٙ‬ى‪ٙ‬ب اٌؼٍّ‪١‬خ إٌّ‪١ٙ‬خ ‪ٚ‬اٌمبثً اعزخذِ‪ٙ‬ب ٌؼٍّ‪١‬بد أخش‪. ٜ‬‬ ‫ ئْ ٔظبَ اٌزشغ‪ِ ً١‬غإ‪ٚ‬ي ػٓ ػذد ِٓ األٔشطخ اٌّشرجطخ ثؼٍّ‪١‬خ ئداسح اٌؼٍّ‪١‬بد‪٘ ِٓ ,‬زٖ األٔشطخ‪:‬‬ ‫▪ ئٔشبء ‪ ٚ‬ئٔ‪ٙ‬بء اٌـ ‪ process‬اٌّفؼٍخ ِٓ لجً ‪ user‬أ‪ ٚ‬اٌخبطخ ثبي ‪ system‬ثؾذ رارٗ ‪.‬‬ ‫▪ اإل‪٠‬مبف اٌّإلذ ٌزٕف‪١‬ز اي ‪ٚ process‬اعزئٕبف اٌزٕف‪١‬ز ِٓ ؽ‪١‬ش رُ ئ‪٠‬مبفٗ ‪.‬‬ ‫▪ ئ‪٠‬غبد ا‪١ٌ٢‬خ إٌّبعجخ ِٓ أعً رضآِ اٌؼٍّ‪١‬بد ‪.process synchronization‬‬ ‫▪ئ‪٠‬غبد ا‪١ٌ٢‬خ إٌّبعجخ ِٓ أعً اٌز‪ٛ‬اطً ث‪ ٓ١‬اٌؼٍّ‪١‬بد ‪.process communication‬‬ ‫▪ئ‪٠‬غبد ا‪١ٌ٢‬خ إٌّبعجخ ِٓ أعً ‪.deadlock handling‬‬ ‫‪23‬‬ ‫‪ Memory management‬ئداسح اٌزاوشح اٌشئ‪١‬غ‪١‬خ‬ ‫ ثّب أْ اي ‪ِ ٟ٘ process‬غّ‪ٛ‬ػخ ِٓ ‪ ،instructions‬فالثذ أْ رى‪٘ ْٛ‬زٖ اٌزؼٍ‪ّ١‬بد أ‪ ٚ‬عضء ِٕ‪ٙ‬ب‬ ‫ػّٓ اٌزاوشح ‪ RAM‬ػٕذِب ‪٠‬جذأ اٌزٕف‪١‬ز ‪.‬‬ ‫ِٓ ػٍّ‪١‬بد ئداسح اٌزاوشح ٘‪ ٟ‬رؾذ‪٠‬ذ ِب ‪ٛ٠‬عذ ػّٓ اٌزاوشح ‪ِٚ‬ز‪ٛ٠ ٝ‬عذ‪ِّ ،‬ب ‪٠‬م‪ َٛ‬ثزؾغ‪ٓ١‬‬ ‫اعزخذاَ اٌّؼبٌظ ‪ٚCPU‬رؾغ‪ ٓ١‬اعزغبثخ اٌؾبع‪ٛ‬ة ٌٍّغزخذِ‪. ٓ١‬‬ ‫ ِٓ األٔشطخ اٌز‪ ٟ‬رؼٕ‪ ٝ‬ف‪ٙ١‬ب اٌـ ‪ Memory Management‬أ‪٠‬ؼب‪:‬‬ ‫▪ رزجغ عّ‪١‬غ أعضاء اٌزاوشح اٌز‪ ٟ‬رؼًّ ف‪ ٟ‬اٌ‪ٛ‬لذ اٌشا٘ٓ ‪ِٚ‬ؼشفخ ٘‪٠ٛ‬خ اٌؼٍّ‪١‬بد اٌؼبٍِخ ث‪ٙ‬ب ‪.‬‬ ‫▪ رؾذ‪٠‬ذ أ‪ ٞ‬اٌـ ‪ ٚ processes‬أ‪٠ data ٞ‬غت أْ رذخً ئٌ‪ ٝ‬اي ‪ٚ ،RAM‬أ‪ٙ٠‬ب ‪٠‬غت أْ ٔؾشس‬ ‫اٌزاوشح ِٕ‪ٙ‬ب ‪.‬‬ ‫▪ رخظ‪١‬ض ‪ٚ‬رؾش‪٠‬ش ِغبؽبد ِٓ اٌزاوشح ؽغت اٌؾبعخ ‪.‬‬ ‫‪24‬‬ ‫‪ File-system Management‬ئداسح اٌٍّفبد‬ ‫ ٔظبَ اٌزشغ‪٠ ً١‬إِٓ ؽش‪٠‬مخ ِ‪ٛ‬ؽذح ‪ِٕٚ‬طم‪١‬خ ٌزخض‪ ٓ٠‬اٌّؼٍ‪ِٛ‬بد ‪٠ٚ ,‬زُ رؾم‪١‬ك ٘زا األِش ِٓ خالي‪:‬‬ ‫‪‬ػٍّ‪١‬خ رغش‪٠‬ذ اٌخظبئض اٌف‪١‬ض‪٠‬بئ‪١‬خ ٌٍّؼٍ‪ِٛ‬بد ٌ‪١‬زُ رخض‪ٕٙ٠‬ب ث‪ٛ‬ؽذاد ِٕطم‪١‬خ ػٍ‪ ٝ‬شىً ٍِفبد ‪.files‬‬ ‫‪‬وً ث‪١‬ئخ رخض‪١ٕ٠‬خ ‪٠‬زُ اٌزؾىُ ث‪ٙ‬ب ِٓ لجً ع‪ٙ‬بص ِؼ‪.)disk drive, tape drive ,,etc) ٓ١‬‬ ‫‪‬رٕ‪٠ٛ‬غ اٌخظبئض اٌز‪ ٟ‬رزّزغ ث‪ٙ‬ب وً ث‪١‬ئخ رخض‪١ٕ٠‬خ ‪ٚ‬اٌّزّضٍخ ة ‪access speed, capacity, data‬‬ ‫‪transfer rate‬‬ ‫ ‪ٚ‬ثّب أْ اٌّؼٍ‪ِٛ‬بد ف‪ٚ ٟ‬ؽذاد اٌزخض‪ ٓ٠‬رؼشع ثشىً ٍِفبد‪ ,‬رطٍت ٘زا األِش ‪ٚ‬ع‪ٛ‬د ‪File-System‬‬ ‫‪ِ( manager‬ذ‪٠‬ش اٌٍّفبد)‪ٚ ,‬رزّضً األٔشطخ اٌز‪٠ ٟ‬م‪ َٛ‬ث‪ٙ‬ب ثبٌزبٌ‪:ٟ‬‬ ‫‪ ▪(1‬ئٔشبء ‪ٚ‬ؽزف اٌٍّفبد ‪ٚ‬اٌـ ‪.directories‬‬ ‫‪▪ (2‬إٌمً ‪ٚ‬اٌزؼذ‪ ً٠‬ثبٌٍّفبد ‪ٚ‬اٌـ ‪.directories‬‬ ‫‪ ▪(3‬رٕظ‪ ُ١‬اٌٍّفبد ػّٓ ‪.directories‬‬ ‫‪▪ (4‬اٌزؾىُ ثظالؽ‪١‬بد اٌ‪ٛ‬ط‪ٛ‬ي ف‪ِ ٟ‬ؼظُ األٔظّخ ٌزؾذ‪٠‬ذ ِٓ ‪ّٕ٠‬ؼ عّبؽ‪١‬خ اٌ‪ٛ‬ط‪ٛ‬ي ‪ٚ‬ئٌ‪ِ ٝ‬برا ‪ّٕ٠‬ؼ ‪.‬‬ ‫‪▪ (5‬ػٍّ‪١‬خ ‪ٚ‬ػغ اٌٍّفبد ػٍ‪ٚ ٝ‬ؽذاد اٌزخض‪ ٓ٠‬اٌضبٔ‪٠ٛ‬خ ‪.secondary storage‬‬ ‫‪▪ (6‬ػٍّ‪١‬بد اي ‪ٌٍٍّ Backup‬فبد ػٍ‪ٚ ٝ‬ؽذاد اٌزخض‪ ٓ٠‬اٌّغزمشح اٌغ‪١‬ش ِزطب‪٠‬شح " ‪non-volatile‬‬ ‫‪25‬‬ ‫‪ Mass-Storage Management‬ئداسح اٌزخض‪.ٓ٠‬‬ ‫ ػبدح رغزخذَ األلشاص ِٓ أعً رخض‪ ٓ٠‬اٌج‪١‬بٔبد اٌز‪ ٟ‬ال رزغغ ػّٓ اٌز‪ٚ‬اوش اٌشئ‪١‬غ‪١‬خ أ‪ ِٓ ٚ‬أعً ؽفع‬ ‫اٌج‪١‬بٔبد ٌّذح صِٕ‪١‬خ ؽ‪ٍ٠ٛ‬خ ‪ٚ ,‬ثبٌزبٌ‪ ٟ‬فاْ اإلداسح اٌغٍ‪ّ١‬خ ٌؼٍّ‪١‬بد اٌزخض‪ ٟ٘ ٓ٠‬راد أّ٘‪١‬خ وج‪١‬شح ؽ‪١‬ش أْ‬ ‫عشػخ وبفخ اٌؼٍّ‪١‬بد إٌّفزح ػّٓ اٌؾبع‪ٛ‬ة ِزؼٍمخ ثبألٔظّخ اٌفشػ‪١‬خ ٌ‪ٙ‬زٖ األلشاص ‪ٚ‬اٌخ‪ٛ‬اسصِ‪١‬بد‬ ‫اٌّطجمخ ػّٕ‪ٙ‬ب‪.‬‬ ‫ األٔشطخ اٌز‪٠ ٟ‬ذ‪٠‬ش٘ب ٔظبَ اٌزشغ‪ ً١‬ف‪٘ ٟ‬زا اٌخظ‪ٛ‬ص ‪:‬‬ ‫ ▪ ئداسح ػٍّ‪١‬بد رؾش‪٠‬ش اٌّغبؽخ ‪.free space management‬‬ ‫ ▪ػٍّ‪١‬بد اي ‪ ٚmounting‬اي ‪. unmounting‬‬ ‫ ▪ػٍّ‪١‬بد اٌؾغض ِٓ أعً اٌزخض‪.storage allocation ٓ٠‬‬ ‫ ▪‪ٚ‬ػٍّ‪١‬بد اٌغذ‪ٌٚ‬خ ٌأللشاص ‪.disk scheduling‬‬ ‫ ▪ػٍّ‪١‬خ رغضئخ ‪ٚ‬ؽّب‪٠‬خ اٌمشص ‪.partitioning & protecting‬‬ ‫ِالؽظخ ‪ :‬ثؼغ أع‪ٙ‬ضح اٌزخض‪١ٌ ٓ٠‬ظ ِٓ اٌؼش‪ٚ‬س‪ ٞ‬أْ رؼًّ ثغشػخ ‪ِ ,‬ضً أع‪ٙ‬ضح اٌزخض‪ِ ٓ٠‬ب ثؼذ‬ ‫اٌضبٔ‪٠ٛ‬خ ‪ٚ tertiary storage‬اٌز‪ ٟ‬رشًّ ‪ٌٚoptical storage ,magnetic storage ,‬ىٕ‪ٙ‬ب‬ ‫ِب رضاي رؾزبط اإلداسح ِٓ لجً ٔظبَ اٌزشغ‪. ً١‬‬ ‫‪26‬‬ ‫‪ Caching‬راوشح اٌىبػ‬ ‫ ٘‪ ٟ‬راوشح عش‪٠‬ؼخ عذا رمبسة عشػخ اٌّؼبٌظ ‪ ,‬طغ‪١‬شح اٌؾغُ ‪ِ ٚ‬شرفؼخ اٌضّٓ‪.‬‬ ‫ ‪٠‬زُ أ‪ٚ‬ال فؾض اٌزخض‪ ٓ٠‬األعشع (راوشح اٌزخض‪ ٓ٠‬اٌّإلذ اٌىبػ) ف‪ّ١‬ب وبْ ‪٠‬ؾز‪ ٞٛ‬ػٍ‪ ٝ‬اٌّؼٍ‪ِٛ‬بد اٌز‪ٟ‬‬ ‫ٔش‪٠‬ذ٘ب ‪١ّٔٚ‬ض ؽبٌز‪: ٓ١‬‬ ‫✓ ئرا اؽز‪ٛ‬د اٌىبػ ِب ٔش‪٠‬ذ ‪ ,‬فبٌّؼٍ‪ِٛ‬بد رغزخذَ ِجبششح ِٓ اٌىبػ (ػٍّ‪١‬خ عش‪٠‬ؼخ )‪.‬‬ ‫✓ ئْ ٌُ رؾز‪ ٞٛ‬اٌىبػ ػٍ‪ِ ٝ‬ب ٔش‪٠‬ذ‪ ،‬رٕغخ اٌج‪١‬بٔبد ِٓ اٌزاوشح األثطأ ئٌ‪ ٝ‬اٌىبػ ‪ٚ‬رغزخذَ ٕ٘بن‪.‬‬ ‫‪‬اٌج‪١‬ئبد اٌز‪ ٟ‬رؼزّذ رؼذد‪٠‬خ اٌّ‪ٙ‬بَ ‪ multitasking‬الثذ أْ رى‪ ْٛ‬ؽش‪٠‬ظخ ف‪ ٟ‬اعزخذاِ‪ٙ‬ب ألؽذس ل‪ُ١‬‬ ‫اٌج‪١‬بٔبد ‪ٚ‬رٌه ثغغ إٌظش ػٓ ِىبْ رخض‪٘ ٓ٠‬زٖ اٌج‪١‬بٔبد ف‪ ٟ‬اٌزغٍغً اٌ‪ٙ‬شِ‪ٌٛ ٟ‬ؽذاد اٌزخض‪. ٓ٠‬‬ ‫‪ ‬اٌج‪١‬ئبد راد اٌّؼبٌغبد اٌّزؼذدح الثذ ِٓ أْ رإِٓ ػٍّ‪١‬خ اٌزشاثؾ ف‪ّ١‬ب ‪٠‬خض اي ‪cache‬أ‪ِ ٚ‬ب ‪٠‬ذػ‪ٝ‬‬ ‫‪cache coherency‬ثؾ‪١‬ش رظً أؽذس ل‪ّ١‬خ ِ‪ٛ‬ع‪ٛ‬دح ػٍ‪ ٝ‬اي ‪cache‬ئٌ‪ ٝ‬اٌّؼبٌغبد اٌّشوض‪٠‬خ اٌؼبٍِخ‪.‬‬ ‫‪‬ف‪ ٟ‬ث‪١‬ئبد إٌظُ اٌّ‪ٛ‬صػخ رؼزجش ِغأٌخ اٌىبػ أوضش رؼم‪١‬ذا ِٓ عبثمز‪ٙ١‬ب ‪ٚ‬رٌه إلِىبٔ‪١‬خ ‪ٚ‬ع‪ٛ‬د ػذح ٔغخ‬ ‫ِٓ اٌّؼط‪١‬بد اٌز‪٠ ٟ‬زُ اٌزؼبًِ ِؼ‪ٙ‬ب‪.‬‬ ‫‪27‬‬ ‫‪I/O Management‬أداسح أع‪ٙ‬ضح اٌذخً ‪ٚ‬اٌخشط ‪.‬‬ ‫أؽذ ِ‪ٙ‬بَ ٔظبَ اٌزشغ‪ ٟ٘ ً١‬ئخفبء خظ‪ٛ‬ط‪١‬بد األع‪ٙ‬ضح ػٓ اٌّغزخذِ‪.ٓ١‬‬ ‫‪٠‬ؼذ ‪ِ I/O Managemer‬غإ‪ٚ‬ال ػٓ ‪:‬‬ ‫‪.1‬ئداسح اٌزاوشح ف‪ّ١‬ب ‪٠‬خض اي ‪ ِٓٚI/O‬اٌؼٍّ‪١‬بد اٌز‪٠ ٟ‬ذ‪٠‬ش٘ب‪:‬‬ ‫‪ ٟ٘ٚ Buffering‬ػٍّ‪١‬خ رخض‪ ٓ٠‬اٌج‪١‬بٔبد ثشىً ِإلذ ئٌ‪ ٝ‬أْ ‪٠‬زُ ٔمٍ‪ٙ‬ب ِٓ أعً اٌزٕف‪١‬ز ‪.‬‬ ‫‪ ٟ٘ٚ Cashing‬ػٍّ‪١‬خ رخض‪ ٓ٠‬أعضاء ِٓ اٌج‪١‬بٔبد اٌ‪ٛ‬اسدح ف‪ٚ ٟ‬ؽذاد أعشع ثغ‪١‬خ رؾغ‪ ٓ١‬األداء ‪.‬‬ ‫‪ ٟ٘ٚ Spooling‬ػٍّ‪١‬خ اٌزؼبسة اٌؾبطً ث‪ ٓ١‬خشط ِ‪ّٙ‬خ ِب ‪ٚ‬دخً ِ‪ّٙ‬خ أخش‪. ٜ‬‬ ‫‪ٚ.2‬اع‪ٙ‬خ ػبِخ ٌٍـ ‪.device driver‬‬ ‫‪٠.3‬ؼذ أ‪٠‬ؼب ِغإ‪ٚ‬ال ػٓ اي ‪ٌّ drivers‬خزٍف األع‪ٙ‬ضح اٌّبد‪٠‬خ ‪.‬‬ ‫‪28‬‬ ‫‪ Protection and Security‬األِٓ ‪ٚ‬اٌؾّب‪٠‬خ‬ ‫‪ :Protection‬رؼشف ثأٔ‪ٙ‬ب أ‪ ٞ‬آٌ‪١‬خ رزؾىُ ثغّبؽ‪ّ١‬خ اٌ‪ٛ‬ط‪ٛ‬ي ٌٍّ‪ٛ‬اسد اٌّزبؽخ ِٓ لجً اي‬ ‫‪processes‬أ‪ ٚ‬اي ‪.users‬‬ ‫‪ :Security‬رؼشف ثأٔ‪ٙ‬ب ػٍّ‪١‬خ اٌذفبع ِٓ لجً إٌظبَ ػذ أ‪٘ ٞ‬غّبد داخٍ‪١‬خ أ‪ ٚ‬خبسع‪١‬خ‪.‬‬ ‫ِٓ أ‪ٚ‬ائً خط‪ٛ‬اد األِبْ ٘‪ ٟ‬ػٍّ‪١‬خ رظٕ‪١‬ف اٌّغزخذِ‪ٌ ٓ١‬زؾذ‪٠‬ذ ِٓ ‪ّ٠‬ىٕٗ فؼً ِبرا ‪ ,‬رزُ ٘زٖ اٌؼٍّ‪١‬خ‬ ‫ػٍ‪ ٝ‬اٌّشاؽً اٌزبٌ‪١‬خ‪:‬‬ ‫‪ ▪ (1‬رؼش‪٠‬ف ٘‪٠ٛ‬خ اٌّغزخذَ " ‪ٚ ”user IDs, security Ids‬اٌز‪ ٟ‬رزؼّٓ االعُ ‪associated ٚ‬‬ ‫‪number‬اٌخبص ثبٌّغزخذَ ‪.‬‬ ‫‪ ▪ (2‬ثؼذ رٌه ‪٠‬زُ سثؾ ‪ id‬اٌّغزخذَ ثغّ‪١‬غ اٌٍّفبد ‪ٚ‬اٌؼٍّ‪١‬بد ‪ٚ‬رٌه ٌ‪١‬زُ ئػطبؤٖ طالؽ‪١‬بد اٌ‪ٛ‬ط‪ٛ‬ي‬ ‫إٌّبعجخ ‪.‬‬ ‫‪ ▪ (3‬رؼش‪٠‬ف اٌّغّ‪ٛ‬ػبد " ‪ٚ ”group ID‬اٌز‪ ٟ‬رغّؼ ثزؼش‪٠‬ف ِغّ‪ٛ‬ػخ ِٓ اٌّغزخذِ‪ٚ ٓ١‬ئداسح‬ ‫ئِىبٔ‪١‬بر‪ ُٙ‬ف‪ ٟ‬اٌزؾىُ ‪ ِٓٚ,‬صُ سثؾ ٘زٖ اٌّغّ‪ٛ‬ػخ ثظالؽ‪١‬بد اٌ‪ٛ‬ط‪ٛ‬ي ئٌ‪ ٝ‬اٌٍّفبد ‪ٚ‬اي‬ ‫‪ processes‬اٌّشزشوخ ‪.‬‬ ‫‪ٚ ▪ (4‬أخ‪١‬شا اٌم‪١‬بَ ثض‪٠‬بدح اٌظالؽ‪١‬بد ‪ٚPrivilege escalation‬اٌز‪ ٟ‬رغّؼ ٌٍّغزخذَ ثزغ‪١‬ش اي ‪id‬‬ ‫اٌفؼبٌخ اٌخبطخ ثٗ ف‪ ٟ‬إٌظبَ ٌ‪١‬ؾظً ػٍ‪ ٝ‬طالؽ‪١‬بد أ‪ٚ‬عغ ‪.‬‬ ‫‪29‬‬ ‫٘‪١‬ىٍ‪١‬خ ٔ‪ٛ‬اح ٔظبَ اٌزشغ‪Kernel Data Structures ً١‬‬ ‫اٌـ ‪ٛٔ ٟ٘ kernel‬اح ٔظبَ اٌزشغ‪ ٟ٘ ٚ ً١‬اٌغضء اٌز‪٠ ٞ‬جم‪ ٝ‬ػبِال ف‪ ٟ‬اٌؾبعت ؽبٌّب ٌُ ‪٠‬زُ ئغاللٗ ‪,‬‬ ‫‪ ٟ٘ٚ‬اٌذِبؽ اٌّغإ‪ٚ‬ي ػٓ ئداسح ٔظبَ اٌزشغ‪٠ٚ ً١‬غّؼ ٌٍٕظبَ ‪ٚ‬ثؼغ اٌزطج‪١‬مبد ثبٌزؾىُ ثبٌّؼبٌظ‬ ‫‪ٚ‬اٌزاوشح‪ٚ ,‬رم‪ َٛ‬ثزٕغ‪١‬ك ‪ٚ‬ئداسح اٌذخً ‪ٚ‬اٌخشط ٌٍٕظبَ ‪ٚ,‬رٕظُ اٌؼاللخ ث‪ ٓ١‬إٌظبَ ‪ٚ‬األع‪ٙ‬ضح األخش‪ٜ‬‬ ‫اٌخبسع‪١‬خ ‪ٚ‬اٌذاخٍ‪١‬خ ِٕ‪ٙ‬ب ‪.‬‬ ‫ ثٕ‪١‬خ اٌّؼط‪١‬بد اٌخبطخ ثبي ‪ Kernal‬شج‪ٙ١‬خ رّبِب ثجٕ‪ ٝ‬اٌّؼط‪١‬بد اٌجشِغ‪١‬خ األعبع‪١‬خ‪ٔ ,‬زوش٘ب عش‪٠‬ؼب‪:‬‬ ‫‪30‬‬ ‫٘‪١‬ىٍ‪١‬خ ٔ‪ٛ‬اح ٔظبَ اٌزشغ‪Kernel Data Structures ً١‬‬ ‫ ؽ‪١‬ش رى‪ ْٛ‬األفشع اٌ‪١‬غبس‪٠‬خ => األفشع اٌ‪١ٕ١ّ١‬خ ‪.‬‬ ‫ رؼم‪١‬ذ اٌجؾش ػّٓ ٘زٖ اٌجٕ‪١‬خ ‪٠‬غب‪ ٞٚ‬ئٌ‪O(n) ٝ‬أِب ف‪ ٟ‬األشغبس اٌضٕبئ‪١‬خ اٌّز‪ٛ‬اصٔخ ‪٠‬ى‪ ْٛ‬اٌزؼم‪١‬ذ ِغب‪ٚ‬‬ ‫ئٌ‪O(lg n) ٝ‬‬ ‫‪31‬‬ ‫٘‪١‬ىٍ‪١‬خ ٔ‪ٛ‬اح ٔظبَ اٌزشغ‪Kernel Data Structures ً١‬‬ ‫ ِٓ أُ٘ ِ‪ٛ‬اطفبد اي ‪ Hash function‬ثأٔٗ ‪٠‬م‪ َٛ‬ثؼٍّ‪١‬خ اٌزشف‪١‬ش ثبرغبٖ ‪ٚ‬اؽذ‪ ,‬أ‪ ٞ‬ال ‪ّ٠‬ىٓ اٌزشاعغ‬ ‫أ‪ ٚ‬فه اٌزشف‪١‬ش‪.‬‬ ‫ ػٕذ ادخبي وٍّخ عش ِؼ‪ٕ١‬خ ثغشع رغغ‪ ً١‬دخ‪ٛ‬ي ِغزخذَ ِب‪٠ ,‬زُ رشف‪١‬ش وٍّخ اٌغش ٘زٖ ‪ ِٓٚ‬صُ رمبسْ‬ ‫ثبٌىٍّخ اٌّشفشح ‪ٚ‬اٌّ‪ٛ‬ع‪ٛ‬دح ثبي ‪ hash map‬ئرا ؽظً اٌزطبثك ‪٠‬زُ رغغ‪ ً١‬اٌذخ‪ٛ‬ي ثشىً عٍ‪.ُ١‬‬ ‫‪32‬‬ ‫٘‪١‬ىٍ‪١‬خ ٔ‪ٛ‬اح ٔظبَ اٌزشغ‪Kernel Data Structures ً١‬‬ ‫ ٘‪ ٟ‬أ‪٠‬ؼب أؽذ ثٕ‪ ٝ‬اٌّؼط‪١‬بد اٌّغزخذِخ ‪ٚ‬اٌز‪ّ٠ ٟ‬ىٓ رؼش‪٠‬ف‪ٙ‬ب ثأٔ‪ٙ‬ب عٍغٍخ ِؾشف‪ِ ٗ١‬إٌفخ ِٓ ػذد ‪n‬‬ ‫ِٓ اي ‪ٚ binary digits‬اٌز‪ ٟ‬رّضً ؽبٌخ ‪ n‬ػٕظش ِٓ اٌّ‪ٛ‬اسد ‪.‬‬ ‫ ‪ٚ‬ثبٌزبٌ‪ ٟ‬فاْ اٌّ‪ٛ‬لغ ‪ i‬ػّٓ ‪ِ bitmap‬شرجؾ ثؾبٌخ اٌّ‪ٛ‬سد ‪i.‬‬ ‫ ِضبي‪١ٌٚ :‬ىٓ ٌذ‪ٕ٠‬ب اي ‪Bitmap‬اٌزبٌ‪١‬خ ‪001011101‬‬ ‫‪‬ئرا ثذأٔب اٌؼذ ِٓ اٌظفش ‪ ِٓٚ‬اٌ‪١‬غبس‪ٚ ،‬ثبػزجبس أْ ‪ 0‬رؼٕ‪ ٟ‬أْ اٌّ‪ٛ‬سد ِزبػ ‪ٚ‬اي ‪ 1‬رؼٕ‪ ٟ‬أْ‬ ‫اٌّ‪ٛ‬سد غ‪١‬ش ِزبػ ‪.‬‬ ‫‪‬فٕغذ أْ اٌّ‪ٛ‬اسد ‪ 2,4,5,6,8‬عّ‪١‬ؼ‪ٙ‬ب ِ‪ٛ‬اسد غ‪١‬ش ِزبؽخ‪.‬‬ ‫‪‬أِب اٌّ‪ٛ‬اسد ‪ 0,1,3,7‬ف‪ِٛ ٟٙ‬اسد ِزبؽخ‪.‬‬ ‫‪33‬‬ Computing Environments ‫عجخ‬ٛ‫ئبد اٌؾ‬١‫ث‬ : ‫خ‬١ٌ‫ األلغبَ اٌزب‬ٌٝ‫عجخ ئ‬ٛ‫ئبد اٌؾ‬١‫ف ث‬١ٕ‫ّىٓ رظ‬٠ Traditional ‫خ‬٠‫ذ‬١ٍ‫اٌزم‬.1 Mobile ‫اٌّزٕمٍخ‬.2 Client-Server ْٛ‫اٌّخذَ – صث‬.3 Peer-to-Peer ‫إٌذ ٌٍٕذ‬.4 Virtualization ‫خ‬١‫ئخ االفزشاػ‬١‫اٌج‬.5 Cloud Computing ‫خ‬١‫عجخ اٌغؾبث‬ٛ‫اٌؾ‬.6 Real –Time Embedded Systems ٟ‫م‬١‫أٔظّخ اٌضِٓ اٌؾم‬.7 Distributed systems ‫صػخ‬ٌّٛ‫إٌظُ ا‬.8 34 ‫اٌزمٍ‪١‬ذ‪٠‬خ ‪Traditional‬‬ ‫ آالد لبئّخ ثزار‪ٙ‬ب ػبِخ األ٘ذاف ‪ٔ ,‬غزط‪١‬غ اٌم‪ٛ‬ي أ‪ٙ‬ب ٘‪ ٟ‬األع‪ٙ‬ضح اٌؼبد‪٠‬خ اٌز‪ٔ ٟ‬غزخذِ‪ٙ‬ب وبٌؾ‪ٛ‬اع‪١‬ت‬ ‫اٌشخظ‪١‬خ ‪.‬‬ ‫ اٌج‪ٛ‬اثبد )‪ ٟ٘ )Portals‬اٌز‪ ٟ‬ر‪ٛ‬فش ‪ٚ‬ط‪ٛ‬ي اٌ‪٠ٛ‬ت ٌألٔظّخ اٌذاخٍ‪١‬خ ‪.‬‬ ‫ األع‪ٙ‬ضح اٌشجى‪١‬خ )‪: )Network computers) (thin clients‬رؼًّ وّؾطخ اٌ‪٠ٛ‬ت ‪.‬‬ ‫ ‪:thin clients‬ػجبسح ػٓ ؽبع‪ٛ‬ة ػبد‪ٌ ٞ‬ىٕٗ ِظُّ العزخذاَ اٌشجىخ ثطش‪٠‬مخ خبطخ ‪ ,‬ؽبع‪ٛ‬ة ال‬ ‫ر‪ِ ُٙ‬ب ٘‪ِٛ ٟ‬اطفبرٗ ألْ وً اي ‪process‬اٌز‪ ٟ‬ع‪١‬م‪ َٛ‬ث‪ٙ‬ب ع‪١‬إد‪ٙ٠‬ب ػٍ‪ ٝ‬اي ‪server‬اٌز‪٠ ٞ‬زّزغ‬ ‫ثّ‪ٛ‬اطفبد ػبٌ‪١‬خ ‪.‬‬ ‫اٌّزٕمٍخ ‪Mobile‬‬ ‫ ‪ Mobile computers‬ؽبع‪ٛ‬ة ‪٠‬زظً ثبٌشجىخ ػٓ ؽش‪٠‬ك اي ‪ٚwireless‬أغٍت اٌؾ‪ٛ‬اع‪١‬ت األْ‬ ‫ِغ‪ٙ‬ضح ٌ‪ٙ‬زا األِش ‪.‬‬ ‫ِب ‪٠‬زّ‪١‬ض ثٗ اي ‪Mobile‬ػٓ اي ‪:Traditional‬‬ ‫ِ‪١‬ضاد ئػبف‪١‬خ ٌٕظبَ اٌزشغ‪ِ ً١‬ضً ‪Gyroscope ٚGPS‬‬ ‫ِٕبعت ألٔ‪ٛ‬اع عذ‪٠‬ذح ِٓ اٌزطج‪١‬مبد ِضً ‪augmented reality‬‬ ‫‪٠‬غزخذَ ‪ IEEE 802.11‬اٌالعٍى‪١‬خ أ‪ ٚ‬شجىبد اٌ‪ٙ‬برف اٌّؾّ‪ٛ‬ي ٌالرظبي ‪.‬‬ ‫ س‪ٚ‬اد اي ‪ّ٘Computing Environments – Mobile‬ب ‪Google Android ٚApple iOS‬‬ ‫‪35‬‬ ‫اٌّخذَ – صث‪Client-Server ْٛ‬‬ ‫ اٌـ ‪ ٛ٘ server‬ؽبع‪ٛ‬ة ثاِىبٔ‪١‬بد ػبٌ‪١‬خ ِغ‪ٙ‬ض ٌ‪١‬مذَ ِغّ‪ٛ‬ػخ خذِبد ِؾذدح ٌّغّ‪ٛ‬ػخ ِٓ اي ‪clients‬‬ ‫ػٓ ؽش‪٠‬ك اٌشجىخ ‪.‬‬ ‫ ‪ Dumb terminals‬رغزجذي ثبٌؾ‪ٛ‬اع‪١‬ت اٌزو‪١‬خ ‪.‬‬ ‫ ِؼظُ األٔظّخ ا‪ِ ٟ٘ ْ٢‬خذِبد رغزغ‪١‬ت ٌٍطٍجبد اٌّمذِخ ِٓ لجً اي ‪.clients‬‬ ‫ ‪٠ Compute-server system‬مذَ ‪ٚ‬اع‪ٙ‬خ ثبٌخذِبد اٌّزبؽخ ًٌ ‪.client‬‬ ‫ ‪٠ File-server system‬مذَ ‪ٚ‬اع‪ٙ‬خ ًٌ ‪ٌ client‬زخض‪ ٚ ٓ٠‬اعزشعبع اٌٍّفبد ‪.‬‬ ‫‪36‬‬ ‫إٌذ ٌٍٕذ ‪Peer-to-Peer‬‬ ‫ ف‪٘ ٟ‬زا إٌّ‪ٛ‬رط اٌّغزخذَ ‪٠‬ؼًّ ثشىً ِجبشش ِغ اٌّغزخذَ ا‪٢‬خش فال ‪ٛ٠‬عذ ‪.server ٚclient‬‬ ‫‪٠ ‬ؼزجش وً اٌؼمذ ( األع‪ٙ‬ضح ) أٔذاد ‪.‬‬ ‫‪٠ ‬غت أْ ‪٠‬زُ ‪ٚ‬طً وً ػمذح ِغ وً ػمذح أخش‪. ٜ‬‬ ‫‪ ‬وً ‪ node‬رزظشف وـ ‪ client‬أ‪ ٚ‬وـ ‪ server‬أ‪ٚ‬‬ ‫وىٍ‪ّٙ١‬ب ‪.‬‬ ‫‪ ‬وً ػمذح رؼغ خذِبر‪ٙ‬ب ف‪ ٟ‬اٌشجىخ ثزمٕ‪١‬خ اٌـ‬ ‫‪.central lookup‬‬ ‫‪ ‬وً ػمذح رجش ؽٍج‪ٙ‬ب ٌخذِخ ِؼ‪ٕ١‬خ ‪ٚ ,‬رغزغ‪١‬ت‬ ‫ٌٍطٍجبد ػجش اٌخذِخ ‪.discovery protocol‬‬ ‫ ِضبي ػٕ‪ٙ‬ب ‪ Voice over IP (VoIP) ٚ Gnutella ٚ Napster :‬وبٌغىب‪٠‬ت‪.‬‬ ‫‪37‬‬ ‫اٌج‪١‬ئخ االفزشاػ‪١‬خ ‪Virtualization‬‬ ‫‪ٔ‬ظبَ اٌزشغ‪ ً١‬األعبع‪ٌٍ ٟ‬غ‪ٙ‬بص ‪٠‬غزؼ‪١‬ف ٔظبَ رشغ‪ ً١‬عذ‪٠‬ذ ‪٠ ٚ‬ؼًّ وأٔٗ أعبع‪ ٟ‬أ‪٠‬ؼب‬ ‫‪ِ‬ضال اي ‪ُ٠VMware‬ش ِغً اي ‪ Linux‬وؼ‪١‬ف ‪ ,‬وً رطج‪١‬مبد اي ‪ّ٠ Linux‬ىٓ رشغ‪ٍٙ١‬ب د‪ ْٚ‬أْ ‪٠‬إصش ٘زا‬ ‫ػٍ‪ ٝ‬اٌؾبع‪ٛ‬ة ا‪ٔ ٚ‬ظبَ اٌزشغ‪ ً١‬األعبع‪ٚ , ٟ‬وً رطج‪١‬مبد ٔظبَ اٌزشغ‪ ً١‬األعبع‪ّ٠ ٟ‬ىٓ رشغ‪ٍٙ١‬ب‬ ‫‪ٛ٠ :VMM (virtual machine Manager) ‬فش خذِبد اٌّؾبوبح االفزشاػ‪١‬خ ‪.‬‬ ‫‪ ‬ػٕذِب أػغ ٔظبَ رشغ‪ ً١‬عذ‪٠‬ذ ف‪ٛ‬ق ٔظبَ اٌزشغ‪ ً١‬اٌؾبٌ‪ٌٍ ٟ‬غ‪ٙ‬بص فٕظبَ اٌزشغ‪ ً١‬األعبع‪ٌٍ ٟ‬غ‪ٙ‬بص ‪٠‬ش‪ ٜ‬إٌظبَ‬ ‫اٌغذ‪٠‬ذ وزطج‪١‬ك ػبد‪ٌ , ٞ‬ىٓ اٌّغزخذَ ػٕذ رطج‪١‬مٗ أل‪ ٞ‬أِش ػٍ‪ٔ ٝ‬ظبَ اٌزشغ‪ ً١‬اٌغذ‪٠‬ذ ‪٠‬ز‪ٛ‬لغ اْ ‪٠‬زُ رٕف‪١‬زٖ رّبِب‬ ‫وّب ٌ‪ ٛ‬أٔٗ ؽجك األِش ػٍ‪ٔ ٝ‬ظبَ اٌزشغ‪ ً١‬األعبع‪. ٟ‬‬ ‫‪ ‬ئرا ٔظبَ اٌزشغ‪ ً١‬األعبع‪٠ ٟ‬غت أْ ‪ّ٠‬زٍه أِىبٔ‪١‬بد ٌ‪١‬زؼبًِ ِغ إٌظبَ اٌغذ‪٠‬ذ ٌ‪١‬جذ‪ ٚ ٚ‬وأٔٗ آٌخ ِغزمٍخ رّبِب ‪,‬‬ ‫٘زا األِش ثؾبعخ إلداسح ‪ٕ٘ ٚ‬ب ‪٠‬أر‪ ٟ‬د‪ٚ‬س اي‪VMM‬‬ ‫‪38‬‬ ‫اٌؾ‪ٛ‬عجخ اٌغؾبث‪١‬خ ‪Cloud Computing‬‬ ‫ خذِبد اٌؾ‪ٛ‬عجخ ‪ ٚ‬اٌزخض‪ ٚ ٓ٠‬ؽز‪ ٝ‬اٌزطج‪١‬مبد أطجؾذ ِز‪ٛ‬فشح وخذِخ ػجش اٌشجىخ ‪.‬‬ ‫ رؼزجش اِزذاد ًٌ ‪Virtualization‬و‪ٙٔٛ‬ب رؼزّذ اي ‪Virtualization‬أعبط ٌٍّ‪ٙ‬بَ اٌز‪ ٟ‬رمذِ‪ٙ‬ب‪.‬‬ ‫ ث‪١‬ئبد اٌؾ‪ٛ‬عجخ اٌغؾبث‪١‬خ ‪ Cloud Computing‬رزأٌف ِٓ أٔظّخ اٌزشغ‪ ً١‬اٌزمٍ‪١‬ذ‪٠‬خ‪ ،‬ثبإلػبفخ ئٌ‪ٝ‬‬ ‫‪.VMM‬‬ ‫ ٔغزط‪١‬غ اٌم‪ٛ‬ي أْ ‪ ٟ٘Virtualization‬رمٕ‪١‬خ رمغ‪ ُ١‬اٌّ‪ٛ‬اسد ‪ ٚ‬ئػطبئ‪ٙ‬ب ي ‪ِ OS‬خزٍفخ‬ ‫أِب اي ‪ cloud‬ف‪ ٟٙ‬رؾذد ٌّٓ ألذَ اٌّ‪ٛ‬سد ف‪ ٟٙ‬رم‪ َٛ‬ثاداسح ًٌ ‪.Virtualization‬‬ ‫ أِضٍخ ػٓ اٌىال‪ٚ‬د )‪)IBM cloud – Google drive – Dropbox‬‬ ‫‪39‬‬ ‫أٔظّخ اٌضِٓ اٌؾم‪١‬م‪Real –Time Embedded Systems ٟ‬‬ ‫‪ ٟ٘‬أٔظّخ ِ‪ٛ‬ع‪ٛ‬دح ف‪ ٟ‬أع‪ٙ‬ضح رؾىُ ِضً‪ :‬أع‪ٙ‬ضح رغّ‪١‬غ اٌغ‪١‬بساد‪ِٕ ,‬ظبد ئؽالق اٌظ‪ٛ‬اس‪٠‬خ‪Robotics ,‬‬ ‫‪ ‬أوضش أشىبي األٔظّخ أزشبسا‬ ‫‪ِ‬زٕ‪ٛ‬ع األ٘ذاف ‪ ٚ‬االعزخذاِبد‬ ‫‪‬ثؼغ األع‪ٙ‬ضح ٌذ‪ٙ٠‬ب أٔظّخ اٌزشغ‪ ٚ ،ً١‬اٌجؼغ ‪٠‬م‪ َٛ‬ثبٌّ‪ٙ‬بَ د‪ٔ ْٚ‬ظبَ اٌزشغ‪ً١‬‬ ‫‪ٌ ‬ذ‪ٙ٠‬ب ل‪ٛ١‬د صِٕ‪١‬خ ِؾذدح ع‪١‬ذا‬ ‫‪٠‬غت أْ رزُ اٌّؼبٌغخ ػّٓ اٌم‪١‬ذ‬ ‫‪‬رى‪ ْٛ‬اٌؼٍّ‪١‬خ اٌظؾ‪١‬ؾخ فمؾ ئرا رؾممذ اٌم‪ٛ١‬د‬ ‫‪ِ‬ضال آالد عؾت اٌّبي ‪ ,‬ال ‪٠‬غت أْ ‪ٕ٠‬مض اٌشط‪١‬ذ لجً أْ رخشط إٌم‪ٛ‬د ِٓ ا‪ٌ٢‬خ ‪٠ ,‬غت أْ‬ ‫رخشط ثطبلخ اٌّغزخذَ ثؼذ خش‪ٚ‬ط اٌّبي ‪ ٚ‬اْ ‪٠‬ظذس ط‪ٛ‬د رٕج‪ ِٓ ٗ١‬ا‪ٌ٢‬خ ثٕفظ اٌ‪ٛ‬لذ ‪.‬‬ ‫‪40‬‬ ‫إٌظُ اٌّ‪ٛ‬صػخ ‪Distributed systems‬‬ ‫‪‬اٌؾ‪ٛ‬عجخ اٌّ‪ٛ‬صػخ ‪ ٟ٘ :‬ػٍّ‪١‬خ ر‪ٛ‬ص‪٠‬غ ‪ِٛ data‬ع‪ٛ‬دح ػٍ‪ ٝ‬ع‪ٙ‬بص ٌزى‪ ْٛ‬ػٍ‪ ٝ‬ػذح أع‪ٙ‬ضح ‪ ٚ‬وً ع‪ٙ‬بص‬ ‫‪٠‬م‪ َٛ‬ثبعزخذاِ‪ٙ‬ب ثشىً ِخزٍف الٔغبص ِ‪ّٙ‬خ ِب ‪.‬‬ ‫‪‬رؼشف ثأٔ‪ٙ‬ب ػٍّ‪١‬خ عّغ ألٔظّخ ِٕفظٍخ ‪ ٚ‬لذ رى‪ ْٛ‬غ‪١‬ش ِزغبٔغخ ‪ ٚ‬سثط‪ٙ‬ب ٌزؼًّ ِؼب ‪.‬‬ ‫‪‬اٌشجىخ ٘‪ ٟ‬ؽش‪٠‬مخ اٌز‪ٛ‬اطً ‪ ٚ ,‬اعزخذاَ ثش‪ٚ‬ر‪ٛ‬و‪ٛ‬ي اي ‪ ٛ٘TCP/IP‬األوضش ش‪ٛ١‬ػب ‪:‬‬ ‫)‪Local Area Network (LAN‬‬ ‫)‪Wide Area Network (WAN‬‬ ‫)‪Metropolitan Area Network (MAN‬‬ ‫)‪Personal Area Network (PAN‬‬ ‫‪ِ ِٓ ‬ضا‪٠‬ب ٔظبَ اٌزشغ‪ ً١‬اٌّ‪ٛ‬صع ‪:‬‬ ‫ ‪٠‬غّؼ ِخطؾ اٌز‪ٛ‬اطً ‪Communication scheme‬ثزجبدي اٌشعبئً ث‪ ٓ١‬األٔظّخ ‪.‬‬ ‫ ‪٠‬مذَ أطجبع أ‪ ٚ‬ئ‪ٙ٠‬بَ ثبٌؼًّ ػٍ‪ٔ ٝ‬ظبَ ‪ٚ‬اؽذ ‪.‬‬ ‫ ر‪ٛ‬ص‪٠‬غ اٌؾًّ ث‪٘ ٓ١‬زٖ اٌؾبعجبد (‪.)load balancing‬‬ ‫‪ ِٓ‬اٌؼ‪ٛ١‬ة‪ :‬صِٓ االرظبي ث‪ ٓ١‬أعضاء إٌظبَ لذ ‪٠‬إصش ػٍ‪ ٝ‬أداء إٌظبَ وىً‪.‬‬ ‫‪41‬‬ ‫ٔظُ اٌزشغ‪ ً١‬األوضش ش‪ٛ١‬ػب‬ ‫ ‪١ِ ‬ىش‪ٚ‬ع‪ٛ‬فذ ‪ٕ٠ٚ‬ذ‪ٚ‬ص ‪ٔ : windows‬غجخ ػبٌ‪١‬خ ِٓ اٌؾبعجبد رغزخذَ ‪ٕ٠ٚ‬ذ‪ٚ‬ص ‪ٚ‬اٌز‪ ٟ‬رؼًّ ػٍ‪ٝ‬‬ ‫ِؼبٌغبد ئٔزً ‪ٚ‬اٌّؼبٌغبد اٌّز‪ٛ‬افمخ ِؼ‪ٙ‬ب‪.‬ر‪ٛ‬عذ ِٕ‪ٙ‬ب ػذح ٔغخ‪ِ ،‬ضً ‪ٕ٠ٚ‬ذ‪ٚ‬ص ‪ٕ٠ٚٚXP‬ذ‪ٚ‬ص ف‪١‬غزب‬ ‫رغزخذَ ف‪ ٟ‬اٌؾ‪ٛ‬اع‪١‬ت اٌشخظ‪١‬خ ‪ِٚ ،‬ضً ‪ٕ٠ٚ‬ذ‪ٚ‬ص ‪ٕ٠ٚ ٚ advanced server‬ذ‪ٚ‬ص ‪2000‬اٌز‪ ٟ‬رغزخذَ‬ ‫ف‪ ٟ‬اٌخ‪ٛ‬ادَ ‪. servers‬‬ ‫ ‪ِ‬بوٕز‪ٛ‬ػ ‪: Mac‬طُّ ٌ‪١‬ؼًّ ػٍ‪ ٝ‬أع‪ٙ‬ضح أثً ِبوٕز‪ٛ‬ػ اٌز‪ ٟ‬رٕزشش ف‪ ٟ‬د‪ٚ‬س اٌطجبػخ ‪ٚ‬إٌشش‪ٛ٘ٚ ،‬‬ ‫ل‪ٚ ٞٛ‬ع‪ ًٙ‬االعزخذاَ ‪ٚ‬لذ أخزد ‪ٕ٠ٚ‬ذ‪ٚ‬ص فىشح إٌ‪ٛ‬افز ‪ٚ‬عطؼ اٌّىزت ِٓ ٘زا إٌظبَ ؽ‪١‬ش وبْ أ‪ٚ‬ي ٔظُ‬ ‫رشغ‪٠ ً١‬ذػُ اٌ‪ٛ‬اع‪ٙ‬بد اٌشع‪١ِٛ‬خ ‪ ٚ‬اال‪٠‬م‪ٔٛ‬بد ‪ٚ‬اٌم‪ٛ‬ائُ ػٍ‪ ٝ‬عطؼ ِىزت‪.‬‬ ‫ ‪١ٔٛ٠‬ىظ ‪: UNIX‬طُّ ف‪ ٟ‬ػبَ ‪ 1974‬ث‪ٛ‬اعطخ ‪Ken Thompson ٚDennis Ritchie‬ث‪ّٕ١‬ب‬ ‫وبٔب ‪٠‬ؼّالْ ف‪ِ ٟ‬ؼبًِ ‪AT & T Bell.‬وبْ اٌ‪ٙ‬ذف ٔظبَ رشغ‪ ً١‬طغ‪١‬ش ‪ِٚ‬زٕمً‪.‬صُ أٔزشش ف‪ ٟ‬اٌغبِؼبد‬ ‫ِشاوض اٌجؾ‪ٛ‬س ف‪ ٟ‬ػبَ ‪1980‬‬ ‫ ‪ٔ ِٓٚ‬غخ ‪ٕ٠‬ىظ اٌّش‪ٛٙ‬سح‪BSD - V Unix :‬‬ ‫ ‪ ٛ٘ٚ‬أ‪ٚ‬ي ٔظبَ رشغ‪٠ ً١‬ىزت ثبٌىبًِ ثٍغخ ثشِغخ ػبٌ‪١‬خ ‪ ، high level language‬ف‪ِ ٛٙ‬ىز‪ٛ‬ة ثٍغخ ‪C‬‬ ‫ ‪ ‬ر‪ٛ‬ص‪٠‬ؼبد ٌ‪ٕ١‬ىظ ‪ٔ ٟ٘: Linux‬غخخ ِظغشح ِٓ ‪ٕ٠‬ىظ طّّذ ٌزؼًّ ػٍ‪ ٝ‬اٌؾبعجبد اٌشخظ‪١‬خ‪،‬‬ ‫‪ِ ٛ٘ٚ‬فز‪ٛ‬ػ اٌّظذس ؽ‪١‬ش ‪٠‬ز‪١‬ؼ ؽش‪٠‬خ رؼذ‪ ً٠‬اٌشفشح ‪ٚ‬ئػبدح اٌز‪ٛ‬ص‪٠‬غ ‪ٛ٠ٚ.‬عذ ِٕ‪ٙ‬ب ِئبد اٌز‪ٛ‬ص‪٠‬ؼبد أؽذص‪ٙ‬ب‬ ‫‪ٚ‬أش‪ٙ‬ش٘ب ر‪ٛ‬ص‪٠‬ؼٗ أ‪ٚ‬ث‪ٔٛ‬ز‪ ٛ‬اٌز‪ ٟ‬رذػُ وً ٌغبد اٌؼبٌُ ‪ٚ‬اع‪ٙ‬خ ‪ٚ‬وزبثخ ثّب ف‪ٙ١‬ب اٌٍغخ اٌؼشث‪١‬خ ‪.‬‬ ‫‪42‬‬

Use Quizgecko on...
Browser
Browser