🤔 إزاي الكمبيوتر بيفهم اللي أنا عايزه؟ ومين اللي بيتحكم في كل حاجة من ورا؟
أهلاً بيك في المحاضرة الأولى من مادة نظم التشغيل! 🎓
أنا عارف إنك داخل المحاضرة دي ومتسائل: "إيه نظم التشغيل دي؟ وإيه اللي جابها في حياتي؟"
خلّيني أقولك الحقيقة: من غير نظام التشغيل، الكمبيوتر بتاعك مجرد قطعة حديد! 🖥️❌
تخيّل معايا: تشتري أغلى كمبيوتر في الدنيا، بأحدث معالج وأكبر رامات. تفتحه... وتلاقي شاشة سودا! ليه؟ عشان مفيش نظام تشغيل يقول للهاردوير إزاي يشتغل!
المشكلة؟ المادة دي صعبة! دفعات كتير فشلت فيها. ليه؟ عشان بيتعملوا إنهم فاهمين، وفي الامتحان بيتلخبطوا. 🚨
فـ في المحاضرة دي، هنشرح كل حاجة من الصفر، بطريقة بسيطة خالص، زي ما تكون قاعد مع صاحبك بيشرحلك! ☕
🎯 إيه اللي هتتعلمه في المحاضرة دي؟
| الترتيب | الموضوع | الأهمية |
|---|---|---|
| 1 | مفهوم نظام التشغيل (What is an OS?) | ⭐⭐⭐⭐⭐ أساسي جداً |
| 2 | أهداف نظام التشغيل (OS Goals) | ⭐⭐⭐⭐⭐ في الامتحان |
| 3 | مكونات نظام الحاسوب (Computer System Structure) | ⭐⭐⭐⭐⭐ رسم بياني مهم |
| 4 | تعريفات نظام التشغيل (Resource Allocator - Control Program) | ⭐⭐⭐⭐⭐ سؤال مهم |
| 5 | مكونات نظام التشغيل (Kernel vs Shell) | ⭐⭐⭐⭐⭐ الفرق بينهم مهم |
| 6 | وجهة نظر المستخدم vs وجهة نظر النظام (User View vs System View) | ⭐⭐⭐⭐ سؤال نظري |
| 7 | تطور نظم التشغيل (Evolution of OS - 7 مراحل) | ⭐⭐⭐⭐⭐ ترتيب الأجيال مهم |
| 8 | أنواع أنظمة التشغيل (8 أنواع مفصلة) | ⭐⭐⭐⭐⭐ أسئلة كتيرة |
| 9 | وظائف نظام التشغيل (8 وظائف) | ⭐⭐⭐⭐⭐ في كل امتحان |
📚 الجزء الأول: مفهوم نظام التشغيل (Operating System)
🤔 إيه هو نظام التشغيل بالظبط؟
تعالى نفهمها بطريقة بسيطة:
يعني إيه كلام ده؟
أنت لما تفتح أي برنامج - وليكن وورد - إنت بتضغط على أيقونة. بس في الحقيقة، نظام التشغيل هو اللي:
- بياخد الأمر منك (الضغطة)
- بيوصله للمعالج (CPU)
- بيحجز مكان في الذاكرة (RAM) للبرنامج
- بيظهرلك النتيجة على الشاشة
من غيره؟ مفيش حاجة هتشتغل! ❌
🌍 هل نظام التشغيل بس للكمبيوتر؟
لا! نظام التشغيل في كل حاجة حوالينا:
أجهزة فيها نظام تشغيل:
├── الكمبيوتر (ويندوز، لينكس، ماك)
├── الموبايل (أندرويد، iOS)
├── السيارة (نظام التحكم في المحرك)
├── الطيارة (نظام الطيران والملاحة)
├── الطابعة (نظام إدارة الطباعة)
├── الغسالة (نظام التحكم في البرامج)
└── الأجهزة الذكية (IoT Devices)📋 أمثلة على أنظمة التشغيل الشائعة:
UNIX, Mach, MS-DOS, MS-Windows, Windows/NT, Chicago, OS/2, MacOS, VMS, MVS, VM
🎯 الجزء الثاني: أهداف نظام التشغيل (Operating System Goals)
نظام التشغيل مش موجود عشان يزعجك! 😄 عنده 3 أهداف رئيسية:
| الهدف | الشرح | المصطلح الإنجليزي |
|---|---|---|
| 1. تنفيذ برامج المستخدم | يساعدك تشغل البرامج اللي عايزها بسهولة | Execute user programs and make solving user problems easier |
| 2. تسهيل استخدام الكمبيوتر | يخلي الكمبيوتر سهل الاستخدام مش معقد | Make the computer system convenient to use |
| 3. استخدام الهاردوير بكفاءة | يستغل موارد الجهاز أحسن استغلال | Use the computer hardware in an efficient manner |
🏗️ الجزء الثالث: مكونات نظام الحاسوب (Computer System Components)
عشان تفهم نظام التشغيل، لازم تعرف نظام الحاسوب بيتكون من إيه:
نظام الحاسوب = Hardware + Software + Users
HARDWARE (الهاردوير - الجزء المادي):
├── Essentials (أساسيات):
│ ├── Processor(s) (المعالج/المعالجات)
│ ├── Buses (الناقلات)
│ └── Memory (الذاكرة):
│ ├── Registers (السجلات)
│ ├── ROM (ذاكرة القراءة فقط)
│ └── RAM (ذاكرة الوصول العشوائي - Volatile)
│
└── Optionals (اختياريات):
├── Secondary Memory (HDD/SSD) - التخزين الثانوي
├── Tertiary Memory (Tape, Flash drives) - التخزين الثالثي
└── Peripherals (الأجهزة الطرفية):
├── Input (إدخال): Keyboard, Mouse, Scanner
└── Output (إخراج): Monitor, Printer
SOFTWARE (السوفت وير - البرامج):
├── System Software (برامج النظام)
│ ├── Operating System (OS) ⭐ - نظام التشغيل
│ └── Utilities (أدوات النظام)
└── Application Software (برامج التطبيقات)
└── Programs (by users) - برامج المستخدم
USERS (المستخدمون):
├── People (الناس)
├── Machines (الأجهزة)
└── Other Computers (كمبيوترات أخرى)🔀 التسلسل الهرمي للنظام (Four Components):
| الطبقة | الاسم | الوظيفة |
|---|---|---|
| 1 (الأعلى) | Users (المستخدمين) | الناس، الأجهزة، الكمبيوترات التانية |
| 2 | Application Programs (برامج التطبيقات) | المترجمات (compilers)، المتصفحات، أدوات التطوير |
| 3 | Operating System (نظام التشغيل) ⭐ | الوسيط بين البرامج والهاردوير - يتحكم وينسق استخدام الهاردوير |
| 4 (الأخيرة) | Computer Hardware (هاردوير الكمبيوتر) | المعالج، الذاكرة، أجهزة الإدخال/الإخراج |
📖 الجزء الرابع: تعريفات نظام التشغيل (Operating System Definitions)
فيه تعريفين رئيسيين لنظام التشغيل في المحاضرة:
1️⃣ Resource Allocator (موزع الموارد)
نظام التشغيل بيدير ويوزع موارد الكمبيوتر على البرامج المختلفة.
الموارد اللي بيديرها نظام التشغيل:
├── CPU (المعالج) - تنفيذ الأوامر
├── Memory (الذاكرة) - تخزين مؤقت
├── Files (الملفات) - تخزين دائم
├── I/O Devices (أجهزة الإدخال/الإخراج)
└── Network (الشبكة) - الاتصال بالخارج
التسلسل:
Users → Resource Request → Resource Allocator (OS) → Resources → Processes Use Resources2️⃣ Control Program (برنامج التحكم)
نظام التشغيل بيتحكم في تنفيذ برامج المستخدم وعمليات أجهزة الإدخال/الإخراج.
وظائف Control Program:
User Program Execution (تنفيذ برامج المستخدم):
├── البرامج بتطلب خدمات باستخدام System Calls (نداءات النظام)
├── OS بيحمل البرامج في الذاكرة (load into memory)
├── OS بيحددها على CPU (schedule on CPU)
└── OS بيتحكم في التنفيذ باستخدام Process Scheduling و Context Switching
Control of I/O Devices (التحكم في أجهزة الإدخال/الإخراج):
├── OS بيدير كل عمليات الإدخال/الإخراج
├── يستخدم Device Drivers للتواصل مع الهاردوير
└── يخصص الأجهزة للبرامج ويتحكم فيها
دور OS:
├── واجهة بين برامج المستخدم والهاردوير
├── يضمن الاستخدام الفعال والآمن للـ CPU وأجهزة I/O
└── يمنع التعارض بين البرامج المتعددة⚙️ الجزء الخامس: مكونات نظام التشغيل (Components of OS)
نظام التشغيل بيتكون من جزئين أساسيين:
👁️ الجزء السادس: وجهة النظر - المستخدم vs النظام (Two Viewpoints)
نظام التشغيل ممكن نشوفه من زاويتين مختلفتين:
| وجهة النظر | الوصف | الاهتمام الرئيسي |
|---|---|---|
| User View (وجهة المستخدم) | المستخدم عايز يستخدم موارد الجهاز بسهولة، ويعمل أكبر قدر من الشغل، بأقل مجهود | سهولة الاستخدام، الراحة، الإنتاجية، maximize the work |
| System View (وجهة النظام) | نظام التشغيل هو برنامج تحكم (control program)، بيدير تنفيذ برامج المستخدم، ويمنع الأخطاء والاستخدام الغلط للكمبيوتر | الكفاءة، الأمان، إدارة الموارد، operation and control of I/O devices |
⏳ الجزء السابع: تطور نظم التشغيل (Evolution of OS - مهم جداً!)
ده سؤال مهم في الامتحان! لازم تعرف الترتيب الزمني وخصائص كل جيل:
1️⃣ 1940s–1950s: No Operating System (مفيش نظام تشغيل)
الخصائص:
├── مفيش نظام تشغيل خالص
├── البرامج بتتنفذ يدوياً باستخدام Punch Cards (كروت مثقوبة)
├── برنامج واحد بس بيشتغل في نفس الوقت (one program at a time)
└── المبرمج هو المشغل (Programmer = Operator)
التسلسل: User → Machine Language (Punch Cards/Switch) → CPU+Memory+I/O → Hardware2️⃣ 1950s–1960s: Mainframe Systems (أنظمة الحواسيب المركزية)
الخصائص:
├── تقليل وقت الإعداد (Reduce setup time) بتجميع المهام المتشابهة (batching similar jobs)
├── تسلسل المهام التلقائي (Automatic Job Sequencing)
│ └── بيحول التحكم من مهمة للتانية أوتوماتيكياً
├── أول نظام تشغيل بدائي (First rudimentary OS)
└── Resident Monitor: برنامج مقيم (initial control in monitor)
التسلسل: User → Input Devices (Card Reader) → Batch Monitor/OS → Mainframe CPU → Output Devices
المميزات: قوة معالجة عالية، قابلية التوسع، تحمل الأخطاء (Fault Tolerant)، أمان عالي
العيوب: غالي جداً، معقد، يحتاج متخصصين3️⃣ 1960s–1970s: Batch Processing OS (معالجة الدُفعات)
الخصائص:
├── بيقبل أكتر من مهمة (Job)
├── المهام بتتجمّع (Batch) حسب التشابه
├── المشغل (Operator) هو اللي بيجمع المهام
├── لما الكمبيوتر يفضل، المهام بتتبعت للتنفيذ
├── الناتج بيرجع للمستخدم تدريجياً
├── برنامج واحد بس بيشتغل في نفس الوقت (only one program at a time)
└── مسؤول عن جدولة المهام حسب الأولوية والموارد
الـ OS بيعمل:
├── Job scheduling
├── Memory management
├── I/O management
└── Job sequencing
المميزات: كفاءة الموارد، إنتاجية عالية (High Throughput)، تقليل الأخطاء، إدارة مبسطة، توفير التكلفة، قابلية التوسع
العيوب: وظائف محدودة، مشاكل أمنية، انقطاعات متكررة، بطء4️⃣ 1960s–1970s: Multiprogramming OS (البرمجة المتعددة) ⭐
الفكرة الأساسية (Concept):
├── كل المهام بتدخل النظام وتتخزن في Job Pool (في القرص - on disc)
├── OS بيحمل مجموعة من المهام من Job Pool للـ Main Memory
├── أثناء التنفيذ، المهمة ممكن تستنى حاجة (زي I/O)
├── OS بيحوّل للمهمة التانية على طول (switch to another job)
├── لما المهمة الأولى تخلص الانتظار، ترجع تاخد CPU
├── طول ما فيه مهمة محتاجة CPU، الـ CPU مش بيفضل فاضي (never idle)
└── بيستخدم Job Scheduling و CPU Scheduling
الهدف: زيادة استغلال CPU (increases CPU utilization)
المميزات: زيادة استغلال الموارد، دعم أكتر من مستخدم، تقليل وقت الانتظار، تحسين الاستجابة، موثوقية أعلى
العيوب: المهام الطويلة بتاخد وقت، محتاج إدارة ذاكرة معقدة، ممكن يسخن الجهاز، محتاج معرفة بـ Scheduling Algorithms:
⚠️ Scheduling Algorithms (مهم للامتحان):
├── Preemptive: لو أكتر من process عايزة تدخل critical section، بتدخل من غير مقاطعة
└── Non-Preemptive: لو process دخلت critical section، مش بتخرج لحد ما تخلص شغلها5️⃣ 1960s–1970s: Real-Time Operating Systems (RTOS) - أنظمة الوقت الحقيقي ⭐
الخصائص:
├── نظام multitasking بمواعيد محددة (fixed deadlines)
├── للتطبيقات اللي محتاجة استجابة فورية
├── تطور مع التكنولوجيا والحاجة للأداء في الوقت الحقيقي
└── أمثلة: الأنظمة المدمجة (embedded)، متحكمات محرك السيارة، الروبوتات الصناعية، المركبات الفضائية، التحكم الصناعي
التصنيفات (مهم جداً):
🔴 Hard Real-Time System (صارم):
├── بيضمن إن المهام الحرجة تتنفذ في معادها بالضبط
├── كل التأخيرات لازم تكون محدودة ومضمونة (bounded delays)
├── الـ Time Constraints بتحدد الـ Facilities المتاحة
└── أمثلة: فرامل السيارة، نظام الطيران، الأجهزة الطبية الحرجة
🟡 Soft Real-Time System (مرن):
├── أقل تقييد من الـ Hard
├── المهام الحرجة ليها أولوية لحد ما تخلص
├── ممكن يتخلط مع أنظمة تانية
└── أقل أمان للتحكم الصناعي (risky) - أمثلة: تشغيل الفيديو، الألعاب
المميزات: استغلال أقصى للأجهزة، تبديل سريع للمهام (3 نانوثانية في الأنظمة الحديثة)، تركيز على التطبيقات النشطة، مناسب للـ Embedded Systems، خالي من الأخطاء، إدارة ممتازة للذاكرة
العيوب: مهام محدودة جداً، يستخدم موارد ثقيلة ومكلفة، خوارزميات معقدة، يحتاج Drivers وإشارات Interrupt خاصة، صعوبة في تحديد أولوية الـ Threads، تبديل مهام قليل (minimal task switching)6️⃣ 1970s–1980s: Time-Sharing / Multitasking OS (المشاركة الزمنية)
الخصائص:
├── امتداد منطقي للـ Multiprogramming (logical extension)
├── تبديل أسرع بين المهام المتعددة (faster switching)
├── أكتر من مستخدم يقدروا يشاركوا نفس الكمبيوتر (multiple users)
├── المستخدمين يقدروا يتفاعلوا مع كل مهمة وهي شغالة (interact)
├── بيستخدم مفهوم الذاكرة الافتراضية (Virtual Memory)
├── مفيش مهام بتترمي - كل واحدة بتتنفذ باستخدام Virtual Memory
└── أمثلة: CTSS, MULTICS, CAL, UNIX
الـ OS بيعمل:
├── CPU scheduling
├── CPU Time Slicing (تقسيم وقت المعالج)
├── Memory management
├── I/O management
└── Security management
المميزات: كل مهمة ليها فرصة متساوية، فرص تكرار Software أقل، تقليل وقت CPU الفاضي
العيوب: مشاكل في الموثوقية (Reliability)، لازم اهتمام بالأمان وسلامة البيانات، مشاكل في اتصال البيانات7️⃣ 1980s–1990s: Multiprocessor OS (أنظمة المعالجات المتعددة) ⭐
الأسماء التانية: Parallel OS, Tightly Coupled OS
الخصائص:
├── أكتر من معالج بيتواصلوا مع بعض (more than one processor)
├── بيشاركوا: Bus (الناقل)، Clock (الساعة)، Memory، Peripherals
├── بينفذوا أكتر من مهمة في نفس الوقت
└── أسرع في المعالجة
الـ 3 مميزات الرئيسية (Three Main Advantages):
1. Increased Throughput: شغل أكتر في وقت أقل (N processors)
2. Economy of Scale: توفير فلوس (مشاركة الأجهزة، التخزين، الكهرباء)
3. Increased Reliability: لو معالج وقع، الباقي يكملوا
مفاهيم مهمة:
├── Graceful Degradation: القدرة على الاستمرار في الخدمة حسب مستوى الهاردوير الباقي
└── Fault Tolerant: الأنظمة المصممة للـ Graceful Degradation
أنواع Multiprocessor (مهم جداً):
🔴 Symmetric Multiprocessing (SMP):
├── كل معالج شغل نسخة متطابقة من OS
├── كل المعالجات متساوية (equal)
├── أي معالج يقدر يعمل أي مهمة (scheduling, I/O)
├── العمليات بتتوزع ديناميكياً باستخدام CPU scheduling
├── كل المعالجات بيشاركوا نفس الذاكرة والـ I/O
└── اسم تاني: Shared-Memory Multiprocessing
المميزات: فشل معالج واحد مبيأثرش على الباقي، توزيع متساوي للشغل، استغلال موارد محسن
العيوب: معقد، غالي، محتاج مزامنة (synchronization) بين المعالجات
🟡 Asymmetric Multiprocessing:
├── المعالجات مش متساوية
├── معالج واحد Master يتحكم في معالجات Slave (master-slave relationship)
├── الـ Master بيعمل scheduling و memory management و I/O
├── الـ Slaves بينفذوا المهام اللي الـ Master بيوزعها
└── الـ Master بيحافظ على الـ Ready Queue ويوزع العمليات
المميزات: أوفر تكلفة، سهل التصميم والإدارة، مرن
العيوب: توزيع غير متساوي للشغل، المعالجات مش بيشاركوا نفس الذاكرة، النظام كله بيوقع لو الـ Master وقع8️⃣ 2000–present: Distributed Operating Systems (أنظمة التوزيع)
الخصائص:
├── أجهزة مختلفة متصلة في شبكة (connected in a network)
├── كل جهاز له معالجه وذاكرته المحلية (local memory)
├── أنظمة التشغيل على كل الأجهزة بتشتغل مع بعض
└── بتدير الشبكة ككل (manage the collective network)
التصنيفات:
├── Client-Server Systems: العميل بيطلب، السيرفر بيستجيب
└── Peer-to-Peer Systems: كل جهاز عميل وسيرفر في نفس الوقت
المميزات (Advantages):
├── Resources Sharing: مشاركة الموارد
├── Computation Speed-up: توزيع الحمل (load sharing)
├── Reliability: الموثوقية - لو جهاز وقع، الباقي يكمل
└── Communications: التواصل بين الأجهزة
المتطلبات: Network Infrastructure (LAN أو WAN)9️⃣ Desktop / Personal Computer Systems
الخصائص:
├── مصمم لراحة المستخدم والاستجابة السريعة (user convenience)
├── مش Multi-User في الأصل (مستخدم واحد)
├── مش Multitasking في الأصل (تطور بعدين)
└── أمثلة:
├── Microsoft Windows (أخذت مكان MS-DOS، وتطورت لـ Windows/NT)
├── OS/2 (من IBM - multitasking)
└── Apple Macintosh (تطور لـ MacOS مع Virtual Memory)| الجيل | الفترة | النوع | الخصائص الرئيسية |
|---|---|---|---|
| 1 | 1940s–1950s | No OS | مفيش OS، Punch Cards، برنامج واحد، Programmer=Operator |
| 2 | 1950s–1960s | Mainframe | Resident Monitor، Automatic Job Sequencing، غالي ومعقد |
| 3 | 1960s–1970s | Batch Processing | تجميع المهام، برنامج واحد، Operator يجمع |
| 4 | 1960s–1970s | Multiprogramming | أكتر من برنامج في الذاكرة، Job Pool، CPU never idle |
| 5 | 1960s–1970s | Real-Time OS | Hard vs Soft، مواعيد محددة، embedded systems |
| 6 | 1970s–1980s | Time-Sharing | أكتر من مستخدم، Virtual Memory، CTSS, UNIX |
| 7 | 1980s–1990s | Multiprocessor | Symmetric vs Asymmetric، Graceful Degradation |
| 8 | 2000–present | Distributed | شبكة، Client-Server، Peer-to-Peer |
🖥️ الجزء الثامن: أنواع أنظمة التشغيل (Types of Operating Systems) - ملخص سريع
⚙️ الجزء التاسع: وظائف نظام التشغيل (Functions of OS)
ده أهم جزء في المحاضرة! سؤال في كل امتحان:
1️⃣ Process Management (إدارة العمليات)
المسؤوليات:
├── إنشاء وحذف العمليات (Process creation and deletion)
├── تعليق واستئناف العمليات (Process suspension and resumption)
├── جدولة العمليات (Scheduling) لوقت CPU
├── التواصل والتنسيق بين العمليات المتعاونة
├── حل النزاعات بين العمليات المتنافسة
└── توفير آليات لـ:
├── Process Synchronization (تزامن العمليات)
└── Process Communication (تواصل العمليات)
ملاحظة: العملية (Process) = برنامج قيد التنفيذ يحتاج موارد (CPU, Memory, Files, I/O)2️⃣ Main-Memory Management (إدارة الذاكرة الرئيسية)
خصائص الذاكرة:
├── الذاكرة = مجموعة كبيرة من الكلمات أو البايتات (words or bytes)
├── كل بايت له عنوان ثابت (Memory Address)
├── مستودع للبيانات السريعة (shared by CPU and I/O devices)
├── ذاكرة مؤقتة (Volatile) - بتضيع لو حصل فشل في النظام
└── CPU بيسحب التعليمات من عناوين الذاكرة (instruction-fetch cycle)
المسؤوليات:
├── متابعة أي أجزاء من الذاكرة مستخدمة وبمين (Keep track)
├── قرار أي عمليات تحمل لما يكون فيه مساحة فاضية
└── تخصيص وتحرير مساحة الذاكرة (Allocate and de-allocate)🔺 Storage Device Hierarchy (هرم التخزين) - رسم مهم!
الهرم (من فوق لتحت - من سريع لبطئ، من صغير لكبير):
Primary Storage (Volatile - مؤقت):
├── Registers (أسرع، أصغر)
├── Cache
└── Main Memory (RAM)
Secondary Storage (Nonvolatile - دائم):
├── Nonvolatile Memory
├── Hard-Disk Drives
├── Optical Disk
└── Magnetic Tapes (أبطأ، أكبر)
ملاحظة: كل ما ننزل في الهرم، السعة بتزيد (larger) والسرعة بتقل (slower)!3️⃣ File Management (إدارة الملفات)
تعريف الملف: مجموعة من المعلومات المرتبطة معرفة بصانعها (defined by its creator)
المسؤوليات:
├── إنشاء وحذف الملفات (File creation and deletion)
├── إنشاء وحذف المجلدات (Directory creation and deletion)
├── دعم العمليات الأساسية للتعامل مع الملفات والمجلدات
├── ربط الملفات بالتخزين الثانوي (Mapping files onto secondary storage)
└── نسخ احتياطي للملفات على تخزين مستقر (Nonvolatile backup)4️⃣ I/O System Management (إدارة نظام الإدخال/الإخراج)
أجهزة I/O المتنوعة:
├── Keyboard, Mouse, Touchpad, Stylus Pen
├── Monitor, Scanner, Printer
└── External Disk
التحدي: كل جهاز مصنوعة من مواد مختلفة، محتاجة طرق تعامل مختلفة (different handling techniques)
المسؤوليات:
├── الـ Drivers بتتعامل مع الـ Device Controllers
├── إدارة الأجهزة
└── توفير واجهات بسيطة للمستخدمين
مكونات نظام I/O:
├── Memory Management Module: للـ Buffer, Cache, Spool
├── General Device-Driver Interface
└── Drivers لأجهزة Hardware معينة5️⃣ Secondary-Storage Management (إدارة التخزين الثانوي)
ليه محتاجين تخزين ثانوي؟
├── الذاكرة الرئيسية (Primary) مؤقتة (Volatile)
├── صغيرة ومش كافية لكل البيانات والبرامج
└── محتاجين تخزين دائم للـ Backup
التخزين الثانوي الشائع:
└── Disks (الأقراص) - الوسيط الرئيسي للبرامج والبيانات (principle on-line storage)
المسؤوليات:
├── إدارة المساحة الفارغة (Free Space Management)
├── تخصيص التخزين (Storage Allocation)
└── جدولة القرص (Disk Scheduling)6️⃣ Networking - Distributed Systems (الشبكات - الأنظمة الموزعة)
النظام الموزع (Distributed System):
├── مجموعة من المعالجات مش بيشاركوا نفس الذاكرة أو الساعة (don't share memory or clock)
├── كل معالج له ذاكرته المحلية (local memory)
├── المعالجات متصلة بـ Communication Network
└── التواصل بيتم بـ Message Passing
المميزات:
├── الوصول لموارد مشتركة (access to shared resource)
├── تسريع الحسابات (Computation Speed-up)
├── زيادة توفر البيانات (Increased Data Availability)
└── تحسين الموثوقية (Enhanced Reliability)7️⃣ Protection System (نظام الحماية)
الحماية (Protection):
├── آلية للتحكم في الوصول (mechanism for controlling access) بواسطة البرامج، العمليات، أو المستخدمين
├── للموارد الخاصة بالنظام والمستخدم (system and user resources)
المتطلبات:
├── التمييز بين الاستخدام المصرح به وغير المصرح به (authorized vs unauthorized)
├── تحديد الضوابط المفروضة (specify the controls)
└── توفير وسيلة للإنفاذ (Enforcement)8️⃣ Command-Interpreter System (نظام مترجم الأوامر)
الأوامر المتعلقة بنظام التشغيل (Control Statements):
├── إنشاء وإدارة العمليات
├── التعامل مع I/O
├── إدارة التخزين الثانوي
├── إدارة الذاكرة الرئيسية
├── الوصول لنظام الملفات
├── الحماية
└── الشبكات
أسماء الـ Command-Interpreter:
├── Command-Line Interpreter
└── Shell (في UNIX/Linux)
الوظيفة: جلب وتنفيذ الأمر التالي (Get and execute the next command)🎓 الخلاصة النهائية - جاهز للامتحان!
| المفهوم | الخلاصة |
|---|---|
| نظام التشغيل | وسيط بين المستخدم والهاردوير - Intermediary |
| الأهداف | تنفيذ البرامج، تسهيل الاستخدام، كفاءة الهاردوير |
| Kernel | الجزء النشط، يتعامل مع الهاردوير مباشرة، شغال طول الوقت |
| Shell | مترجم الأوامر، واجهة المستخدم |
| تطور OS | 8 مراحل: No OS → Mainframe → Batch → Multiprogramming → Real-Time → Time-Sharing → Multiprocessor → Distributed |
| أنواع OS | 8 أنواع: Mainframe, Batch, Multiprogramming, Real-Time, Time-Sharing, Multiprocessor, Distributed, Desktop |
| الوظائف | 8 وظائف: Process, Memory, File, I/O, Storage, Network, Protection, Command |
| Storage Hierarchy | Registers → Cache → RAM → Disk → Tape (من سريع لبطئ) |
| Scheduling | Preemptive (يمكن مقاطعته) vs Non-Preemptive (لا يمكن مقاطعته) |
| Graceful Degradation | الاستمرار في العمل رغم فشل جزء من النظام |
❓ أسئلة الامتحان المتوقعة - مع الإجابات!
📚 المصادر والمراجع
- المحاضرة الأولى - مادة نظم التشغيل CS-DS-AIT203
- إعداد: د. عبير حسن البكلي (Dr. Abeer Hassan El Bakly)
- الجامعة التكنولوجية الدولية بحلوان (Helwan International Technological University)
- المراجع:
- A. Silberschatz, P.B. Galvin, G. Gagne. "Operating System Concepts", 10th Edition, Wiley
- S. Pal, "Operating Systems", All India Council for Technical Education, 2023
💬 شاركنا رأيك!
هل الشرح كان واضح؟ عندك سؤال محيرك؟ اكتب لنا في التعليقات! 👇
👍 لو استفدت من المحاضرة دي، شاركها مع زمايلك! العلم بينتشر بالمشاركة.
شارك المقال لتنفع به غيرك
إرسال تعليق
الأخوة الاحبة ، قراء مدونتنا الكرام ، عند التعليق علي اي مشاركة من مشاركات صفحتنا نرجو ان تأخذو بعين الاعتبار القواعد التالية :
1. يجب ان يحترم كل شخص تعليقات واراء الشخص الاخر.
2. يجب الابتعاد عن اي استخدام لصور مخلة او مسيئة للشكل العام.