Skip to content

نظام التشغيل: توظيف "مدير كبير" لحاسوبك

مقدمة

مع معالج مثالي وذاكرة لا نهائية، هل يمكن استخدام الحاسوب مباشرة؟ في الفصل السابق، رأينا كيف تتحد الترانزستورات لتشكل معالجاً قوياً. ولكن حتى لو كان لديك أفضل الأجهزة، إذا تركتها تعمل مباشرة، فإن عرض حرف واحد على الشاشة سيتطلب مئات الأسطر من تعليمات الآلة المعقدة. ليس الأمر مزعجاً فحسب، بل خطير للغاية -- بأي خطأ بسيط، يمكن أن يكتب الكود الخاص بك فوق بيانات الآخرين.

لحل هذه الكوابيس، وُلد نظام التشغيل (Operating System, OS). إنه أعظم طبقة "برمجية" بينك وبين الأجهزة الباردة. في هذا الفصل، سنتجاوز الكود المعقد ونستخدم تشبيهات بسيطة لنرى كيف يروض هذا "المدير الخارق" الأجهزة الفوضوية.

ماذا ستتعلم في هذه المقالة؟

بعد إكمال هذا الفصل، ستكتسب:

  • قدرة على تشخيص المشكلات: عند مواجهة "برنامج متجمد" أو "ذاكرة غير كافية"، يمكنك التحليل من مستوى نظام التشغيل
  • فهم أعمق للمصطلحات: فهم المشكلات التي يحلها "تعدد العمليات" و"الذاكرة الافتراضية" و"أذونات الملفات"
  • تفكير نظامي: فهم أن البرامج لا تعمل بمعزل، بل تتفاعل بشكل وثيق مع نظام التشغيل والعمليات الأخرى وموارد الأجهزة
  • أساس للتعلم المستقبلي: وضع الأساس للبرمجة المتزامنة، وضبط الأنظمة، وتقنية الحاويات
الفصلالمحتوىالمفهوم الأساسي
الفصل 1إدارة العملياتتعدد إرسال زمني للمعالج، الجولة الزمنية
الفصل 2إدارة الذاكرةالذاكرة الافتراضية، آلية الترقيم
الفصل 3نظام الملفاتتنظيم الملفات، هيكل الدلائل

0. نظرة عامة: ماذا سيحدث بدون نظام تشغيل؟

تخيل أنك فتحت "مصنع حوسبة" واعد جداً (حاسوبك)، به عامل نخبة لا يعرف التعب (المعالج)، ومستودع ضخم (الذاكرة)، وحاويات لا حصر لها (القرص الصلب).

إذا لم توظف مديراً (نظام تشغيل):

  1. أزمة احتكار المعالج: المعالج يستطيع القيام بشيء واحد فقط في كل مرة. إذا كان شخص ما يستخدمه للاستماع للموسيقى، فجميع من يريدون تصفح الويب؟ اعتذار، يجب الانتظار.
  2. حادث دهس الذاكرة: وي تشات واللعبة يستخدمان المستودع (الذاكرة). بدون حراس أمن، قد تضع اللعبة بيانات المعدات في صندوق وي تشات، مما يسبب انهياراً فورياً.
  3. متاهة القرص الصلب: أجهزة القرص هي مجرد أقراص محفورة بـ 0 و 1. للعثور على صورة الأمس، يجب أن تتذكر بالضبط "الوجه 1، المسار 56، القطاع 8" -- لا أحد يستطيع تذكر هذه الإحداثيات اللاإنسانية.
📱 Applications
🎵💬🎮
🖥️ Operating System
Schedule CPU
Allocate memory
Manage files
💾 Hardware
🧠 CPU💾 Memory💿 Disk
The application is ready to send a request...

لحل هذه الكوابيس الثلاثة، يستخدم نظام التشغيل أدواته الثلاث الرئيسية: إدارة العمليات، إدارة الذاكرة، ونظام الملفات.


1. إدارة العمليات: تعدد الإرسال الزمني للمعالج

عادة تستخدم الحاسوب مع وي تشات مفتوح، وتستمع للموسيقى، وتكتب في نفس الوقت. ولكن إذا كان حاسوبك يحتوي على نواة معالج واحدة فقط، كيف يقوم بهذه الأشياء الثلاث في وقت واحد؟

الجواب: إنه لا يقوم بها في وقت واحد. بل نظام التشغيل يقوم بـ "إدارة الوقت" بجنون.

⏱️ The CPU switches tasks so fast you cannot feel it
CPU
💬Chat
Time slice: 0ms
💬
Chat
Running
🎵
Music
Waiting
🌐
Browser
Waiting
💡 Principle: The CPU switches processes every 100ms. It happens so quickly that it feels like everything runs at the same time, even though each process is actually executing in slices.

1.1 ما هي "العملية"؟

كل برنامج قيد التشغيل يسمى عملية. يمكنك فهمها كـ "فريق مشروع"، مع كودها الخاص (قائمة المهام)، وبياناتها الخاصة في الذاكرة (أموال المشروع)، تنتظر دورها لمقابلة المعالج.

1.2 الجولة الزمنية

لمنع البرمجيات الخبيثة من احتكار المعالج، يقسم نظام التشغيل وقت المعالج إلى أجزاء صغيرة جداً (~10 مللي ثانية)، ويوزعها بالتناوب على كل عملية. وبما أن التبديل سريع جداً، تشعر أن كل شيء يعمل "في وقت واحد".


2. إدارة الذاكرة: مساحة العناوين الافتراضية

بعد حل مشكلة تبادل المعالج، التالي هو مساحة الذاكرة. بدون إدارة، جميع البرامج ستكتب مباشرة في الذاكرة الفعلية، مما سيؤدي حتماً إلى دهس متبادل للبيانات.

🧠 The operating system gives each program an illusion of memory
📱 Memory as the program sees it (virtual)
💬 Chat
1
2
3
4
🎮 Game
1
2
3
4
The operating system maps addresses ↓
💾 Real memory chips (physical)
1OS
2
3
4OS
5
6
7
8OS
💡 Principle: Each program thinks it owns a continuous block of memory on the left. In reality, the operating system spreads data across real memory on the right. The addresses a program sees are virtual, and the OS translates them.

2.1 الذاكرة الافتراضية (Virtual Memory)

نظام التشغيل يكذب على كل عملية: "مرحباً، لديك كل ذاكرة الحاسوب لنفسك، استخدمها كما تشاء!"

في نظر العملية، ذاكرتها دائماً متصلة ونظيفة. إنها تكتب البيانات فيها بارتياح.

2.2 جدول الصفحات (Page Table)

في الواقع؟ نظام التشغيل偷偷 يضع البيانات في الذاكرة الفعلية الحقيقية في الفجوات المتناثرة. هذا له فائدتان عبقريتان:

  1. أمان مطلق: وي تشات لا يمكنها رؤية مساحتها الخاصة فقط، ولا يمكنها التلاعب ببيانات الآخرين
  2. استغلال الشظايا: بغض النظر عن مدى فوضوية الذاكرة الفعلية، المساحة الافتراضية للعملية لا تزال مرتبة

3. نظام الملفات: تنظيم التخزين الدائم

إذا اشتريت قرصاً صلباً جديداً، فهو في الحقيقة منطقة تخزين قاحلة. إذا كنت تريد حفظ صورة، القرص سيسألك فقط: "أخبرني أي بايت تريد الحفظ فيه؟"

📁 The file you see vs fragments on disk
📂 What you see (folder)
📁Photos
🖼️pet.jpg2.5MB
🖼️trip.png1.8MB
💾 Real disk storage (data blocks)
1
2
3Pet-1
4
5Trip-1
6Trip-2
7Pet-2
8
9
10
11Pet-3
12
💡 Principle: The file system splits a file into fragments stored in different disk blocks, then keeps a table of their locations. The tidy folder you see is a view built from that table.

3.1 ماذا يفعل نظام الملفات؟

  1. تقطيع القرص: يقسم القرص إلى عدد لا يحصى من الكتل بحجم ثابت (عادة 4 كيلوبايت)
  2. إنشاء سجل حسابات: يسجل أي الكتل ممتلئة وأيها فارغة
  3. ترجمة المسارات: يحول D:/صور/حيواني.jpg إلى "الكتل 3، 7، 11"

لهذا السبب إعادة تسمية ملف تتم فوراً (تغيير الاسم فقط في السجل)، بينما نسخ ملف يستغرق وقتاً طويلاً (يجب قراءة وكتابة كتل البيانات الفعلية).


4. تنسيق الثلاثة: عملية إطلاق برنامج كاملة

لقد تعرفنا على الوحدات الثلاث الرئيسية لنظام التشغيل. لنرى كيف تنسق عندما تنقر مرتين لفتح برنامج:

🚀 What is the computer doing after you double-click an icon?
1👆
You double-click the icon
The operating system receives a request to start the browser
2📋
Create a process
3🧠
Allocate memory
4📁
Load files
5▶️
Start running
🖱️
Clicking...

سواء نقرت على أيقونة سطح المكتب أو كتبت print("Hello World") في الكود، كل هذا يعتمد على هذا العمل المخفي المعقد. يمكننا تصفح العالم الرقمي بسهولة بفضل نظام التشغيل الذي يتحمل الأعباء في الأسفل.


قراءة إضافية

إذا وجدت "تقنيات الإدارة والخداع" في نظام التشغيل مثيرة للاهتمام، يمكنك استكشاف هذه المواضيع المتقدمة:

  • العمليات والمسارات: إذا كانت العملية فريق مشروع، فإن "المسار" هو الموظف الذي يعمل في الفريق
  • التزامن والأقفال: عندما تتنافس عمليتان على نفس المورد، كيفية منع الجمود
  • استدعاءات النظام: "نافذة الخدمات" التي يوفرها نظام التشغيل للتطبيقات