Professional Documents
Culture Documents
Introduction to OS
1
د.المثنى خضر
03/10/2023 24
: 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عملي مشترك
هي مجموعة ال Software frameworksالتي تزوّد مطوّرين البرامج ( مثل انت يا )😊 ITبخدمات إضافيّة مثل :
( ) Databases – Multimedia – Graphicsو هي مضّمنة ضمن أنظمة التشغيل ذات االستخدام العام و أيضاً توجد
في الحوسبة المحمولة . Mobile Computing
2
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
3
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
المتحكم Controller
• لكل جهاز أو لكل طرفيّة يوجد متحكّم controllerأو ما يسمى أيضاً بـ Adapterيتحكم به ،قد يكون مدمجاً
بالجهاز أو أحياناً قد يكون خارجياً (مثل كرت الشاشة هو controllerيتحكم بالشاشة) و لكنه ليس جزء من نظام
التشغيل .
• و يتعامل نظام التشغيل مع ال controllerعن طريق softwareيدعى . Device driver
• كل متحكم يحتوي على مخزن محلّي مؤقت (. )Buffer
• يوجد أكثر من CPUs , device controllersمتصلة من خالل خطوط النقل المشتركة ( )Busتوفر الوصول
إلى الذاكرة المشتركة .
• التنفيذ المتزامن لوحدات المعالجة المركزية و األجهزة يجعل منهم يتنافسون على دورات الذاكرة حيث أن الذاكرة
يمكنها أن تتعامل مع جهاز CPU/واحد في الدورة الواحدة .
• يقوم المتحكّم بإعالم المعالج أنه قد أنهى عمله عن طريق التسبب في مقاطعة . Interrupt
4
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
المقاطعات Interrupt
• المقاطعة :هي إشارة أو طلب ترسل من المكونات الماديّة أو المكونات البرمجيّة إلى المعالج من أجل تنفيذ
خدمة مستعجلة (. )interrupt service routine
• هنالك مجموعة من الخدمات تختلف باختالف نظام التشغيل ،و هي عبارة عن دوال خاصّة بالمقاطعات ،فكل
مقاطعة تقابلها مجموعة من الدوال .
• عندما يتم إرسال المقاطعة إلى المعالج يوقف ما كان يعمل فيه ،ثمّ ينفذ دالة معينة من دوال المقاطعة (تحدد
الدالة برقم في مسجل معين) ،ثم يرجع المعالج مرة أخرى ليواصل ما أوقفه قبل استالمه للمقاطعة .
5
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
أثناء المقاطعة يحافظ نظام التشغيل على الحالة الحالية لوحدة المعالجة المركزيّة من خالل تخزين
السجالت registersو عداد البرنامج program counterو يقوم بتحديد نوع المقاطعة التي حصلت
• عندما يطلب أحد البرامج عمليّة دخل أو خرج ،فنظام التشغيل يقوم بعمليّة مقاطعة و نكون أمام حالتين :
يعود التحكّم إلى برنامج المستخدم دون انتظار انتهاء عمليات ال . I/O ▪
يفهرس نظام التشغيل جداول أجهزة I/Oلتحديد حالة الجهاز و تعديل سطور الجدول لتضمين المقاطعة . ▪
Device-status tableجدول حالة الجهاز يحتوي على دخل لكل جهاز I/Oيشير إلى نوعه و عنوانه و حالته . ▪
6
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
• تستخدم ألجهزة I/Oعالية السرعة القادرة على إرسال المعلومات بسرعة قريبة من سرعة ال . RAM
Device controllerينقل ال block of dataمن المخازن المؤقتة bufferبشكل مباشر إلى الذاكرة الرئيسية •
دون تدخل ال . CPU
• يتم إنشاء مقاطعة واحدة فقط لكل ، blockبدالً من المقاطعة واحدة لكل بايت .
هرميّة الذاكرة
تتكون هرم ّية الذاكرة من التالي :
المسجالت . registers ▪
الذاكرة المخبأة (الكاش) . cache ▪
الذاكرة الرئيسية (الرام) . main memory ▪
األقراص الممغنطة . magnetic disk ▪
األقراص الضوئية . optical disks ▪
األشرطة الممغنطة . magnetic tape ▪
7
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
• أسفل الهرم :يخزن البيانات تخزيناً دائماً ال يزول (غير متطايرة) . non-volatile
8
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
" 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عملي مشترك
Multiprogramming vs Multitasking
: Multiprogramming
هي ضروريّة لزيادة الفعاليّة ،ألنه ال يمكن للمعالج و ألجهزة الدخل و الخرج أن يكونان ▪
مشغولين في آن واحد طوال الوقت ،فال بد من أوقات أن يكونا فيها ينتظران أعمال أو في
حالة فراغ فعندها يجب ملئ هذا الفراغ بأعمال أخرى .
و تقوم هذه التقنيّة بوضع المهام في الذاكرة و من ثمّ تقوم بسحبها واحدة تلو األخرى ▪
بطريقة ال job schedulingلينفذها المعالج ،و في حالة المعالج كان في حالة انتظار
فإنه يقوم بتنفيذ عمل آخر و ذلك بأمر من نظام التشغيل ،أي أن المعالج يقوم باستغالل
الوقت المهدور في انتظار عمليات أخرى .
من األمثلة لهذا النوع نظام التشغيل ويندوز . XP ▪
على عكس المعالج في تقنيّة non-multiprogrammed systemفإن المعالج سيبقى ▪
في حالة خمول و ذلك عند انتظاره لتنفيذ مهمة ما ،من األمثلة لهذا النوع نظام التشغيل
(. )DOS
10
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
يقوم المعالج بخدمة العديد من المهام في وقت واحد و ذلك بإعطاء كل مهمة حصّة زمنيّة قصيرة تسمى ▪
(. )quantum
و ينتقل المعالج بين المهام بسرعة عالية جداً لدرجة أن كل مهمة تعمل و كأنها تستخدم المعالج لوحدها . ▪
و شرط في ال Time sharingأن يكون لكل مستخدم على األقل مهمة واحدة في الذاكرة و في حال طلب ▪
تنفيذ أكثر من عمليّة في آن واحد فهنا يأتي دور ال CPU Schedulingلتنظيم هذه العمليّة .
و في حال عدم اتساع الذاكرة للعمليات فيتم وضع بعض العمليات في ال Virtual memoryو التي تسمح أن ▪
يتم تنفيذ جزء من العمليات خارج الذاكرة .
و الميزة الرئيسة التي تقدمها الذواكر االفتراضيّة بأنها تسمح للمستخدمين بتنفيذ برامج حجمها أكبر من ▪
الذاكرة الفيزيائيّة .
11
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
المؤقت Timer
• من مهما نظام التشغيل التحكّم في المعالج و منع برامج المستخدمين من االستثمار بهذا المورد الهام و العمل
لمدة طويلة داخل المعالج .
• إذا كان هنالك برنامج ينفذ في تكرار غير منتهي infinite loopأو استدعى دالة خدمة و لم يُعيد السيطرة لنظام
التشغيل ،فهذا يسبب إهدار لزمن العالج .
• هنا ال بدّ لنظام التشغيل من آلية تمكنه من توقيف مقل هذه البرامج ،و كان المؤقت timerهو الحل .
كيف يعمل المؤقت :
▪ قبل تشغيل برنامج المستخدم يتأكد نظام التشغيل من أن المؤقت مرتبط مع المقاطعة .
▪ يتم إعداد المؤقت ليصدر المقاطعة بعد فترة محددة (ال تزيد عن ثانية) .
▪ يكون هنالك عداد و ساعة لحساب هذه الفترة :
) 1يقوم نظام التشغيل بتجهيز العداد .
) 2كل دقة ساعة تنقص العداد .
)3عندما يصل العداد صفر تصدر المقاطعة و ينتقل التحكم تلقائياً إلى نظام التشغيل .
12
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
لنظام التشغيل حق التصرف في اعتبار أن هذه المقاطعة خطأ جسيم fatal errorأو قد يعطي البرنامج مهلة ▪
أكثر (زيادة زمن) .
• ما هي ال 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 ▪
• بما أن ال Processهي مجموعة من ال ، Instructionsفال بد أن تكون هذه التعليمات أو جزء منها ضمن
الذاكرة RAMعندما يبدأ التنفيذ .
من عمليات إدارة الذاكرة هي تحديد ما يوجد ضمن الذاكرة و متى يوجد ،مما يقوم بتحسين
استخدام المعالج CPUو تحسين استجابة الحاسوب للمستخدمين .
تتبع جميع أجزاء الذاكرة التي تعمل في الوقت الراهن و معرفة هوية العمليات العاملة بها . ▪
تحديد أي ال Processو أي ال dataيجب أن تدخل إلى ال ، RAMو أيها يجب أن نحرر الذاكرة منها . ▪
تخصيص و تحرير مساحات من الذاكرة حسب الحاجة . ▪
• نظام التشغيل يؤمن طريقة موحدة و منطقيّة لتخزين المعلومات ،و يتم تحقيق هذا األمر من خالل :
عملية تجريد الخصائص الفيزيائية للمعلومات ليتم تخزينها بوحدات منطقيّة على شكل ملفات . files ▪
كل بيئة تخزينية يتم التحكم بها من قبل جهاز معيّن (.) disk drive , tape drive ,, etc ▪
تنويع الخصائص التي تتمتع بها كل بيئة تخزينية و المتمثلة ب access speed , capacity , data ▪
. transfer rate
14
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
• و بما أن المعلومات في وحدات التخزين تعرض بشكل ملفات ،تطلب هذا األمر وجود File-system
( managerمدير الملفات) ،و تتمثل األنشطة التي يقوم بها بالتالي :
• عادة تستخدم األقراص من أجل تخزين البيانات التي ال تتسع ضمن الذواكر الرئيسية أو من أجل حفظ البيانات
لمدة زمنيّة طويلة ،و بالتالي فإن اإلدارة السليمة لعمليات التخزين هي ذات أهمية كبيرة حيث أن سرعة كافة
العمليات المنفذة ضمن الحاسوب متعلقة باألنظمة الفرعية لهذه األقراص و الخوارزميات المطبقة ضمنها .
مالحظة :
بعض أجهزة التخزين ليس من الضروري أن تعمل بسرعة ،مثل أجهزة التخزين ما بعد الثانوية
tertiary storageو التي تشمل optical storage , magnetic storageو لكنها ما تزال تحتاج
اإلدارة من قبل نظام التشغيل .
15
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
Cachingذاكرة الكاش
• هي ذاكرة سريعة جداً تقارب سرعة المعالج ،صغيرة الحجم و مرتفعة الثمن .
• يتم أوالً فحص التخزين األسرع (ذاكرة التخزين المؤقت الكاش) فيما إذا كان يحتوي على المعلومات التي نريدها
و نميز حالتين :
إذا احتوت الكاش ما نريد ،فالمعلومات تستخدم مباشرة من الكاش (عملية سريعة). ▪
إن لم تحتوي الكاش على ما نريد ،تنسخ البيانات من الذاكرة ابطأ إلى الكاش و تستخدم هناك . ▪
• البيانات التي تعتمد المهام multitaskingال بد أن تكون حريصة في استخدامها ألحدث قيم البيانات و ذلك
بغض النظر عن مكان تخزين هذه البيانات في التسلسل الهرمي لوحدات التخزين .
• البيانات ذات المعالجات المتعددة ال بد من أن تؤمن عملية الترابط فيما يخص ال cacheأو ما يدعى
Cache coherencyبحيث تصل أحدث قيمة موجودة على ال cacheإلى المعالجات المركزية العاملة .
• في بيانات النظم الموزعة تعتبر مسألة الكاش أكثر تعقيداً من سابقتيها و ذلك إلمكانية وجود عدة نسخ من
المعطيات التي يتم التعامل معها .
16
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
: Protection
تعرف بأنها أي آلية تتحكم بسماحيّة الوصول للموارد المتاحة من قبل ال processesأو ال . users
: Security
تعرف بأنها عملية الدفاع من قبل النظام ضد أي هجمات داخلية أو خارجية .
• من أوائل خطوات األمان هي عملية تصنيف المستخدمين لتحديد من يمكنه فعل ماذا ،تتم هذه العملية على
المراحل التالية :
تعريف هوية المستخدم " " user IDs , security Idsو التي تتضمن االسم و associated .1
numberالخاص بالمستخدم .
.2
بعد ذلك يتم ربط idالمستخدم بجميع و العمليات و ذلك ليتم إعطاؤه صالحيات الوصول المناسبة .
.3تعريف المجموعات " "group IDو التي تسمح بتعريف مجموعة من المستخدمين و إدارة إمكانياتهم في
التحكم ،و من ثم ربط هذه المجموعة بصالحيات الوصول إلى الملفات و ال Processesالمشتركة .
و أخيراً القيام بزيادة الصالحيات Privilege escalationو التي تسمح للمستخدم بتغير ال idالفعالة .4
الخاصة به في نظام ليحصل على صالحيات أوسع .
• بنية المعطيات الخاصة بال Kernelشبيهة تماما ببنى المعطيات البرمجية األساسية ،نذكرها سريعا :
17
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
18
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
• من أهم مواصفات ال Hash functionبأنه يقوم بعملية التشفير باتجاه واحد ،أي ال يمكن التراجع أو فك
التشفير .
• عند إدخال سر معينة بغرض تسجيل دخول مستخدم ما ،يتم تشفير كلمة السر هذه و من ثم تقارن بالكلمة
المشفرة و الموجودة بال hash mapإذا حصل التطابق يتم تسجيل الدخول بشكل سليم .
Bitmap :
• هي أيضاً أحد بنى المعطيات المستخدمة و التي يمكن تعريفها بأنها سلسلة محرفيه مؤلفة من عدد nمن ال
binary digitو التي تمثل حالة nعنصر من الموارد .
• و بالتالي فإن الموقع iضمن bitmapمرتبط بحالة المورد . i
مثال :
إذا بدأنا العد من الصفر و من اليسار ،و باعتبار أن 0تعني أن المورد متاح و ال 1تعني أن المورد غير متاح .
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
• ال serverهو حاسوب بإمكانيات عالية مجهز ليقدم مجموعة خدمات محددة لمجموعة من ال clientعن
طريق الشبكة .
• : Dumb terminalsتستبدل بالحواسيب الذكية .
• معظم األنظمة اآلن هي مخدمات تستجيب للطلبات المقدمة من قبل ال . client
20
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
• في هذا النموذج المستخدم يعمل بشكل مباشر مع المستخدم اآلخر فال يوجد clientو . server
يعتبر كل العقد (األجهزة) أنداد . ▪
يجب أن يتم وصل كل عقدة مع كل عقدة أخرى . ▪
كل nodeتتصرف كـ clientأو كـ serverأو ككليهما . ▪
كل عقدة تضع خدماتها في الشبكة بتقنية الـ central lookup ▪
كل عقدة تبث طلبها لخدمة معينة ،و تستجيب للطلبات عبر الخدمة . discovery protocol ▪
• نظام التشغيل األساسي للجهاز يستضيف نظام تشغيل جديد و يعمل كأنه أساسي أيضاً .
• مثالً ال VMwareيُشغل ال Linuxكضيف ،كل تطبيقات ال Linuxيمكن تشغيلها دون أن يؤثر هذا على
الحاسوب أو نظام التشغيل األساسي ،و كل تطبيقات نظام التشغيل األساسي يمكن تشغيلها .
• ) : VMM (Virtual Machine Managerيوفر خدمات المحاكاة االفتراضية .
• عندما أضع نظام تشغيل جديد فوق نظام التشغيل الحالي للجهاز فنظام التشغيل األساسي للجهاز يرى النظام
الجديد كتطبيق عادي ،لكن المستخدم عند تطبيقه ألي أمر على نظام التشغيل الجديد يتوقع أن يتم تنفيذه تماماً
• كما لو أنه طبق األمر على نظام التشغيل األساسي .
21
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
• إذاً نظام التشغيل األساسي يجب أن يمتلك إمكانيات ليتعامل مع النظام الجديد ليبدو و كأنه آلة مستقلة تماماً ،
هذا األمر بحاجة إلدارة و هنا يأتي دور ال . VMM
• خدمات الحوسبة و التخزين و حتى التطبيقات أصبحت متوفرة كخدمة عبر الشبكة .
• تعتبر امتداد لل Virtualizationكونها تعتمد ال Virtualizationأساس للمهام التي تقدمها .
• بيئات الحوسبة السحابية Cloud Computingتتألف من أنظمة التشغيل التقليدية ،باإلضافة إلى . VMM
أدوات إدارة السحابة :
اتصال اإلنترنت يتطلب األمن مثل . firewalls ▪
موازنات التحميل ( )load balancersتعمل على فصل حركة مرور البيانات عبر عدة تطبيقات . ▪
• نستطيع القول أن ال Virtualizationهي تقنية تقسيم الموارد و إعطائها ل OSمختلفة .
أما ال cloudفهي تحدد لمن أقدم المورد فهي تقوم بإدارة لل . Virtualization
• أمثلة عن الكالود ()IBM cloud – Google drive – Dropbox
• هي أنظمة موجودة في أجهزة تحكم مثل :أجهزة تجميع السيارات ،منصات إطالق الصواريخ . Robotics ،
• أكثر أشكال األنظمة انتشاراً :
22
/ITE.RBCs
نظم تشغيل | 1عملي مشترك
مثالً آالت سحب المال ،ال يجب أن ينقص الرصيد قبل أن تخرج النقود من اآللة ،يجب أن تخرج بطاقة ▪
المستخدم بعد خروج المال و أن يصدر صوت تنبيه من اآللة بنفس الوقت .
• الحوسبة الموزعة :هي عملية توزيع dataموجودة على جهاز لتكون على عدة أجهزة و كل جهاز يقوم باستخدامها
بشكل مختلف إلنجاز مهمة ما .
• تعرف بأنها عملية جمع ألنظمة منفصلة و قد تكون غير متجانسة و ربطها لتعمل معاً .
• الشبكة هب طريقة التواصل ،و استخدام بروتوكول ال TCP/IPهو األكثر شيوعاً :
). Local Area Network (LAN ▪
). Wide Area Network (WAN ▪
). Metropolitan Area Network (MAN ▪
). Personal Area Network (PAN ▪
• من مزايا نظام التشغيل الموزع :
يسمح مخطط التواصل Communication schemeبتبادل الرسائل بين األنظمة . ▪
يقدم انطباع أو إيهام بالعمل على نظام واحد . ▪
توزيع الحمل بين هذه الحاسبات (. )load balancing ▪
• من العيوب :زمن االتصال بين أجزاء النظام قد يؤثر على أداء النظام ككل .
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