نظـم التشغيل - المحاضرة 1 PDF
Document Details
![GuiltlessFairy](https://quizgecko.com/images/avatars/avatar-16.webp)
Uploaded by GuiltlessFairy
Damascus University
Tags
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