سيغروبس

من ويكيبيديا، الموسوعة الحرة

سي غروبس مختصر (بالإنجليزية: control groups)‏ هي ميزة في نواة لينكس تتيح تجميع أو تقسيم المهام (العمليات) وعزلها عن بعض في مجموعات منظمة بشكل هرمي. يمكن إنشاء هذه المجموعات وضبطها لتقسيم موارد النظام والاستفادة من العتاد والشبكة المتاحة. (المعالج والذاكرة والقرص الصلب، الإدخال والإخراج، وما إلى ذلك) كما يمكنه التحكم وتخصيص الأولويات، ومراقبة موارد النظام.

بدأ المهندسون في جوجل العمل على هذه الميزة في عام 2006، تحت اسم «حاويات العملية».[2] وفي أواخر عام 2007 تغيرت التسمية إلى «مجموعات المراقبة» بسبب الارتباك في مصطلح «حاوية» في نواة لينكس، تم دمج الخاصية في نواة الإصدار 2.6.24.[3] ومنذ ذلك الحين يعمل المطورين على إضافة العديد من خصائص وحدات التحكم الجديدة،[4] مثل دعم kernfs، الجدار الناري والتسلسل الهرمي الموحد.

الميزات[عدل]

من أهداف تصميم cgroups هو توفير إمكانية السيطرة وتحديد أي إجراء يقوم به برنامج داخل مجموعة وهي تشبه لحد ما الحوسبة الافتراضية لكن على مستوى النظام (OpenVZ)، لينكس VServer أو LXC، على سبيل المثال يوفر لنا:

  • محدودية الموارد: يمكن تخصيص مجموعة لتستخدم حد معين من الذاكرة، من ضمنها ذاكرة التخزين المؤقتة ونظام الملفات.[5][6]
  • تحديد الأولويات: السماح لمجموعات معينة الحصول على حصة أكبر من استخدام وحدة المعالجة المركزية أو القرص الصلب ووحدات الإدخال والإخراج.
  • المراقبة: حساب مقدار الموارد المستخدمة لكل عنصر (كما في خوادم الاستضافة).
  • التحكم: تجميد مجموعة من العمليات والتدقيق والفحص وإعادة التشغيل.

مرجع[عدل]

  1. ^ "New Linux Kernel cgroups Vulnerability Could Let Attackers Escape Container".
  2. ^ Jonathan Corbet (29 مايو 2007). "Process containers". LWN.net. مؤرشف من الأصل في 2017-06-12.
  3. ^ Jonathan Corbet (29 أكتوبر 2007). "Notes from a container". LWN.net. مؤرشف من الأصل في 2018-02-04. اطلع عليه بتاريخ 2015-04-14. The original 'containers' name was considered to be too generic - this code is an important part of a container solution, but it's far from the whole thing. So containers have now been renamed 'control groups' (or 'cgroups') and merged for 2.6.24.
  4. ^ "cgroup: convert to kernfs". 28 يناير 2014. مؤرشف من الأصل في 2018-10-12.
  5. ^ Jonathan Corbet (31 يوليو 2007). "Controlling memory use in containers". LWN. مؤرشف من الأصل في 2018-01-29.
  6. ^ Balbir Singh, Vaidynathan Srinivasan (يوليو 2007). "Containers: Challenges with the memory resource controller and its performance" (PDF). Ottawa Linux Symposium. مؤرشف من الأصل (PDF) في 2018-05-03.