نظام لينكس
ما هو لينكس " Linux"
؟
لينكس هو - بأبسط تعبير – نظام تشغيل . ونُظم التشغيل هي برامج
الحاسوب التي تسمح للتطبيقات و المستخدمين بالوصول إلى أجهزة الحاسوب لتنفيذ العملية
المطلوبة . يقوم نظام التشغيل بنقل أمر ما من أحد التطبيقات على سبيل المثال إلى معالج
الحاسوب. يقوم بعد ذلك المعالج بتنفيذ المهمّة المطلوبة ، ثم يرسل النتائج إلى التطبيق
عن طريق نظام التشغيل . وهكذا يلعب نظام التشغيل دور حلقة الوصل بين أجزاء الحاسوب
المختلفة.
ومن التعريف السابق يظهر لنا أن لينكس مشابه تماما لأي نظام
تشغيل آخر مثل : ويندوز “ windows” وOS X . ولكن
في الواقع هناك فارق يميز نظام التشغيل لينكس عن باقي أنظمة التشغيل الأخرى. ففي عام
2008 شكل نظام التشغيل لينكس منظومة بحجم 25 مليار دولار.
منذ بدايته في عام 1991 م ، توسع لينكس ليصبح قوة جبارة في عالم
الحوسبة ، مشغّلا كل شيء ابتداء من بورصة نيويورك مرورا بأجهزة الهواتف النقالة و انتهاء
بالحواسيب العملاقة لأجهزة المستهلكين.
ولأن لينكس يعد نظام تشغيل مفتوح ، فإن تطويره يتم بشكل تعاوني،
بمعنى أنه لا يوجد شركة واحدة مسؤولة بشكل منفرد عن تطوير أو دعم نظام لينكس. تتقاسم
الشركات المساهمة في الحصة الاقتصادية للينكس تكاليف البحث والتطوير مع شركائها و منافسيها.
وهكذا فإن توزيع عبء التطوير لنظام لينكس بين الشركات والأفراد أسهم بشكل إيجابي في
خلق بيئة تطويرية كبيرة وفعّالة والكثير من الابتكارات البرمجية الغير معلنة.
يشارك في كل إصدار جديد لنواة لينكس ما يزيد عن 1,000 مطور في
أكثر من 100 شركة مختلفة، في العامين الماضيين فقط شارك ما يزيد عن 3200 مطور من
200 شركة في تطوير نواة لينكس ، وهي – أي النواة- التي تشكل جزء صغير فقط من منظومة
لينكس.
هذا المقال سيستعرض المكونات المتنوعة لنظام لينكس ، كيف يتم
تصنيعها و كيف يتم ربطها ببعضها البعض ، كما سيغطي المقال أيضا مجتمع لينكس و تأثير
لينكس على النظام التقني بشكل عام.
أين يستخدم لينكس ؟
أحد الخواص المميزة لنظام لينكس هي " أين يمكننا استخدام
لينكس " . حيث نجد أن ونيدوز windows و OS X تستخدم غالبا في الحواسيب الشخصية
مثل الحاسوب المكتبي و الحاسوب المحمول في حين أن أنظمة تشغيل أخرى، مثل سيمبيان Symbian ، يتم استخدامها في الأجهزة الصغيرة مثل الهواتف النقالة وأجهزة المساعد
الرقمي الشخصي، أما أجهزة الحاسوب العملاقة الموجودة في المختبرات الأكاديمية والشركات
الكبرى فتستخدم أنظمة تشغيل متخصصة مثل AS/400 وكراي OS.
لينكس من الناحية الأخرى ، بدأ كنظام تشغيل خادم ثم أثبت جودته
كنظام تشغيل مكتبي ، و اليوم يمكن استخدام لينكس في الكثير من الأجهزة التي تتراوح
من الساعات وحتى الحواسيب العملاقة.
مستقبل لينكس :
يعد لينكس ناجحا في العديد من الأجهزة الإلكترونية ومع ذلك فإنه
لا يزال هناك الكثير من النواحي التقنية التي يسعى لينكس لدخولها ، بل وحتى كنظام تشغيل
للأجهزة المكتبية والخوادم مازال لينكس يتطور بشكل أسرع من أي نظام تشغيل آخر اليوم.
تم تثبيت لينكس على أنظمة BIOS في الحواسيب النقالة مما سيمكن المستخدمين من تشغيل أجهزتهم في ظرف ثواني
، هذا سينشىء بدوره بيئة لينكس تمتلك أدوات تسمح للمستخدمين بالاتصال بالأنترنت مباشرة
بدون الحاجة إلى إقحام نظام التشغيل الأساسي لديهم حتى وإن كان نظام التشغيل ذاك هو
windows . من هذه الأدوات : المتصفح و البريد الإلكتروني
.
في نفس الوقت ، دخل لينكس مجال الأجهزة النقالة المتصلة بالأنترنت
بتنوع أشكالها كالهواتف الذكية و المساعدات الشخصية و الأجهزة المدمجة بالإضافة إلى
أجهزة النوت بوك – حواسيب نقالة صغيرة تمتلك ذات الوظائف الأساسية لنظيراتها من الحواسيب
النقالة الكبيرة ولكن بحجم أصغر و فعالية أكبر.
حاليا يقوم لينكس بتشغيل الكثير من الخوادم على شبكة الأنترنت
، و مع النمو المتزايد لمفهوم الحوسبة السحابية فإن لينكس دخل هذا المجال أيضا موفرا
العديد من الخدمات السحابية مثل : خدمة A3 الخاصة بأمازون والتي تعمل بقدرات عالية لإيصال المعلومات والتطبيقات إلى
المستخدمين.
و فيما يتعلق أيضا بدخول لينكس إلى عالم الحوسبة السحابية ،
لابد من ذكر النجاح الشهير الذي حققه لينكس في أجهزة الحاسوب العملاقة سواء في مجال
: الحوسبة العالية الأداء (HPC) أو التوفر العالي (HA) .
حيث أن هذه الأجهزة تستخدم من قبل الباحثين الأكاديميين في الفيزياء والهندسة الحيوية،
أو الشركات العاملة في الصناعات المالية والطاقة ، بالتالي هم بحاجة إلى حوسبة موثوقة
وقابلة للتطوير والتوسيع حتى تحقق أهدافها.
كما تعتمد العديد من خدمات ويب 2.0 ذات الشعبية العالية مثل
: تويتر ، لينكد إن ، يوتيوب ، قوقل على لينكس كنظام تشغيل لها. عندما تستجد خدمات
أخرى على الإنترنت في المستقبل فإن لينكس سيكون بشكل متزايد نظام التشغيل الذي تقوم
عليه هذه التقنيات الجديدة.
نشأة لينكس :
في 25 أغسطس عام 1991م قام طالب علوم الحاسب الفنلندي لينوس
تورفالدس بتقديم الإعلان التالي لمجموعة يوزنيت Usenet group
comp.os.minux :
إنني أقوم بتطوير نظام تشغيل مجاني ( مجرد هواية ، لن يكون كبيرا
أو احترافيا مثل جنو ) شرعت العمل على هذا المشروع منذ شهر إبريل و اليوم يبدو مشروعي
شبه جاهز ، بما أن نظام التشغيل الذي أعمل على تطويره يشبه مينيكس إلى حد ما (نفس التخطيط
الفعلي لنظام الملفات - وذلك لأسباب عمليه –) فإنني أرغب في الحصول على مرئياتكم فيما
يتعلق بالأمور التي تعجب الناس و تلك التي لا يحبونها في نظام تشغيل مينيكس. (بالاضافة
إلى أشياء أخرى).
ما يقصده تورفالدس بـ " Minix
" هو مختلف عن نظام التشغيل يونيكس ، استخدمه كدليل لتصميم نظامه المجاني لأنه
أراد له أن يعمل على نظام ٨٦ للجهاز المكتبي المستهلك في تلك الأيام.
أما "GNU " تعود على أدوات جنو وتعني أن جنو ليس
يونيكس هذه الأدوات جُمعت أول مرة من قِبل ريتشارد ستالمان في عام ١٩٨٣. أمايونيكس
فهو نظام التشغيل الذي كان بداية كل شيء، كانت بدايته في معامل بيل العتيقة في بداية
الستينات.
بنى تورفالدس أساس نظام التشغيل لينكس ، المعروفة باسم النواة
، النواة بحد ذاتها لا تُشكل نظام تشغيل، لكن أدوات جنو الخاصة بستالمان كانت موجودة
ضمن مشروع لبناء نظام تشغيل آخر و لكن هذا المشروع كان يفتقد وجود نواة حتى يكتمل.
لذلك ما قام به تورفالدس هو أنه ضمّ هذه الأدوات لنواته التي صممها و بهكذا تشكل ما
يعرف باسم لينكس.
ظلّ لينكس بطرق عديدة واعدا وفي بداية ما يستطيع تقديمه، مع
ذلك ، استمتع لينكس بالنجاح المبهر منذ أول مرة طلب فيها تورفالدس المساعدة في عام
١٩٩١.
حصل لينكس على شعبية كبيرة بين مطوري يونيكس، الذين يجدون في
لينكس سهولة التوافق مع البيئات المختلفة ، كما يعجبهم تشابهه بيونيكس و طبعا يعجبهم
رخصته المجانية ، مع مطلع القرن العشرين، بدأ بعض المطورين التجاريين بتوزيع لينكس،
مثل VA Linux, TurboLinux, Mandrakelinux, Red Hat, و
SuSE
GMbH.
وكان لقرار اي بي ام في عام ٢٠٠٠ بالإستثمار ٢ بليون دولار في
تطوير لينكس و الأرباح الناتجة مرحلة ناجحة جدا من مراحل نمو لينكس.
اليوم، لينكس يصنف كصناعة متعددة المليارات، بوجود شركات و حكومات
حول العالم تستفيد من خدمات لينكس في ما يخص الأمن و المرونة، الالاف من الشركات تستخدم
لينكس في حوائجها اليومية بسبب التكلفة القليلة و عدم التشديد بخصوص التراخيص.
الحكومات حول العالم تستخدم لينكس لحفظ الأموال و الوقت ، كما
تتواجد بعض الحكومات التي طورت نسخها الخاصة بها من لينكس.
مجموعة المحللين في اي دي سي توقعوا بأن لينكس سيكون سوقه مقدرا
ب ٤٩ بليون دولار في عام ٢٠١١ ، كما هنالك العديد من المؤشرات في السوق تؤكد إمكانية
حدوث هذا الرقم.
الشفرة :
يتميز كذلك لينكس عن أي نظام تشغيل آخر بأن ليس له مالك واحد
فقط. ما زال تورفالدس يدير عملية تطوير نواة لينكس ولكن مطورين تجاريين و خاصين يساهمون
في بناء النظام ككل.
في هذا الجزء من المقال سنتفحص الأجزاء التي تكون نظام لينكس
:
النواة :
تمتلك كل أنظمة التشغيل نواة تمثل مركز العمليات في نظام التشغيل
، جاءت الفكرة كاستعارة معمارية ، يجب أن يكون هناك مجموعة مركزيه من الأوامر التي
من شأنها أن ترشد و توجه الأجهزة للقيام بعملها ، يحيط بهذه الأوامر المركزية العديد
من الطبقات كل طبقة تتكون من مجموعة من الوحدات الوظيفية .
نواة لينكس متفردة و مرنة لأنها بدورها مقسمة إلى وحدات وظيفية
، تقسيم النواة إلى وحدات وظيفية يعتبر ميزة مرغوبة لأنه يسمح للمطورين بإزالة الوحدات
الوظيفية التي لا يحتاجون إليها ، و بشكل عام فإنه كلما صغر حجم النواة كلما كانت أسرع
لأنها لا تقوم بتشغيل عمليات لا تحتاج إليها .
على سبيل المثال : إذا كان أحد مطوري الأجهزة يرغب بالحصول على
نسخة من لينكس لتشغيلها على هاتف نقال ، فإنه – أي المطور - لا يحتاج وظائف النواة
التي تتعامل مع محركات الأقراص، أو أجهزة إيثرنت، أو الشاشات الكبيرة بالتالي فإنه
يستطيع إزالة هذه الأجزاء وغيرها من النواة وبالتالي يحصل على النواة الأمثل لاستخدامها
على هاتف نقال.
نواة نظام تشغيل ويندوز ( التي يُسمح لعديد قليل من الناس خارج
مايكروسوفت بالنظر إليها بدون دفع ثمن للحصول على هذا الامتياز ) هي عبارة عن شفرة
مترابطه بشكل قوي و من غير السهل تقسيمها إلى أجزاء صغيره . إنه من الصعب إن لم يكن
مستحيلا أن يتم تقسيم نواة ويندوز حتى تستخدم في هاتف نقال .
ومن ذلك نرى أن تقسيم نواة لينكس إلى وحدات وظيفية صغيره يمثل
العامل الأهم في نجاح لينكس . إن المقدرة على توسيع أو تصغير النواة وفقا للحاجة وحتى
تتناسب مع أي جهاز تشكل ميزة كبيرة للينكس مقارنة بباقي أنظمة التشغيل الأخرى التي
يتم تطويرها بشكل خاص لجهاز معين .
كما يؤثر تقسيم لينكس إلى وحدات وظيفية على جانبي الأمان و الاستقرارية
للنظام ، فلو أن قطعة واحده من شفرة لينكس تعطلت فإن النظام لن ينهار بشكل كامل لأن
باقي القطع ما زالت تعمل.
وبالمثل، فإن الهجوم على جزء واحد من النواة (أو ما تبقى من
نظام التشغيل) قد تعوق ذلك الجزء من النظام ، ولكن لا ينبغي أن يمس ذلك أمن الجهاز
بأكمله.
نظام التشغيل :
يحتاج المطورون إلى أدوات خاصة (مثل سطور الأوامر و المُجمّع
الموجودة في جنو) لكتابة التطبيقات التي يمكنها التخاطب مع النواة. كما أنهم يحتاجون
أيضا إلى أدوات تسمح للتطبيقات الخارجية بالوصول إلى النواة بعد كتابتها وتثبيتها على
الجهاز.
عند وضع هذه الأدوات جنبا إلى جنب مع النواة نحصل على نظام التشغيل
. وبشكل عام يعرف نظام التشغيل على أنه أدنى طبقة من برمجيات الحاسب التي يمكن للمستخدم
العادي الوصول إليها ، يستطيع المستخدم العادي الوصول إلى نظام التشغيل باستخدام أسطر
الأوامر . command line.
يوفر لينكس أدوات قوية للمطورين يستطيعون من خلالها كتابة تطبيقاتهم
الخاصة ، منها : البيئات التطويرية ، المحرر ، المُجمّعات التي تم تصمميها حتى تأخذ
الأوامر البرمجية الخاصة بالمطور وتحولها إلى صورة تستطيع النواة فهمها وتنفيذها .
مثل النواة، فإن نظام تشغيل لينكس مقسم بدوره إلى وحدات . يمكن
للمطورين انتقاء واختيار الأدوات التي يحتاجونها وإزالة تلك التي لا يحتاجون إليها،
يهدف ذلك إلى تزويد المستخدمين والمطورين بنكهة جديدة من لينكس صممت خصيصا لتلبية احتياجاتهم
المحددة.
البيئات :
إن النوافذ والقوائم و مربعات الحوار التي يظن الكثير من الناس
أنها جزء من نظام التشغيل هي في الواقع عبارة عن طبقة مستقلة تعرف بـ " نظام النوافذ
و بيئة سطح المكتب " .
توفر هذه الطبقة واجهات رسومية سهلة الفهم للمستخدمين ، حتى
تمكنهم من العمل و التواصل مع التطبيقات الموجودة في نظام التشغيل أو تثبيت التطبيقات
الخارجية على نظام التشغيل.
في لينكس، هناك الكثير من الخيارات التي يمكن استخدامها لنظام
النوافذ وبيئة سطح المكتب ، وهو الأمر الذي يسمح للمستخدمين باتخاذ القرار بأنفسهم
. لا يمكن القيام بذلك في نظام التشغيل Windows ومن الصعب القيام به في OS X.
كما أنه يوجد أدوات ومكتبات برمجية لنظام التشغيل والنواة، فإن
هناك أدوات ومكتبات البرمجية متاحة تسمح لمطوري التطبيقات بالعمل بسهولة أكبر مع هذه
البيئات (على سبيل المثال : gtk+ for GNOME, Qt for KDE ).
التطبيقات :
لأنظمة التشغيل نوعين من التطبيقات : تلك التي تمثل المكونات
الأساسية لنظام التشغيل نفسه، وتلك التي يقوم المستخدم بتثبيتها في وقت لاحق. أنظمة
التشغيل المغلقة، مثل ويندوز و OS X، لن تسمح للمستخدمين (أو المطورين) بانتقاء واختيار
التطبيقات التي تشكل عنصرا أساسيا لنظام التشغيل بأنفسهم. فعلى سبيل المثال يتحتم على
مطوري ويندوز استخدام مترجم مايكروسوفت، ونظام النوافذ، وهلم جرا.
أما بالنسبة لمطوري التطبيقات على لينكس فإن لديهم مجموعة أكبر
من الخيارات لتطوير تطبيقاتهم. هذا يسمح بمزيد من المرونة لبناء التطبيق، لكنه يعني
أن على المطور أن يقرر أي مكونات لينكس سيستخدم.
التوزيعات:
وهذه هي أعلى طبقة من نظام التشغيل لينكس: الحاوية لجميع الطبقات
المذكورة آنفا. يقرر صانع التوزيعات أي نواة ، أي أدوات نظام التشغيل ، أي البيئات
، أي التطبيقات ، سيتم جمعها في حزمة و شحنها إلى المستخدم .
تتم المحافظة على التوزيعات من قبل الأفراد والكيانات التجارية.
يمكن تثبيت التوزيع باستخدام القرص المضغوط الذي يحتوي على برنامج خاص لتثبيت النظام
الأولي.
إن أكثر التوزيعات شعبية بين المستخدمين هي تلك التي توفر إدارة
ناضجة للتطبيقات تسمح للمستخدمين بالبحث وتثبيت التطبيقات الجديدة و إجراء كافة العمليات
ببضع ضغطات على الفأرة.
يوجد على الأقل ما يفوق 350 توزيعة مختلفة للينكس .