Introduction to OS - RB Informatics - PDF

Document Details

GuiltlessFairy

Uploaded by GuiltlessFairy

كلية الهندسة المعلوماتية

2023

RB Informatics

د. المثنى خضر

Tags

operating systems OS concepts computer science introduction to operating system

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‬‬

Use Quizgecko on...
Browser
Browser