📚 استنادًا إلى الفصل السادس عشر من كتاب: Operating Systems: Internals and Design Principles – William Stallings – الإصدار التاسع
تُعد **الحوسبة السحابية (Cloud Computing)** نموذجًا ثوريًا لتقديم خدمات الحوسبة عبر الإنترنت ("السحابة"). بدلاً من امتلاك وصيانة البنية التحتية للحوسبة محليًا، يمكن للمستخدمين الوصول إلى موارد مثل الخوادم، التخزين، قواعد البيانات، الشبكات، البرامج، والتحليلات عبر الإنترنت، عند الطلب، وبنموذج الدفع حسب الاستخدام.
الحوسبة السحابية هي بيئة حوسبة توفر موارد (حاسوبية، تخزينية، شبكية، برمجية) عند الطلب عبر الإنترنت، عادةً من خلال مزود خدمة سحابية (مثل AWS، Azure، Google Cloud). تتميز بالمرونة العالية، حيث يمكن توسيع أو تقليص الموارد بسرعة، والتكلفة الموزونة (تدفع فقط مقابل ما تستخدمه)، والاعتمادية بفضل التكرار وتوزيع مراكز البيانات.
| النموذج | الشرح | من يدير ماذا؟ | أمثلة |
|---|---|---|---|
| IaaS (Infrastructure as a Service) - البنية التحتية كخدمة |
يوفر هذا النموذج الموارد الحاسوبية الأساسية مثل الخوادم الافتراضية (VMs)، الشبكات، التخزين، وأنظمة التشغيل. المستخدم لديه تحكم كامل في نظام التشغيل والتطبيقات المثبتة عليه، ولكنه لا يدير البنية التحتية الأساسية (العتاد، الافتراضية، التبريد). |
المزود: يدير العتاد، الافتراضية، الشبكات الأساسية، التخزين. المستخدم: يدير نظام التشغيل، التطبيقات، البيانات، وقت التشغيل (Runtime). |
AWS EC2 (Elastic Compute Cloud) Azure Virtual Machines Google Compute Engine |
| PaaS (Platform as a Service) - المنصة كخدمة |
يوفر هذا النموذج بيئة تطوير ونشر متكاملة للمطورين. يتضمن نظام تشغيل، وقت تشغيل (Runtime)، قواعد بيانات، أدوات تطوير، وخدمات أخرى. يركز المطورون على كتابة التعليمات البرمجية لتطبيقاتهم دون القلق بشأن إدارة البنية التحتية الأساسية أو نظام التشغيل. |
المزود: يدير العتاد، الافتراضية، نظام التشغيل، وقت التشغيل، قواعد البيانات، أدوات التطوير. المستخدم: يدير التطبيقات والبيانات الخاصة به. |
Google App Engine AWS Elastic Beanstalk Heroku |
| SaaS (Software as a Service) - البرمجيات كخدمة |
يوفر هذا النموذج تطبيقات برمجية جاهزة للاستخدام عبر الإنترنت. لا يحتاج المستخدمون إلى تثبيت أي برامج أو إدارة أي بنية تحتية. يتم الوصول إلى التطبيق عادةً عبر متصفح الويب أو واجهة برمجة تطبيقات (API). |
المزود: يدير كل شيء: التطبيق، البيانات، وقت التشغيل، نظام التشغيل، البنية التحتية. المستخدم: يستخدم التطبيق فقط. |
Gmail, Outlook 365 Dropbox, Google Drive Salesforce |
📘 روابط مقترحة:
**أنظمة تشغيل السحابة (Cloud Operating Systems - Cloud OS)** ليست أنظمة تشغيل بالمعنى التقليدي الذي يُثبت على جهاز واحد. بدلاً من ذلك، هي مجموعة من البرمجيات والخدمات التي تعمل عبر بنية تحتية موزعة (عادةً مراكز بيانات ضخمة) لإدارة الموارد الافتراضية، وتوفير الخدمات السحابية، وتشغيل التطبيقات على نطاق واسع. يمكن اعتبارها "نظام تشغيل" لمركز البيانات بأكمله.
القدرة على زيادة أو تقليل الموارد الحاسوبية (مثل عدد الخوادم الافتراضية أو سعة التخزين) تلقائيًا بناءً على الطلب المتغير. هذا يضمن أن التطبيقات يمكنها التعامل مع الزيادات المفاجئة في حركة المرور ويقلل التكاليف في فترات الانخفاض.
مثال: موقع تجارة إلكترونية يزيد عدد الخوادم الافتراضية تلقائيًا خلال فترة التخفيضات الكبرى (مثل الجمعة البيضاء) ثم يقللها بعد انتهاء الفترة.
توزيع عبء العمل بالتساوي عبر الموارد المتاحة لضمان الأداء الأمثل ومنع الإفراط في تحميل أي خادم أو مكون واحد. هذا يزيد من الموثوقية والاستجابة.
تخصيص ومراقبة وإدارة الموارد الافتراضية (مثل vCPUs، الذاكرة الافتراضية، التخزين الافتراضي) للآلات الافتراضية والحاويات. يشمل ذلك جدولة الموارد، تخصيصها ديناميكيًا، ومراقبة استخدامها.
تصميم النظام بحيث يمكنه الاستمرار في العمل حتى في حالة فشل بعض المكونات. يتم ذلك من خلال التكرار (Redundancy) والنسخ الاحتياطي التلقائي.
تقديم خدمات جاهزة للاستخدام (مثل قواعد البيانات المدارة، خدمات التحليلات، خدمات التعلم الآلي) التي يتولى المزود السحابي إدارتها وصيانتها بالكامل.
منصة مفتوحة المصدر تُستخدم على نطاق واسع لبناء وإدارة السحب الخاصة (Private Clouds) والسحب العامة (Public Clouds). توفر مجموعة من المكونات للتحكم في موارد الحوسبة، التخزين، والشبكات.
نظام تشغيل جديد من Google، يُعتقد أنه مصمم ليكون "قائمًا على السحابة" (Cloud-Native) ومناسبًا لمجموعة واسعة من الأجهزة، من الهواتف الذكية إلى أجهزة إنترنت الأشياء وحتى أجهزة الكمبيوتر المكتبية. يتميز ببنية Microkernel (Zircon) وتركيزه على الأمان وقابلية التوسع.
منصة PaaS مفتوحة المصدر تُمكن المطورين من بناء، نشر، وتشغيل التطبيقات السحابية بسرعة وسهولة، دون الحاجة لإدارة البنية التحتية الأساسية.
ليست نظام تشغيل بحد ذاتها، بل هي "صورة" (Template) لنظام تشغيل (مثل Linux أو Windows Server) مع تطبيقات مسبقة التكوين. تُستخدم هذه الصور لإطلاق خوادم افتراضية (EC2 Instances) في سحابة AWS. تُمكن المستخدمين من نشر مئات أو آلاف الخوادم المتطابقة بسرعة.
خدمة في Microsoft Azure تسمح بنشر وإدارة مجموعة من الآلات الافتراضية المتطابقة تلقائيًا. يمكنها زيادة أو تقليل عدد الآلات الافتراضية بناءً على قواعد محددة (مثل استخدام CPU)، مما يسهل إدارة مئات الخوادم تلقائيًا.
على الرغم من أنه ليس نظام تشغيل سحابي بحد ذاته، إلا أنه أداة أساسية لإدارة ونشر التطبيقات المعبأة في حاويات (Containers) على نطاق واسع في البيئات السحابية. يُستخدم بشكل مكثف لإدارة التطبيقات المصغّرة (Microservices) ويُعد جزءًا حيويًا من البنية التحتية السحابية الحديثة.
تُعد **الحوسبة الافتراضية (Virtualization)** التقنية الأساسية التي تُمكن الحوسبة السحابية من العمل. إنها عملية إنشاء نسخة افتراضية (وليست مادية) من مورد حاسوبي، مثل نظام تشغيل، خادم، جهاز تخزين، أو موارد شبكة.
تُمكن الافتراضية من تشغيل عدة أنظمة تشغيل (تُسمى "الآلات الافتراضية" - VMs) على نفس العتاد المادي باستخدام برنامج خاص يُسمى **Hypervisor**. كل آلة افتراضية تعمل كجهاز حاسوب مستقل تمامًا، معزولة عن الآلات الافتراضية الأخرى وعن العتاد الأساسي.
يعمل مباشرة على العتاد المادي للخادم. يوفر أداءً عاليًا وأمانًا أفضل لأنه لا يعتمد على نظام تشغيل مضيف. مثالي لمراكز البيانات والبيئات الإنتاجية.
أمثلة: VMware ESXi، Microsoft Hyper-V (Server)، Citrix XenServer، KVM.
يعمل كتطبيق عادي فوق نظام تشغيل مضيف موجود (مثل Windows أو Linux). سهل الاستخدام ومناسب للاستخدام الشخصي والتطوير، ولكنه يقدم أداءً أقل بسبب طبقة نظام التشغيل المضيف.
أمثلة: Oracle VirtualBox، VMware Workstation / Fusion، Parallels Desktop.
تُعد الحاويات شكلاً آخر من أشكال الافتراضية، ولكنها أخف وزنًا وأسرع بكثير من الآلات الافتراضية التقليدية. بدلاً من محاكاة نظام تشغيل كامل لكل تطبيق، تقوم الحاويات بعزل التطبيقات على مستوى نظام التشغيل المضيف، مع تقاسم نواة نظام التشغيل المضيف.
📘 روابط مفيدة:
**إنترنت الأشياء (Internet of Things - IoT)** هو شبكة من الأجهزة المادية المدمجة (مثل أجهزة الاستشعار، المحركات، الأجهزة المنزلية) التي تحتوي على برامج، مستشعرات، ومكونات أخرى تُمكنها من الاتصال وتبادل البيانات عبر الإنترنت. تتطلب هذه الأجهزة أنظمة تشغيل متخصصة تلبي احتياجاتها الفريدة.
تُصمم معظم أجهزة IoT لتكون صغيرة، منخفضة التكلفة، وتعمل ببطاريات. هذا يعني أنها تحتوي على:
توجد مجموعة هائلة من أجهزة IoT المختلفة، من مستشعرات بسيطة إلى بوابات معقدة. تختلف هذه الأجهزة في معمارياتها، بروتوكولات الاتصال (Wi-Fi, Bluetooth, Zigbee, LoRaWAN)، ومتطلباتها الوظيفية.
نظرًا لأن العديد من أجهزة IoT متصلة بالإنترنت وقد تجمع بيانات حساسة، فإن الأمن يُعد تحديًا كبيرًا. يجب أن تكون أنظمة التشغيل قادرة على توفير آليات أمنية قوية (مثل التشفير، المصادقة) في بيئة ذات موارد محدودة.
تتطلب العديد من تطبيقات IoT اتصالًا مستمرًا وموثوقًا بالشبكة لتبادل البيانات مع السحابة أو الأجهزة الأخرى.
بعض أجهزة IoT (مثل تلك المستخدمة في التحكم الصناعي أو السيارات) تتطلب استجابة في الزمن الحقيقي لضمان الأداء الآمن والموثوق.
لتلبية هذه التحديات، تم تطوير أنظمة تشغيل مخصصة لإنترنت الأشياء، تُعرف غالبًا بأنظمة التشغيل الزمنية الحقيقية (RTOS) أو أنظمة التشغيل خفيفة الوزن.
نظام تشغيل مفتوح المصدر وخفيف الوزن للغاية، يعمل في الزمن الحقيقي (Real-Time Operating System - RTOS). يُستخدم على نطاق واسع في الأجهزة المدمجة وإنترنت الأشياء بسبب صغر حجمه، استجابته السريعة، ودعمه لمجموعة واسعة من المعالجات الدقيقة.
أمثلة تطبيقية: يُستخدم في العديد من الأجهزة الذكية المنزلية، أجهزة الاستشعار، وأنظمة التحكم الصناعي. يُعد Amazon Echo (المساعد الصوتي) مثالًا بارزًا على جهاز يعتمد على FreeRTOS في وظائفه الأساسية.
نظام تشغيل مفتوح المصدر مصمم خصيصًا لشبكات الاستشعار اللاسلكية (WSNs) والأجهزة ذات الموارد المحدودة جدًا. يعتمد على نموذج برمجة موجه بالحدث (Event-Driven) لتقليل استهلاك الطاقة.
نظام تشغيل مفتوح المصدر يركز على إنترنت الأشياء، ويُعرف بكونه آمنًا، صديقًا للشبكات، ويدعم مجموعة واسعة من الأجهزة. يهدف إلى توفير بيئة تطوير مشابهة لـ Linux ولكن للأجهزة ذات الموارد المحدودة.
نظام تشغيل صغير ومفتوح المصدر ومُحسّن لأجهزة IoT ذات الموارد المحدودة. يُقدم مجموعة واسعة من الميزات، بما في ذلك دعم الشبكات، والأمان، وإدارة الطاقة.
إصدار من Android مصمم خصيصًا لأجهزة إنترنت الأشياء. يوفر بيئة تطوير مألوفة لمطوري Android، ولكنه يركز على الأجهزة ذات الشاشات الصغيرة أو بدون شاشات.
أمثلة تطبيقية إضافية:
- الأجهزة الذكية المنزلية مثل Nest Thermostat: تعتمد على أنظمة تشغيل مدمجة (غالبًا Linux معدل أو RTOS) لإدارة درجة الحرارة، الاتصال بالشبكة، وتوفير واجهة المستخدم.
- الساعات الذكية (Smartwatches): تستخدم أنظمة تشغيل مدمجة (مثل WatchOS، Wear OS) لإدارة المستشعرات، الاتصال بالهاتف، وتشغيل التطبيقات.
على الرغم من أن كلتا البيئتين (السحابة وإنترنت الأشياء) تُعدان من ركائز الحوسبة الحديثة وتتكاملان غالبًا، إلا أنهما تختلفان بشكل جوهري في خصائص أنظمة التشغيل التي تتطلبانها.
| العنصر | أنظمة السحابة (Cloud Systems) | أنظمة إنترنت الأشياء (IoT Systems) |
|---|---|---|
| الموارد المتاحة | قوية ومرنة، يمكن توسيعها أو تقليصها حسب الحاجة (معالجات متعددة، ذاكرة كبيرة، تخزين ضخم). | محدودة جدًا (معالجات دقيقة، ذاكرة صغيرة، طاقة بطارية محدودة). |
| الأمن | معقد ويحتاج إلى تشفير شامل، إدارة هوية قوية، جدران نارية، ومراقبة مستمرة. يتم توفير طبقات متعددة من الأمان. | يحتاج إلى تصميم خفيف وآمن، مع التركيز على التشفير الفعال للموارد المحدودة، والمصادقة البسيطة، وتحديثات البرامج الثابتة الآمنة. |
| الاستخدام النموذجي | استضافة خدمات الويب، تطبيقات المؤسسات، تحليل البيانات الضخمة، التعلم الآلي، قواعد البيانات واسعة النطاق. | أجهزة استشعار، أجهزة تحكم، تجميع البيانات من البيئة المادية، أتمتة المهام، المراقبة. |
| أنظمة التشغيل المستخدمة | توزيعات Linux للخوادم (مثل Ubuntu Server, CentOS)، Windows Server، أنظمة تشغيل افتراضية (VMware ESXi, Hyper-V). | أنظمة تشغيل زمن حقيقي خفيفة الوزن (FreeRTOS, TinyOS, RIOT OS)، إصدارات مدمجة من Linux. |
| قابلية التوسع | توسع أفقي (إضافة المزيد من الخوادم الافتراضية) وعمودي (زيادة موارد الخادم الواحد) بسهولة. | توسع عن طريق إضافة المزيد من الأجهزة الفردية، ولكن كل جهاز بحد ذاته محدود الموارد. |
| الاعتمادية | تُحقق من خلال التكرار الجغرافي، النسخ الاحتياطي التلقائي، وتوازن الحمل. | تُحقق من خلال التصميم البسيط، استهلاك الطاقة المنخفض، والقدرة على العمل دون انقطاع لفترات طويلة. |
تُعد هذه الوحدة في مقرر "أنظمة التشغيل" بمثابة جسر يربط بين المفاهيم الأساسية لأنظمة التشغيل التقليدية والتوجهات الحديثة في الحوسبة. إنها تُكمل وتُعزز الفهم الذي تم اكتسابه في مقرر "الحوسبة السحابية والمحاكاة الافتراضية" (Cloud Computing and Virtual Simulation) من خلال توضيح كيفية عمل أنظمة التشغيل في هذه البيئات المتطورة.
بينما يركز مقرر "الحوسبة السحابية" على نماذج الخدمات (IaaS, PaaS, SaaS) ونماذج النشر (عامة، خاصة، هجينة)، تُقدم هذه الوحدة فهمًا أعمق لكيفية عمل الافتراضية على مستوى نظام التشغيل (Hypervisors، الحاويات) وكيف تُمكن هذه التقنيات الخدمات السحابية.
(الوحدة 2 في مقرر Cloud): تناولت هذه الوحدة في مقرر "الحوسبة السحابية" مقدمة عن الافتراضية وخدمات السحابة، وهذه الوحدة تُعزز هذا الفهم من منظور أنظمة التشغيل.
مقرر "الحوسبة السحابية" قد يغطي خدمات التخزين السحابي والتوصيل الآمن. هذه الوحدة تُقدم فهمًا لكيفية إدارة أنظمة التشغيل لهذه الموارد على مستوى منخفض (مثل إدارة I/O الافتراضية) وكيف تُساهم في أمان الاتصالات.
(الوحدة 3 و4 في Cloud): قد تكون هذه الوحدات في مقرر "الحوسبة السحابية" قد تناولت التخزين السحابي والأمان، وهذه الوحدة تُفسر الجانب التشغيلي لأنظمة التشغيل في دعم هذه الخدمات.
تُعد الحاويات (Docker, Kubernetes) أساسًا لعمليات DevOps (التطوير والعمليات) وCI/CD (التكامل المستمر والتسليم المستمر) في السحابة. هذه الوحدة تُقدم الأساس النظري لكيفية عمل هذه الحاويات على مستوى نظام التشغيل، مما يُمكن الطلاب من فهم أفضل للأدوات والمنهجيات المستخدمة في DevOps.
تُعزز هذه الوحدة فهم كيفية إدارة الموارد (المعالج، الذاكرة، I/O) في بيئات موزعة ومعقدة، سواء كانت سحابية أو تعتمد على إنترنت الأشياء.
لتعزيز فهمك للمفاهيم التي تم تناولها في هذه الوحدة، يُنصح بالقيام بالأنشطة العملية التالية:
قم بتثبيت VirtualBox أو Docker على جهاز الكمبيوتر الخاص بك. جرب إنشاء آلة افتراضية (VM) وتثبيت نظام تشغيل عليها (مثل Ubuntu Linux). أو قم بإنشاء وتشغيل حاوية Docker بسيطة (مثل خادم ويب Nginx) ولاحظ الفرق في سرعة الإقلاع واستهلاك الموارد بين VM والحاوية.
إذا كان لديك اهتمام بالأنظمة المدمجة، يمكنك تجربة بيئة تطوير Arduino. ابحث عن أمثلة لمشاريع تستخدم FreeRTOS على Arduino (مثل التحكم في إضاءة LED أو قراءة مستشعر). هذا سيعطيك فكرة عن كيفية عمل أنظمة التشغيل الزمنية الحقيقية في بيئات الموارد المحدودة.
اختر خدمة سحابية معينة (مثل AWS CloudFront لخدمة توصيل المحتوى، أو Google Kubernetes Engine لإدارة الحاويات). ابحث عن كيفية عمل هذه الخدمات على مستوى البنية التحتية، وكيف تُستخدم أنظمة التشغيل الافتراضية والحاويات لدعمها. حاول فهم كيف تُدار الموارد، وكيف يتم تحقيق قابلية التوسع والأمان.
هذه الوحدة تمثّل جسرًا حيويًا بين المفاهيم الأساسية لـ**أنظمة التشغيل** والتطورات الحديثة في مجال **الحوسبة السحابية** و**إنترنت الأشياء (IoT)**. لقد تعرفنا على نماذج الحوسبة السحابية (IaaS, PaaS, SaaS) وكيف تُقدم الخدمات عبر الإنترنت. استكشفنا دور **أنظمة تشغيل السحابة** في إدارة الموارد الافتراضية وتحقيق قابلية التوسع وتوازن الحمل. أعدنا التأكيد على أهمية **الحوسبة الافتراضية (Virtualization)** وأنواع الـ Hypervisors، وميزنا بينها وبين **الحاويات (Containers)** كشكل أخف وزنًا من الافتراضية. كما تعمقنا في **إنترنت الأشياء**، وتحدياتها الفريدة المتعلقة بالموارد المحدودة والأمان، واستعرضنا أنظمة تشغيلها الشائعة مثل FreeRTOS وTinyOS. أخيرًا، قمنا بـ**مقارنة** بين أنظمة السحابة وIoT، وأوضحنا **تكامل هذه الوحدة مع مقرر "الحوسبة السحابية والمحاكاة الافتراضية"**. إن فهمك لكيفية عمل أنظمة التشغيل في هذه البيئات الموزّعة، الآمنة، والفعالة، يجعلك أكثر استعدادًا للمستقبل الرقمي.