مبادىء تقنية هي سلسلة جديدة من المقالات نطلقها في موقع أردرويد، تهدف إلى شرح وتبسيط عدد من المبادىء التقنية للمبتدئين، وبالطبع فإن جميع التقنيات التي سنعمل على شرحها مرتبطة بشكل أو بآخر بنظام أندرويد. فخلال مقالاتنا وأخبارنا المختلفة، قد تمر الكثير من المصطلحات التي لا يفهمها جميع القرّاء، مصطلحات مثل الاتصال قريب المدى NFC والواقع المُحسّن Augmented Reality والخدمات السحابية Cloud Services والرومات ROMs وغير ذلك من المصطلحات والتقنيات التي لا يتسع المجال لشرحها دائماً، والتي قد تبدو غامضة للكثير من المستخدمين.
تشير آخر الإحصائيات إلى 1.3 مليون جهاز بنظام أندرويد يتم تفعيله يومياً، هذا يعني بأنه لدينا في كل شهر ملايين المستخدمين الجدد على عالم أندرويد وبعضهم جديد على عالم الهواتف الذكية بالمجمل. بعض المصطلحات التي تراها بديهية بالنسبة لك، قد تبدو غامضة بالنسبة لغيرك. لهؤلاء، ولأنه من حق أي مستخدم حتى لو كان مبتدئاً معرفة معنى التقنيات التي يوفرها له هاتفه سنقدم هذه السلسلة وسنقوم من الآن وصاعداً بربط هذه المصطلحات أينما وردت في مقالاتنا وأخبارنا القادمة، بالمقالات التي تشرح هذه التقنيات ضمن سلسلة (مبادىء تقنية). وسنبدأ مقالتنا الأولى بشرح الشيء الذي بدأ هذا كله: نواة لينوكس.
ماهي نواة لينوكس؟
ربما سمعت مراراً وتكراراً مصطلح “أندرويد مبني على نواة لينوكس” لكنك ربما تساءلت عن معنى ذلك، وفائدته وأهميته أو ربما لديك فكرة مبهمة حول نظام لينوكس تحتاج إلى توضيح. وهذا ما سنحاول إيضاحه الآن.
لينوس تورفالدز
في العام 1991 ضاق الطالب الفنلندي العبقري في جامعة هيلسنكي لينوس تورفالدز Linus Torvalds ذرعاً بارتفاع تكاليف اقتناء أنظمة يونيكس Unix والأنظمة الأخرى التي كانت متوفرة, وشعر بأن تراخيص استخدامها الصارمة والشديدة تساهم في الحد من عملية التعلم بالنسبة للطلاب سواءَ في جامعته أو بقية الجامعات. لهذا فكر في كتابة نظام تشغيل جديد يشبه يونيكس لكنه يتوفر مجاناً لكل من أراد استخدامه بالطريقة التي يحب. في البداية, وعندما كتب أول نواة لينوكس Linux Kernel كان ينطلق من فكرة نبيلة وهي نشر العلم وإتاحته مجاناً للجميع, لكنه ربما لم يكن يتوقع النجاح الهائل الذي سيصل إليه نظام لينوكس بعد سنوات.
بالتأكيد لم يكن يتوقع أن يصبح لينوكس أحد أنظمة التشغيل الرئيسية على مستوى العالم, ولم يكن ليتوقع بأنه سيراه على مختلف الأجهزة بدءاً من الحواسب الخارقة Super Computers ومروراً بالمخدمات والحواسب الشخصية وانتهاءاً بالهواتف المحمولة.
في الحقيقة، ما كتبه تروفالدس في البداية لم يكن نظام تشغيل متكامل مع كامل الواجهات والأدوات، بل كان عبارة عن نواة Kernel مهمتها إدارة التعامل ما بين العتاد (الذاكرة، القرص الصلب، الشاشة، .. الخ) وبين البرمجيات. ولو أردت الدقة التقنية فإن لينوكس Linux بحد ذاته هو ليس نظام تشغيل لكنه عبارة النواة وهي جزء من أجزاء نظام التشغيل، لكنه الجزء الأهم المسؤول عن إدارة كل شيء في نظام التشغيل. أما “نسخ” لينوكس المختلفة التي تسمع عنها مثل “أوبونتو” و “فيدورا” وغيرها، فهي تسمى “توزيعات لينوكس” Linux Distributions وليست “لينوكس” بحد ذاته، لأن لينوكس الصافي، هو النواة بحد ذاتها Linux Kernel. وإذا أخذت نواة لينوكس وبنيت عليها نظام تشغيلك الخاص وقمت بإضافة البرمجيات والواجهات الخاصة بك، أصبح إسمها “توزيعة مبنية على لينوكس” كما ذكرنا. وبهذا الشكل يمكن أن نعتبر أندرويد أيضاً توزيعة مبنية على لينوكس مثله كمثل “أوبونتو” و “فيدورا” لكنه خاص بالهواتف والحواسب اللوحية.
إذاً، نواة لينوكس (وهي مكتوبة بلغة C) هي الدماغ المحرك المسؤول عن إدارة نظام التشغيل، وهي التي تتحكم بالمعالج والذاكرة والدخل والخرج وأي ملحقات خارجية تصلها بالجهاز، وهي التي تحدد لأي تطبيق تقوم بتشغيله أياً من مناطق الذاكرة المتوفرة يستطيع استخدامها، وغير ذلك. لكن مماذا تتألف أنظمة التشغيل المعتمدة على نواة لينوكس؟ يتألف أي نظام تشغيل مبني على نواة لينوكس (ومن ضمنها أندرويد) من الأجزاء الرئيسية التالية:
- نواة لينوكس (وهذا أصبح واضحاً)
- مُحمّل الإقلاع Bootloader وهو عبارة عن قطعة برمجية مسؤولة عن تحميل نواة لينوكس إلى الذاكرة، دون تحميل النواة إلى الذاكرة لن تتمكن من استخدام الكمبيوتر (أو الهاتف) بالطبع. وهي أول ما يعمل في الجهاز عند ضغطك على زر التشغيل. وهي التي تُخبر المعالج والذاكرة بتحميل وتنفيذ نواة لينوكس التي تقوم هي بدورها بالتحكم بكل شيء يلي تلك المرحلة.
- برمجيات المستخدم: وهذا بديهي، البرمجيات هنا هي كل شيء تراه أمامك، بدءاً من الواجهات وانتهاءاً بالتطبيقات التي تستخدمها كالمتصفح والألعاب. وهذا يتضمن أيضاً الأوامر الأساسية التي تحتاج إلى تنفيذها مثل النسخ واللصق وإنشاء المجلدات الجديدة وغير ذلك. كل هذه عبارة عن برمجيات يقدمها لك مطور نظام التشغيل أو المطورين الآخرين كي يصبح نظام التشغيل ذو فائدة حقيقية.
- نظام الملفات Filesystem يشير إلى الأسلوب الذي تمت به تهيئة القرص الصلب (أو المساحة التخزينية مهما كان نوعها). أسلوب التهيئة ينعكس مباشرةً على الطريقة التي يقوم فيها لينوكس بقراءة وكتابة الملفات. يوجد للينوكس عدة أنظمة لإدارة الملفات منها ext3 و ext4 و Btrfs الذي ما زال تجريبياً.
إذاً نعود للسؤال الأول: ماذا نعني عندما نقول بأن أندرويد مبني على نواة لينوكس؟ كما أصبح واضحاً من الشرح، هذا يعني بأن غوغل اعتمدت على نواة لينوكس كأساس لنظام أندرويد، ثم قامت ببناء بقية الأجزاء بنفسها التي قدمت لنا نظام أندرويد الذي نعرفه اليوم.
لماذا اعتمدت غوغل على نواة لينوكس ولم تقم ببناء نواة خاصة بها؟
أولاً، لأن أحداً لا يحب إعادة بناء العجلة. ثانياً، لأن بناء نواة من الصفر لنظام تشغيل ليست بالمهمة السهلة حتى على شركة بحجم غوغل. نواة لينوكس تعمل بشكل معقد جداً، جداً. (في الحقيقة فإن نواة أي نظام تشغيل، وليس لينوكس فحسب، هي أمر معقد جداً) وقد تم تطوير نواة لينوكس على مدى أكثر من عشرين عاماً وتشرف على تطويرها مؤسسة لينوكس The Linux Foundation غير الربحية والتي تدعمها مجموعة كبيرة من الشركات المستفيدة من لينوكس والتي تساهم في دعم عملية تطويره بالمساهمة البرمجية أو المادية، من هذه الشركات غوغل وآي بي إم وسامسونج وأوراكل وسيسكو وإتش بي وكوالكوم ونوكيا وسوني وسيمنز وتوشيبا وتويتر وإنفيديا وغيرها …
تُعتبر نواة لينوكس أكبر مشروع يتم بناؤه بشكل جماعي في تاريخ الحوسبة، فعلى اعتبار أنها مفتوحة المصدر يحق لأي شركة أو مطور فرد المساهمة في تطويرها وفق عملية تطوير جماعي منظمة. بحسب إحصائيات مؤسسة لينوكس فقد ساهم بتطوير النواة ومنذ العام 2005 فقط أكثر من 8000 مطور ينتمون إلى 800 شركة. ناهيك عن عدد كبير من المطورين المستقلين. وتتضمن نواة لينوكس حالياً أكثر من 15 مليون سطر من الشيفرة البرمجية تم كتابة 1.5 مليون منها خلال العامين الماضيين فقط.
وتتميز نواة لينوكس بتطويرها السريع جداً، حيث يتم إصدار نسخة رئيسية جديدة منها كل شهرين أو ثلاثة تتضمن دائماً تحسينات من نواحٍ عدة. وكونها مفتوحة المصدر فهي تمتاز بأنها آمنة جداً لأن آلاف الأعين الخبيرة تنظر إلى الشيفرة المصدرية وتتفحصها كل يوم وبالتالي يتم اكتشاف الثغرات وإصلاحها بسرعة عالية جداً. ناهيك عن أنها مبنية أساساً بطريقة تضمن أمن نظام التشغيل على أعلى درجة وهو ما لا تتسع المساحة لشرحه هنا فهو موضوع آخر.
وتعتبر نواة لينوكس قادرةً على إدارة نظام التشغيل بفاعلية عالية، والتحكم بالعتاد والذاكرة والتعامل مع تعدد المهام بشكل ممتاز، مع قابلية عالية للتحسين والتطوير.
عدا عن ذلك تتميز نواة لينوكس بالمرونة والفاعلية لهذا فهي مستخدمة في مختلف أنواع المنتجات والصناعات، وبالتالي فنواة لينوكس تعطي أندرويد المرونة للعمل على أجهزة تتعدى الهواتف والحواسب اللوحية مثل أجهزة التلفاز وحتى أفران المايكروييف وأجهزة طبخ الأرز!
لا يمكن أن تأتي أي شركة تريد تطوير نظام تشغيل جديد وتتجاهل كل هذا الجهد الخرافي المبذول في تطوير نواة لينوكس وتبدأ من الصفر!
إحصائيات سريعة:
- 1.3 مليون جهاز بنظام أندرويد يتم تفعيله يومياً حول العالم
- يُشغّل لينوكس أكثر من 60% من المخدّمات حول العالم
- يُشغّل لينوكس اكثر من 90% من الحواسب الخارقة Super Computers حول العالم
- قوّة وثبات نظام لينوكس وقدرته العالية على إدارة موارد الأجهزة بفاعلية وأمنه، جعل عمالقة شركات الانترنت تعتمده لتشغيل مخدّماتها ومنهم غوغل وفيسبوك وتويتر وويكيبيديا وغير ذلك
مفاهيم خاطئة
- لينوكس صعب الاستخدام: كما ذكرنا أعلاه، لينوكس هو النواة، وما يُبنى فوق النواة من نظام التشغيل (كالواجهات وتجربة الاستخدام والبرامج) هو من عمل المطوّر الذي طور هذا النظام. وبالتالي لا يوجد شيء إسمه (لينوكس صعب الاستخدام) بل يعتمد الأمر على التوزيعة التي تستخدمها. فهناك توزيعات مصممة للمستخدم المحترف (مثل Gentoo) وتوزيعات مصممة للمستخدم العادي (مثل Ubuntu) وهي تقدم تجربة استخدام سهلة جداً ومألوفة. وتوزيعات مصممة للمستخدم العادي لكن الذي يريد الغوص أكثر في أعماق لينوكس وتعلّم المزيد (مثل ArchLinux).
- لينوكس غير آمن لأنه مفتوح المصدر: شرحنا هذا أعلاه حين ذكرنا بأن البرمجيات مفتوحة المصدر آمنة بطبيعتها. لكن لا ننسَ بأن الأمن لا يتعلق بنظام التشغيل فقط، فأحياناً تكون البرمجيات التي يثبتها المستخدم على نظام التشغيل غير آمنة بحد ذاتها. صحيح أن نظام لينوكس مبني بطريقة تحمي المستخدم من العديد من أنواع الهجمات لكن على المستخدم أن يكون حكيماً من هذه الناحية أيضاً.
هذا أبرز ما نعتقد بأنه يتوجب على المستخدم المبتدىء معرفته حول نواة لينوكس التي بُني أندرويد عليها. ونرحب بأسئلتكم ضمن التعليقات.
مصادر: 1, 2, 3
0 التعليقات:
إرسال تعليق