Introduction to OS - RB Informatics - PDF
Document Details
![GuiltlessFairy](https://quizgecko.com/images/avatars/avatar-16.webp)
Uploaded by GuiltlessFairy
كلية الهندسة المعلوماتية
2023
RB Informatics
د. المثنى خضر
Tags
Summary
These lecture notes from RB Informatics cover the introduction to operating systems, specifically the subject matter of Introduction to OS. They detail the definition and objectives of operating systems, as well as the kernel and its roles. The notes also discuss types of computers and computing environments.
Full Transcript
السعر 2880 كلية الهندسة المعلوماتية عملي نظري السنة الرابعة 9 Introduction to OS...
السعر 2880 كلية الهندسة المعلوماتية عملي نظري السنة الرابعة 9 Introduction to OS 1 د.المثنى خضر 03/10/2023 24 نظم تشغيل ()1 تعريف نظام التشغيل التعريف األبسط لنظام التشغيل هو أنه برنامج يعمل كوسيط بين المستخدم ( أنا و أنت 😊) و أجهزة الحاسوب الماديّة ( ، )Hardwareو يؤمن بيئة مناسبة لتنفيذ البرامج . أهداف نظام التشغيل : تنفيذ برامج و تطبيقات المستخدم و جعل حل مشاكل المستخدم أسهل . ▪ توفير بيئة مناسبة و مالئمة لالستخدام . convenient ▪ االستفادة القصوى من الموارد و ذلك بجعلها تعمل بشكل فعّال . efficient ▪ الخاصة بنظام التشغيل : ّ بعض التعاريف : Kernel هو جزء من نظام التشغيل الذي ال يعمل بدونه ،و الذي يجب أن يبقى قيد التشغيل طالما الحاسب يعمل ،و عند تعرّضه إلى أي ضرر يؤدي إلى توقف نظام التشغيل و عدم قدرة الحاسب على العمل. أي باختصار هو عبارة عن لب نظام التشغيل . ). Is the main component of Linux Operating System (OS لماذا يعتبر ال Kernelنواة ؟؟ سُمّي بذلك ألنه مثل البذرة الموجودة داخل الغالف الصّلب تتحكم بجميع الوظائف األساسيّة لألجهزة . مهام ال : Kernel Memory management.1 Process management.2 Device drivers.3 System Calls and Security.4 1 نظم تشغيل | 1د.المثنى خضر : System Programs مجموعة من البرامج التي : تؤمن بيئة مناسبة لتنفيذ و تشغيل البرامج . ▪ و تقديم خدمات للمستخدمين . USER ▪ ليست جزء من ال Kernelإنما تأتي مع نظام التشغيل أو يمكن تثبيته الحقاً مثل : ▪ Assembler , Compiler , Command Line : Application Programs هي جميع البرامج التي ال ترتبط مع نظام التشغيل مباشرةً :مثل ( ) Adobe , VLC , Notepad , Call of duty ( Middlewareبرمجيات وسيطة ) : هي مجموعة ال Software frameworksالتي تزوّد مطوّرين البرامج ( مثل انت يا )😊 ITبخدمات إضافيّة مثل : ( ) Databases – Multimedia – Graphicsو هي مضّمنة ضمن أنظمة التشغيل ذات االستخدام العام و أيضاً توجد في الحوسبة المحمولة . Mobile Computing مهام نظام التشغيل حسب الحاجة تنقسم الحواسيب إلى أنواع مختلفة و منها : : Mainframe Computers عبارة عن جهاز حاسوب مركزي واحد تتصل به عدّة طرفيات تسمى ( )dump terminalهذه الطرفيات عبارة عن شاشة و لوحة مفاتيح ،ليس بها ذاكرة أو معالج و إنما تستخدم معالج و ذاكرة الحاسب المركزي . : Minicomputers هي فئة من الحواسيب متعددة المستخدمين و تقع في المدى األوسط من الطيف الحاسوبي بين األنظمة متعددة المستخدمين الكبرى و األنظمة أحاديّة المستخدم الصغرى (الحاسب الشخصي). : Servers هو نظام حاسوبي متصل بشبكة أي أنه عقدة فيها و متخصص في أداء وظيفة معيّنة و تلبيّة الطلبات التي ترده من حواسيب أخرى على الشبكة و عادة ما يكون عتاده المادي ذات إمكانيات متفوقة و تصميمات خاصة لتحمل العمل لفترات طويلة بال انقطاع و لمواجهة األعطال بكفاءة أكبر . 2 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر : Embedded System هي أنظمة لمعالجة المعلومات و تكون متضمنة في منتج أكبر و هي عادة ما تكون غير مرئيّة مباشرة للمستخدم و تكون واجهاتها قليلة أو معدومة أحياناً مثل األنظمة الموجودة في السيارات الحديثة . المستخدمون : يريدون أن يكون نظام التشغيل سهل االستخدام و أن يعطي أداء عالي من دون االهتمام بما يقوم من استهالك لموارد الحاسب . الحواسيب المشتركة : مثل ال mainframeأو ال minicomputerعلى نظام التشغيل إدارة الجهاز المركزي لخدمة الكم الكبير من المستخدمين بحيث يكون زمن االستجابة لكل مستخدم سريع (أقل من ثانية) ـ و حتى يشعر كل مستخدم أن الجهاز المركزي يخدمه لوحده. مستخدمي األنظمة المخصصة : مثل ال workstationsلديها موارد مخصصة ولكنها غالباً تتشارك في الموارد من ال ، serversوعلى أنظمة التشغيل تأمين أدوات إلدارة الخدمات التي يقدمها ال . server األجهزة المحمولة : Mobile devicesمثل الهواتف الذكيّة و ال tabletsهي أجهزة تمتلك موارد ضعيفة و يتم تطوير هذه األجهزة من أجل تحسين االستخدامية و عمر البطاريّة ،تكون أنظمة التشغيل في هذه الحالة تستجيب لل touch screensو التعرّف الصوتي .voice recognition مضمنة : ّ حواسيب بعض الحواسيب تمتلك واجهات قليلة أو ال تمتلك واجهات أساساً ،مثل األنظمة الموجودة في embedded computer (الحواسيب المضّمنة) ،و هذه األنظمة تعمل بشكل أساسي دون أي تدخل من المستخدم . مكونات النظام الحاسوبي مكونات النظام الحاسوبي العتاديات البرامج المستخدمين نظام التشغيل Hardware التطبيقيّة Users 3 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر البرامج التطبيقيّة : معالجات النصوص – مترجم – نظام قاعدة بيانات – تمثّل األساليب التي تستخدم بها موارد الجهاز لحل مشاكل المستخدمين . أي هي عبارة عن األساليب التي تستخدم بها موارد الجهاز لحل مشاكل المستخدمين العتاديات (: )Hardware وحدة المعالجة – الذاكرة – أجهزة اإلدخال و اإلخراج ( I/Oموارد الحاسوب) . يتولى نظام التشغيل مهمّة مراقبة و تنسيق استخدام العتاديات بين مختلف البرامج التطبيقيّة لمختلف المستخدمين . نظام التشغيل : المتحكم Controller لكل جهاز أو لكل طرفيّة يوجد متحكّم controllerأو ما يسمى أيضاً بـ Adapterيتحكم به ،قد يكون مدمجاً بالجهاز أو أحياناً قد يكون خارجياً (مثل كرت الشاشة هو controllerيتحكم بالشاشة) و لكنه ليس جزء من نظام التشغيل . و يتعامل نظام التشغيل مع ال controllerعن طريق softwareيدعى . Device driver كل متحكم يحتوي على مخزن محلّي مؤقت (. )Buffer يوجد أكثر من CPUs , device controllersمتصلة من خالل خطوط النقل المشتركة ( )Busتوفر الوصول إلى الذاكرة المشتركة . التنفيذ المتزامن لوحدات المعالجة المركزية و األجهزة يجعل منهم يتنافسون على دورات الذاكرة حيث أن الذاكرة يمكنها أن تتعامل مع جهاز CPU/واحد في الدورة الواحدة . يقوم المتحكّم بإعالم المعالج أنه قد أنهى عمله عن طريق التسبب في مقاطعة . Interrupt 4 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر المقاطعات Interrupts المقاطعة :هي إشارة أو طلب ترسل من المكونات الماديّة أو المكونات البرمجيّة إلى المعالج من أجل تنفيذ خدمة مستعجلة (. )interrupt service routine هنالك مجموعة من الخدمات تختلف باختالف نظام التشغيل ،و هي عبارة عن دوال خاصّة بالمقاطعات ،فكل مقاطعة تقابلها مجموعة من الدوال . عندما يتم إرسال المقاطعة إلى المعالج يوقف ما كان يعمل فيه ،ثمّ ينفذ دالة معينة من دوال المقاطعة (تحدد الدالة برقم في مسجل معين) ،ثم يرجع المعالج مرة أخرى ليواصل ما أوقفه قبل استالمه للمقاطعة . هنالك أنواع مختلفة من المقاطعات : : Hardwareتستخدمها ال Hardware devicesللتخاطب مع نظام التشغيل ▪ interrupt عندما تريد طلب عمل ما منه و هي عبارة عن بنبضة كهربائيّة . : Softwareو هي عبارة عن Trapأو Exceptionو تحدث لثالثة أسباب : ▪ interrupt )1عند حصول خطأ برمجي ما ()division by zero )2طلب معيّن من برنامج ليقوم بتنفيذه نظام التشغيل ()System Call )3مشاكل برمجيّة أخرى ( )Infinity loopأو عمليات تقوم بتعديل بعضها البعض . 5 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر الخط الزمني لمقاطعات أجهزة الدخل و الخرج القمم في وقت وحدة المعالجة المركزيّة هي عندما تكون وحدة المعالجة المركزيّة مشغولة بالقيام بمهمة ،و الوديان هي عندما يتم إعالم وحدة المعالجة المركزيّة بمقاطعة من ال I/Oو عليه المضي قدماً في إعداد المخازن المؤقتة للجولة المقبلة . القمم في ال I/Oتكون عندما ينتظر خرج أو طلبات دخل و خرج ،و الوديان عندما متحكم الجهاز يقوم بكتابة مخازن الذاكرة بشكل مستقل من وحدة المعالجة المركزيّة إلى الجهاز الفعلي و غالباً ما تتم الكتابة عن طريق ال ( )DMAالوصول المباشر للذاكرة . أثناء المقاطعة يحافظ نظام التشغيل على الحالة الحالية لوحدة المعالجة المركزيّة من خالل تخزين السجالت registersو عداد البرنامج program counterو يقوم بتحديد نوع المقاطعة التي حصلت عندما يطلب أحد البرامج عمليّة دخل أو خرج ،فنظام التشغيل يقوم بعمليّة مقاطعة و نكون أمام حالتين : إما االنتظار : يعود التحكم إلى برنامج المستخدم فقط بعد إتمام عمليات ال . I/O ▪ تعليمات االنتظار تجعل وحدة المعالجة المركزيّة بحالة خمول حتى المقاطعة التاليّة . ▪ حلقة االنتظار تؤدي إلى التنازع بين الموارد للوصول إلى الذاكرة . ▪ من الممكن أن يتواجد طلب I/Oواحد على األكثر في الوقت الواحد . ▪ أو االستمرار : يعود التحكّم إلى برنامج المستخدم دون انتظار انتهاء عمليات ال . I/O ▪ يفهرس نظام التشغيل جداول أجهزة I/Oلتحديد حالة الجهاز و تعديل سطور الجدول لتضمين المقاطعة . ▪ Device-status tableجدول حالة الجهاز يحتوي على دخل لكل جهاز I/Oيشير إلى نوعه و عنوانه و حالته . ▪ 6 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر Direct Memory Access Structure و هي عملية نقل مباشر بين أجهزة الدخل و الخرج و الذاكرة الرئيس ّية دون تدخل المعالج ،و تُدار هذه العمل ّية عن طريق ال device controllerالخاص بالذاكرة الرئيسية . تستخدم ألجهزة I/Oعالية السرعة القادرة على إرسال المعلومات بسرعة قريبة من سرعة ال . RAM Device controllerينقل ال block of dataمن المخازن المؤقتة bufferبشكل مباشر إلى الذاكرة الرئيسية دون تدخل ال . CPU يتم إنشاء مقاطعة واحدة فقط لكل ، blockبدالً من المقاطعة واحدة لكل بايت . هرميّة الذاكرة تتكون هرم ّية الذاكرة من التالي : المسجالت . registers ▪ الذاكرة المخبأة (الكاش) . cache ▪ الذاكرة الرئيسية (الرام) . main memory ▪ األقراص الممغنطة . magnetic disk ▪ األقراص الضوئية . optical disks ▪ األشرطة الممغنطة . magnetic tape ▪ هنالك عوامل تؤثر في هرميّة الذاكرة هي : ( التطاير – السرعة – السعة – السعر ) . أعلى الهرم :يخزن البيانات تخزينا مؤقتاً يزول عند إغالق الحاسب (متطايرة) . volatile 7 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر أسفل الهرم :يخزن البيانات تخزيناً دائماً ال يزول (غير متطايرة) . non-volatile واجهة نداء النظام System Call Interface هو عبارة عن Programming Interfaceيسمح للبرمجيات و التطبيقات بأن تطلب خدمات من نظام التشغيل ،و هو أيضاً عبارة عن مجموعة من األكواد المخزنة في جدول ،يحتوي هذا الجدول على حقلين : الحقل األول :رقم المقاطعة و الحقل الثاني :هو أكواد المقاطعة . كيف ّية عمل نداءات النظام : يتم تنفيذ نداء النظام في وضع النواة Kernel modeو لكل استدعاء نظام رقم مرتبط به : .1يرسل هذا الرقم إلى النواة ليعرف نظام التشغيل ما هو استدعاء النظام المطلوب . .2عندما يرسل المستخدم هذا الرقم فهو في الحقيقة يستدعى روتين مكتبة ( ، )Library routineفيقوم الروتين بإرسال مقاطعة ( )issues a trapلنظام التشغيل ،ثم يمرر رقم االستدعاء و معطياته إلى النواة باستخدام مسجالت معينة . .3تقوم النواة بتنفيذ الروتين و ترسل النتائج للمستخدم عبر مسجل معيّن . .4إذا كانت النتائج كبيرة الحجم ال يستطيع المسجل تخزينها ،سترسل بطريقة أخرى مثل استدعاء الروتين copy-to-userلتخزينها في موقع ما بالذاكرة . Single & Multi Processing : Single Processor و هو معالج يستخدم عندما يكون للحاسب أو الجهاز المراد برمجته هدف عام وحيد يعمل عليه و يهتم به . : Multi Processor تعرف األنظمة الخاصة بها األنظمة التفرعيّة ( )Parallel Systemsأو ( )tightly-coupled systemsو المعنى بالنهاية واحد ،حيث يكون لدينا أكثر من معالج ضمن نطاق اتصال متقارب و يتشاركون موارد الحاسب (ملحقات – ذاكرة – نواقل )..... ، Bus و تم استخدام هذا النوع من المعالجات في البداية مع المخدّمات servicesثمّ أخذ ينتشر شيئاً فشيئاً مع باقي أجهزة الحاسب كالحواسب المكتبيّة أو حتى المحمولة و اليوم أصبحنا نرى أيضاً المعالجات المتعددة وصلت إلى الهواتف الذكيّة. من ميزات المعالجات المتعددة : .1زيادة اإلنتاجيّة ،أي عمل أكثر خالل زمن أقل . .2اقتصادي من حيث الكلفة و التوفير . .3وثوقيّة أكثر :أي عندما يعمل نظام معيّن على أكثر من معالج فإن فشل معالج ما بشكل فجائي لن يؤدي إلى توقف عمل النظام ككل بل على األكثر من الممكن أن يؤدي ذلك إلى بطئ عام . 8 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر المعالجات المتعددة Multi Processors يوجد نوعان للمعالجات المتعددة : المعالجات المتماثلة ): Symmetric multiprocessing (SMP ▪ هنا كل المعالجات متساويّة و ينفذ كل معالج مهمة منفصلة ،و تتصل هذه المعالجات مع بعضها عند الحاجة . يحجز كل معالج مسجالته الخاصة ( )Registersباإلضافة إلى ذاكرة مخبئية خاصة به ،بينما من ناحية مورد الذاكرة الفيزيائيّة ( )Physical Memoryتقوم المعالجات بالتشارك به. المعالجات غير المتمائلة : Asymmetric multiprocessor ▪ يوجد معالج رئيسي واحد يتحكم في النظام و ينفذ مهمة رئيسية كبيرة ،بينما بقيّة المعالجات تنفذ ما يأمرها به المعالج الرئيسي ،فهو فد يقسم المهمة الكبيرة إلى أجزاء صغيرة يوزعها على بقيّة المعالجات ثم يجمع النتائج بعد التنفيذ . " Difficulties in your life do not come to destroy you, but to help you realize your hidden potential and power, let Difficulties ".know that you are difficult —Abdul Kalam 9 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر التصميم ثنائي النوى Dual-core Design إن النوع السابق من المعالجات المتعددة كان يستخدم رقاقة chipلكل معالج بينما في النمط الجديد – المعالجات متعددة األنويّة – multicoreفأصبحنا نستخدم رقاقة واحدة ألكثر من معالج بنفس الوقت (من الممكن ) multichip & multicoreمما وفّر الطاقة المستهلكة و زاد الفعاليّة و بالتالي حصلنا على سرعة أكبر . السرعة في هذا النوع هي بسبب أن التواصل بين المعالجات الموجودة على رقاقة واحدة هو أسرع من التواصل بين المعالجات الموجودة على أكثر من رقاقة . Multiprogramming vs Multitasking : Multiprogramming هي ضروريّة لزيادة الفعاليّة ،ألنه ال يمكن للمعالج و ألجهزة الدخل و الخرج أن يكونان ▪ مشغولين في آن واحد طوال الوقت ،فال بد من أوقات أن يكونا فيها ينتظران أعمال أو في حالة فراغ فعندها يجب ملئ هذا الفراغ بأعمال أخرى . و تقوم هذه التقنيّة بوضع المهام في الذاكرة و من ثمّ تقوم بسحبها واحدة تلو األخرى ▪ بطريقة ال job schedulingلينفذها المعالج ،و في حالة المعالج كان في حالة انتظار فإنه يقوم بتنفيذ عمل آخر و ذلك بأمر من نظام التشغيل ،أي أن المعالج يقوم باستغالل الوقت المهدور في انتظار عمليات أخرى . من األمثلة لهذا النوع نظام التشغيل ويندوز . XP ▪ على عكس المعالج في تقنيّة non-multiprogrammed systemفإن المعالج سيبقى ▪ في حالة خمول و ذلك عند انتظاره لتنفيذ مهمة ما ،من األمثلة لهذا النوع نظام التشغيل (. )DOS 10 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر ): Timesharing (Multi-tasking يقوم المعالج بخدمة العديد من المهام في وقت واحد و ذلك بإعطاء كل مهمة حصّة زمنيّة قصيرة تسمى ▪ (. )quantum و ينتقل المعالج بين المهام بسرعة عالية جداً لدرجة أن كل مهمة تعمل و كأنها تستخدم المعالج لوحدها . ▪ و شرط في ال Time sharingأن يكون لكل مستخدم على األقل مهمة واحدة في الذاكرة و في حال طلب ▪ تنفيذ أكثر من عمليّة في آن واحد فهنا يأتي دور ال CPU Schedulingلتنظيم هذه العمليّة . و في حال عدم اتساع الذاكرة للعمليات فيتم وضع بعض العمليات في ال Virtual memoryو التي تسمح أن ▪ يتم تنفيذ جزء من العمليات خارج الذاكرة . و الميزة الرئيسة التي تقدمها الذواكر االفتراضيّة بأنها تسمح للمستخدمين بتنفيذ برامج حجمها أكبر من ▪ الذاكرة الفيزيائيّة . أنماط عمل نظام التشغيل تسمح عملية Dual-modeبحماية نظام التشغيل و مكوناته األخرى . 11 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر نمط المستخدم (تتعامل مع البرامج و واجهات المستخدم) – user mode ▪ نمط النواة (تتعامل مع العتاديات) Privileges Mode – System Mode – supervisor Mode ▪ نمط المستخدم : User mode يهتم بالواجهة الفعليّة بين المستخدم و النظام ،و يتحكّم بتشغيل التطبيقات و النفاذ إلى الملفات . نمط النواة : يهتم نمط النواة بكل ما يجري في الخلفيّة ( ، )backgroundو يتحكم بالنفاذ إلى الموارد ،و معالجة تعليمات البرامج و التحكّم بوظائف العتاديّات . يُحدّد النمط من خالل بت يُسمى ( mode bitنمط النواة ، 0و نمط المستخدم .)1 : Need Of Dual Mode Operation السبب يجب إخفاء أنواع مع ّينة من ال تتطلب أنواع مع ّينة من المهام أي نوع من hardware supportو لهذا ّ العمليات على المستخدم ،يمكن التعامل مع هذه المهام بشكل منفصل باستخدام ال Dual Mode Of The . Operating System تؤدي ال Kernel level Programsجميع وظائف المستوى األدنى ألنظمة التشغيل مثل إدارة الذاكرة و إدارة العمليات و ما إلى ذلك و لهذا الغرض يحتاج نظام التشغيل إلى العمل في . Dual Mode يعتبر ال Dual Modeضروري لتحديد وصول المستخدمين فقط إلى المهام التي يستخدمونها في نظام التشغيل . المؤقت Timer من مهما نظام التشغيل التحكّم في المعالج و منع برامج المستخدمين من االستئثار بهذا المورد الهام و العمل لمدة طويلة داخل المعالج . إذا كان هنالك برنامج ينفذ في تكرار غير منتهي infinite loopأو استدعى دالة خدمة و لم يُعيد السيطرة لنظام التشغيل ،فهذا يسبب إهدار لزمن العالج . هنا ال بدّ لنظام التشغيل من آلية تمكنه من توقيف مثل هذه البرامج ،و كان المؤقت timerهو الحل . كيف يعمل المؤقت : ▪ قبل تشغيل برنامج المستخدم يتأكد نظام التشغيل من أن المؤقت مرتبط مع المقاطعة . ▪ يتم إعداد المؤقت ليصدر المقاطعة بعد فترة محددة (ال تزيد عن ثانية) . ▪ يكون هنالك عداد و ساعة لحساب هذه الفترة : ) 1يقوم نظام التشغيل بتجهيز العداد . ) 2كل دقة ساعة تنقص العداد . )3عندما يصل العداد صفر تصدر المقاطعة و ينتقل التحكم تلقائياً إلى نظام التشغيل . 12 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر لنظام التشغيل حق التصرف في اعتبار أن هذه المقاطعة خطأ جسيم fatal errorأو قد يعطي البرنامج مهلة ▪ أكثر (زيادة زمن) . ( Fatal errorالخطأ الفادح) : أشهر األخطاء المخيفة في ال ، WordPressيتسبب في توقف عمل الموقع بالكامل و ظهور شاشة بيضاء و يرجع إلى بعض األخطاء في األكواد المصدريّة الخاصّة بالقوالب أو اإلضافات المنصّبة على الموقع . مهام نظام التشغيل يقوم نظام التشغيل بالمهام التالية : ( Process management.1إدارة العمليات) :عن طريق مدير العمليات . ( Memory management.2إدارة الذاكرة الرئيسية) :عن طريق مدير الذاكرة . ( File-system management.3إدارة الملفات) :عن طريق مدير الملفات . ( Device management.4إدارة األجهزة) :عن طريق مدير األجهزة الذي يقسم إلى : ( Mass-Storage Managementإدارة التخزين) ( I/O Managementإدارة أجهزة الدخل و الخرج) . ( Protection and Security.5األمن و الحماية) سنقوم بدراسة كل منها بالتفصيل . ( Process managementإدارة العمليات) : ما هي ال Process؟؟ هي عبارة عن برنامج source codeفي حيّز التنفيذ . و من هنا جاء التصنيف التالي لكل من ال Processو ال : Program حيث أعتبر ال Programأنه Passive entityو ذلك ألنه عبارة عن تعليمات موجودة في الذاكرة الثانويّة ▪ " "hard diskحيث تكون نائمة أي لم توضع ضمن حيز التنفيذ . في حين اعتبر ال Processبأنها Active entityو ذلك ألنها عبارة عن مجموعة من البرامج الموجودة ▪ في الذاكرة الرئيسية " "RAMحيث تكون فعّالة أي يتم تنفيذها من قبل المعالج . 13 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر مصطلح Process Terminationاو عملية إنهاء تنفيذ ال Processما هي إال عمليّة تحرير لجميع الموارد التي تستهلكها العمليّة المنهيّة و القابل استخدامها لعمليات أخرى . إن نظام التشغيل مسؤول عن عدد من األنشطة المرتبطة بعملية إدارة العمليات ،من هذه األنشطة : إنشاء و إنهاء ال Processالمفعّلة من قبل ال userأو الخاصة بال systemبحد ذاته . ▪ اإليقاف المؤقت لتنفيذ ال Processو استئناف التنفيذ من حيث تم إيقافه . ▪ إيجاد اآللية المناسبة من أجل تزامن العمليات . Process Synchronization ▪ إيجاد اآللية المناسبة من أجل التواصل بين العمليات . Process Communication ▪ إيجاد اآللية المناسبة من أجل . deadlock handling ▪ ( Memory Managementإدارة الذاكرة الرئيسية) : بما أن ال Processهي مجموعة من ال ، Instructionsفال بد أن تكون هذه التعليمات أو جزء منها ضمن الذاكرة RAMعندما يبدأ التنفيذ . من عمليات إدارة الذاكرة هي تحديد ما يوجد ضمن الذاكرة و متى يوجد ،مما يقوم بتحسين استخدام المعالج CPUو تحسين استجابة الحاسوب للمستخدمين . من األنشطة التي تعنى فيهها ال Memory Managementأيضاً : تتبع جميع أجزاء الذاكرة التي تعمل في الوقت الراهن و معرفة هوية العمليات العاملة بها . ▪ تحديد أي ال Processو أي ال dataيجب أن تدخل إلى ال ، RAMو أيها يجب أن نحرر الذاكرة منها . ▪ تخصيص و تحرير مساحات من الذاكرة حسب الحاجة . ▪ ( File-system Managementإدارة الملفات) : نظام التشغيل يؤمن طريقة موحدة و منطقيّة لتخزين المعلومات ،و يتم تحقيق هذا األمر من خالل : عملية تجريد الخصائص الفيزيائية للمعلومات ليتم تخزينها بوحدات منطقيّة على شكل ملفات . files ▪ كل بيئة تخزينية يتم التحكم بها من قبل جهاز معيّن (.) disk drive , tape drive ,, etc ▪ تنويع الخصائص التي تتمتع بها كل بيئة تخزينية و المتمثلة ب access speed , capacity , data ▪ . transfer rate 14 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر و بما أن المعلومات في وحدات التخزين تعرض بشكل ملفات ،تطلب هذا األمر وجود File-system ( managerمدير الملفات) ،و تتمثل األنشطة التي يقوم بها بالتالي : .1إنشاء و حذف الملفات و الـ . directories .2النقل و التعديل بالملفات و الـ . directories .3تنظيم الملفات ضمن الـ . directories .4التحكم بصالحيات الوصول في معظم األنظمة لتحديد من يمنح سماحية الوصول و إلى ماذا يمنح . .5عملية وضع الملفات على وحدات التخزين الثانوية . secondary storage .6عملية الـ Backupللملفات على وحدات التخزين المستقرة الغير متطايرة ". "non-volatile ( Mass-Storage Managementإدارة التخزين) : عادة تستخدم األقراص من أجل تخزين البيانات التي ال تتسع ضمن الذواكر الرئيسية أو من أجل حفظ البيانات لمدة زمنيّة طويلة ،و بالتالي فإن اإلدارة السليمة لعمليات التخزين هي ذات أهمية كبيرة حيث أن سرعة كافة العمليات المنفذة ضمن الحاسوب متعلقة باألنظمة الفرعية لهذه األقراص و الخوارزميات المطبقة ضمنها . األنشطة التي يديرها نظام التشغيل في هذا الخصوص : إدارة عمليات تحرير المساحة . free space management ▪ عمليات ال mountingو ال . unmounting ▪ عمليات الحجز من أجل التخزين . storage allocation ▪ و عمليات الجدولة لألقراص . disk scheduling ▪ عملية تجزئة و حماية القرص . partitioning & protecting ▪ مالحظة : بعض أجهزة التخزين ليس من الضروري أن تعمل بسرعة ،مثل أجهزة التخزين ما بعد الثانوية tertiary storageو التي تشمل optical storage , magnetic storageو لكنها ما تزال تحتاج اإلدارة من قبل نظام التشغيل . 15 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر Cachingذاكرة الكاش هي ذاكرة سريعة جداً تقارب سرعة المعالج ،صغيرة الحجم و مرتفعة الثمن . يتم أوالً فحص التخزين األسرع (ذاكرة التخزين المؤقت الكاش) فيما إذا كان يحتوي على المعلومات التي نريدها و نميز حالتين : إذا احتوت الكاش ما نريد ،فالمعلومات تستخدم مباشرة من الكاش (عملية سريعة). ▪ إن لم تحتوي الكاش على ما نريد ،تنسخ البيانات من الذاكرة األبطأ إلى الكاش و تستخدم هناك . ▪ البيئات التي تعتمد تعددية المهام multitaskingال بد أن تكون حريصة في استخدامها ألحدث قيم البيانات و ذلك بغض النظر عن مكان تخزين هذه البيانات في التسلسل الهرمي لوحدات التخزين . البيانات ذات المعالجات المتعددة ال بد من أن تؤمن عملية الترابط فيما يخص ال cacheأو ما يدعى Cache coherencyبحيث تصل أحدث قيمة موجودة على ال cacheإلى المعالجات المركزية العاملة . في بيئات النظم الموزعة تعتبر مسألة الكاش أكثر تعقيداً من سابقتيها و ذلك إلمكانية وجود عدة نسخ من المعطيات التي يتم التعامل معها . ( I/O Managementإدارة أجهزة الدخل و الخرج) : أحد مهام نظام التشغيل هي إخفاء خصوصيات األجهزة عن المستخدمين . يعد I/O Managementمسؤوالً عن : ) 1إدارة الذاكرة فيما يخص ال I/Oو من العمليات التي يديرها : : Bufferingو هي عمليّة تخزين البيانات بشكل مؤقت إلى أن يتم نقلها من أجل التنفيذ . : Cashingو هي عملية تخزين أجزاء من البيانات الواردة في وحدات أسرع بغية تحسين األداء . : Spoolingو هي عملية التضارب الحاصل بين خرج مهمة ما و دخل مهمة أخرى . )2واجهة عامة للـ . device driver )3يعد أيضاً عن ال driversلمختلف األجهزة المادية . 16 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر ( Protection and Securityاألمن و الحماية) : : Protection تعرف بأنها أي آلية تتحكم بسماحيّة الوصول للموارد المتاحة من قبل ال processesأو ال . users : Security تعرف بأنها عملية الدفاع من قبل النظام ضد أي هجمات داخلية أو خارجية . من أوائل خطوات األمان هي عملية تصنيف المستخدمين لتحديد من يمكنه فعل ماذا ،تتم هذه العملية على المراحل التالية : تعريف هوية المستخدم " " user IDs , security Idsو التي تتضمن االسم و associated .1 numberالخاص بالمستخدم . .2 بعد ذلك يتم ربط idالمستخدم بجميع الملفات و العمليات و ذلك ليتم إعطاؤه صالحيات الوصول المناسبة .3تعريف المجموعات " "group IDو التي تسمح بتعريف مجموعة من المستخدمين و إدارة إمكانياتهم في التحكم ،و من ثم ربط هذه المجموعة بصالحيات الوصول إلى الملفات و ال Processesالمشتركة . و أخيراً القيام بزيادة الصالحيات Privilege escalationو التي تسمح للمستخدم بتغير ال idالفعالة .4 الخاصة به في نظام ليحصل على صالحيات أوسع . هيكلية نواة نظام التشغيل Kernel Data Structures ال Kernelهي نواة نظام التشغيل و هي الجزء الذي يبقى عام ًال في الحاسب طالما لم يتم إغالقه ،و هي الدماغ المسؤول عن إدارة نظام التشغيل و يسمح للنظام و بعض التطبيقات بالتحكم بالمعالج و الذاكرة ،و تقوم بتنسيق و إدارة الدخل و الخرج للنظام ،و تنظم العالقة بين النظام و األجهزة األخرى الخارجية و الداخلية منها . بنية المعطيات الخاصة بال Kernelشبيهة تماما ببنى المعطيات البرمجية األساسية ،نذكرها سريعا : Single Linked List : 17 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر Doubly Linked List : Circular Linked List : Binary Search tree : حيث تكون األفرع اليسارية => األفرع اليمينية . تعقيد البحث ضمن هذه البنية يساوي إلى ) O(nأما في األشجار الثنائية المتوازنة يكون التعقيد مساو إلى ). O(lg n Hash map : 18 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر من أهم مواصفات ال Hash functionبأنه يقوم بعملية التشفير باتجاه واحد ،أي ال يمكن التراجع أو فك التشفير . عند إدخال سر معينة بغرض تسجيل دخول مستخدم ما ،يتم تشفير كلمة السر هذه و من ثم تقارن بالكلمة المشفرة و الموجودة بال hash mapإذا حصل التطابق يتم تسجيل الدخول بشكل سليم . Bitmap : هي أيضاً أحد بنى المعطيات المستخدمة و التي يمكن تعريفها بأنها سلسلة محرفيه مؤلفة من عدد nمن ال binary digitو التي تمثل حالة nعنصر من الموارد . و بالتالي فإن الموقع iضمن bitmapمرتبط بحالة المورد . i مثال : و ليكن لدينا ال Bitmapالتالية 001011101 إذا بدأنا العد من الصفر و من اليسار ،و باعتبار أن 0تعني أن المورد متاح و ال 1تعني أن المورد غير متاح . فنجد أن الموارد 2,4,5,6,8جميعها موارد غير متاحة . أما الموارد 0,1,3,7فهي موارد متاحة . بيئات الحوسبة 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 19 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر التقليدية : Traditional آالت قائمة بذاتها عامة األهداف ،نستطيع القول أنها هي األجهزة العادية التي نستخدمها كالحواسيب الشخصية. البوابات ( : )Portalsهي التي توفر وصول الويب لألنظمة الداخلية . األجهزة الشبكية ( : )Network computers( )thin clientsتعمل كمحطة الويب . : Thin clientsعبارة عن حاسوب عادي لكنه مصمم الستخدام الشبكة بطريقة خاصة ،حاسوب ال تهم ما هي مواصفاته ألن كل ال Processالتي سيقوم بها سيؤديها على ال serverالذي يتمتع بمواصفات عالية . المتنقلة : Mobile : Mobile computersحاسوب يتصل بالشبكة عن طريق ال wirelessو أغلب الحواسيب اآلن مجهزة لهذا األمر . ما يتميز به ال Mobileعن ال : Traditional ميزات إضافية لنظام التشغيل مثل GPSو . Gyroscope ▪ مناسب ألنواع جديدة من التطبيقات مثل . augmented reality ▪ يستخدم IEEE 802.11الالسلكيّة أو شبكيات الهاتف المحمول لالتصال . ▪ رواد ال Computing Environments – Mobileهما Apple IOSو . Google Android المخدم – زبون : Client-Server ال serverهو حاسوب بإمكانيات عالية مجهز ليقدم مجموعة خدمات محددة لمجموعة من ال clientعن طريق الشبكة . : Dumb terminalsتستبدل بالحواسيب الذكية . معظم األنظمة اآلن هي مخدمات تستجيب للطلبات المقدمة من قبل ال . client : Compute-server systemيقدم واجهة بالخدمات المتاحة لل . client ▪ : File-server systemيقدم واجهة لل clientلتخزين و استرجاع الملفات . ▪ 20 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر الند للند : Peer-to-Peer في هذا النموذج المستخدم يعمل بشكل مباشر مع المستخدم اآلخر فال يوجد clientو . server يعتبر كل العقد (األجهزة) أنداد . ▪ يجب أن يتم وصل كل عقدة مع كل عقدة أخرى . ▪ كل nodeتتصرف كـ clientأو كـ serverأو ككليهما . ▪ كل عقدة تضع خدماتها في الشبكة بتقنية الـ central lookup ▪ كل عقدة تبث طلبها لخدمة معينة ،و تستجيب للطلبات عبر الخدمة . discovery protocol ▪ مثال عنها : Napsterو Gnutellaو ) Voice over IP (VoIPكالسكايب . البيئة االفتراضية : Virtualization نظام التشغيل األساسي للجهاز يستضيف نظام تشغيل جديد و يعمل كأنه أساسي أيضاً . مثالً ال VMwareيُشغل ال Linuxكضيف ،كل تطبيقات ال Linuxيمكن تشغيلها دون أن يؤثر هذا على الحاسوب أو نظام التشغيل األساسي ،و كل تطبيقات نظام التشغيل األساسي يمكن تشغيلها . ) : VMM (Virtual Machine Managerيوفر خدمات المحاكاة االفتراضية . عندما أضع نظام تشغيل جديد فوق نظام التشغيل الحالي للجهاز فنظام التشغيل األساسي للجهاز يرى النظام الجديد كتطبيق عادي ،لكن المستخدم عند تطبيقه ألي أمر على نظام التشغيل الجديد يتوقع أن يتم تنفيذه تماماً كما لو أنه طبق األمر على نظام التشغيل األساسي . 21 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر إذاً نظام التشغيل األساسي يجب أن يمتلك إمكانيات ليتعامل مع النظام الجديد ليبدو و كأنه آلة مستقلة تماماً ، هذا األمر بحاجة إلدارة و هنا يأتي دور ال . VMM الحوسبة السحابية : Cloud Computing خدمات الحوسبة و التخزين و حتى التطبيقات أصبحت متوفرة كخدمة عبر الشبكة . تعتبر امتداد لل Virtualizationكونها تعتمد ال Virtualizationأساس للمهام التي تقدمها . بيئات الحوسبة السحابية Cloud Computingتتألف من أنظمة التشغيل التقليدية ،باإلضافة إلى . VMM أدوات إدارة السحابة : اتصال اإلنترنت يتطلب األمن مثل . firewalls ▪ موازنات التحميل ( )load balancersتعمل على فصل حركة مرور البيانات عبر عدة تطبيقات . ▪ نستطيع القول أن ال Virtualizationهي تقنية تقسيم الموارد و إعطائها ل OSمختلفة . أما ال cloudفهي تحدد لمن أقدم المورد فهي تقوم بإدارة لل . Virtualization أمثلة عن الكالود ()IBM cloud – Google drive – Dropbox أنظمة الزمن الحقيقي : Real – Time Embedded Systems هي أنظمة موجودة في أجهزة تحكم مثل :أجهزة تجميع السيارات ،منصات إطالق الصواريخ . Robotics ، أكثر أشكال األنظمة انتشاراً : متنوع األهداف و االستخدامات . ▪ بعض األجهزة لدها أنظمة التشغيل ،و البعض يقوم بالمهام دون نظام التشغيل . ▪ لديها قيود زمنية محددة جيداً : يجب أن تتم المعالجة ضمن القيد . ▪ تكون العملية الصحيحة فقط إذا تحققت القيود . ▪ 22 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر مثالً آالت سحب المال ،ال يجب أن ينقص الرصيد قبل أن تخرج النقود من اآللة ،يجب أن تخرج بطاقة ▪ المستخدم بعد خروج المال و أن يصدر صوت تنبيه من اآللة بنفس الوقت . النظم الموزعة : 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 ▪ من العيوب :زمن االتصال بين أجزاء النظام قد يؤثر على أداء النظام ككل . نظم التشغيل األكثر شيوعاً ميكروسوفت ويندوز : Windows نسبة عالية من الحاسبات تستخدم ويندوز و التي تعمل على معالجات إنتل و المعالجات المتوافقة معها . توجد منها عدة نسخ ،مثل ويندوز XPو ويندوز فيستا تستخدم في الحواسيب الشخصية ،و مثل ويندوز advanced serverو ويندوز 2000التي تستخدم في الخوادم . servers ماكنتوش : Mac صمم ليعمل على أجهزة أبل ماكنتوش التي تنتشر في دور الطباعة و النشر ،و هو قوي و سهل االستخدام و قد أخذت ويندوز فكرة النوافذ و سطح المكتب من هذا النظام حيث كان أول نظم تشغيل يدعم الواجهات الرسومية و االيقونات و القوائم على سطح مكتب . 23 /ITE.RBCs نظم تشغيل | 1د.المثنى خضر يونيكس : UNIX صمم في عام 1974بواسطة Dennis Ritchieو Ken Thompsonبينما كانا يعمالن في معامل . AT & T Bellكان الهدف نظام تشغيل صغير و متنقل . ثم أنتشر في الجامعات مراكز البحوث في عام .1980 و من نسخ يونيكس المشهورة . BSD – V Unix : و هو أول نظام تشغيل يكتب بالكامل بلغة برمجة عالية ، high level languageفهو مكتوب بلغة C توزيعات لينكس : Linux هي نسخة مصغرة من يونيكس صممت لتعمل على الحاسبات الشخصية ،و هو مفتوح المصدر حيث يتيح حرية تعديل الشفرة و إعادة التوزيع . و يوجد منها مئات التوزيعات أحدثها و أشهرها أوبونتو التي تدعم كل لفات العالم واجهة و كتابة بما فيها اللغة العربية انتهت املحاضرة ... 24 /ITE.RBCs