تشبه نواة Linux جسرًا يتيح الاتصال الحاسوبي بين التطبيقات والأجهزة ويدير موارد النظام. طور Linus Torvalds نواة Linux باستخدام C و Assembly ، وبالتالي ، نجح في إنشاء نواة خفيفة الوزن ومحمولة تم إصدارها للجمهور كمصدر مفتوح.
يمكنك رؤية نواة Linux في العديد من القطاعات المختلفة مثل الفضاء وأجهزة الكمبيوتر والساعات الذكية والهواتف المحمولة والروبوتات والصحة. لكن هل تساءلت يومًا كيف تعمل نواة Linux تحت الغطاء؟
استخدام الأجهزة على نظام Linux
تتحكم نواة Linux ، أولاً وقبل كل شيء ، في الأجهزة التي سيتم تشغيلها وبأي طريقة عند تشغيل جهاز الكمبيوتر الخاص بك. بالإضافة إلى ذلك ، يمكن التحكم في البرامج المتطورة بفضل واجهة البرمجة. لإعطاء مثال على عناصر التحكم هذه ، يمكنك الاطلاع على معلومات حول الأجهزة المثبتة في الفتحات الموجودة على اللوحة الأم والاستفادة من هذه المعلومات التفصيلية.
أيضًا ، توفر واجهة البرمجة هذه طبقة تجريدية. على سبيل المثال ، إذا كنت تريد إجراء محادثة فيديو مع أصدقائك ، فستحتاج إلى كاميرا ويب. تتيح طبقة التجريد للبرنامج الذي تستخدمه استخدام كاميرا الويب هذه بغض النظر عن نوعها وطرازها. يمكن للبرنامج هنا فقط استخدام الواجهة الموجودة لنظام التشغيل Linux. يقوم Linux kernel بترجمة استدعاءات وظائف هذه الواجهة إلى أوامر الأجهزة الفعلية التي تحتاجها كاميرا الويب.
باستخدام /proc و /sys أنظمة الملفات الافتراضية ، يمكن لنواة Linux تصدير معلومات مفصلة حول الأجهزة يكتشف. يمكنك الاطلاع أدناه على بعض الأدوات المستخدمة لهذا والأجهزة والبطاقات التي يتم تصديرها:
- lspci: لأجهزة PCI
- lsusb: لأجهزة USB
- lspcmcia: لبطاقات PCMCIA
كما ترى ، فإن توزيع Linux في لقطة الشاشة أعلاه يعمل على VirtualBox. ومع ذلك ، لديك الفرصة لرؤية الكثير من المعلومات مثل VGA ووحدة تحكم USB والجسور ووحدة التحكم SATA.
يمكنك أيضًا استخدام ملف -الخامس المعلمة للحصول على معلومات أكثر تفصيلاً.
في Linux kernel ، تصل التطبيقات عادةً إلى الأجهزة من خلال ملفات خاصة موجودة في ملف /dev الدليل. تمثل هذه الملفات الخاصة محركات الأقراص والأجهزة المادية الأخرى. ملفات مثل /dev/hda, /dev/sdc, /dev/sdc3, /dev/input/mouse0 و ديف / snd / * هي أمثلة على هذه الملفات الخاصة.
إدارة نظام ملفات Linux
تعد أنظمة الملفات أحد أهم مكونات نواة Linux. يعد نظام ملفات Linux أحد أكبر فوائده. تتجمع جميع الملفات الموجودة على نظام Linux في فرع واحد. وبالتالي يمكن للمستخدمين الاستفادة من هذا التسلسل الهرمي للوصول إلى الأماكن التي يرغبون فيها.
نقطة البداية لهذا التسلسل الهرمي هي الدليل الجذر (/). توجد أدلة فرعية أخرى ضمن الدليل الجذر. الدليل الفرعي الأكثر استخدامًا ضمن / هل /home الدليل. يحتوي هذا الدليل الفرعي على أدلة فرعية أخرى ويحتوي كل دليل على ملفات تخزن البيانات الفعلية.
على سبيل المثال ، يمكنك التفكير في ملف نصي على سطح المكتب الخاص بك. إذا قمت بإنشاء ملف نصي يسمى helloworld.txt على سطح المكتب الخاص بك ، يمكنك الرجوع إليها كـ /home/muo/Desktop/helloworld.txt. مثال /muo هنا سوف تختلف بالطبع. لأن اسم الدليل الفرعي هذا يعتمد على اسم المستخدم الحالي الخاص بك. باستخدام نظام التسمية هذا ، يترجم Linux kernel بين التخزين الفعلي والمادي الموجود على القرص.
أيضًا ، يمكن لنواة Linux دمج البيانات من عدة أقراص. هذا هو المكان الذي يلعب فيه نظام التثبيت. يستخدم أحد الأقراص في نظام الجذر ويقوم بتوصيل الأقراص الأخرى إلى الدلائل الموجودة في التسلسل الهرمي. ثم يتم وضع الأقراص الأخرى أسفل نقاط التحميل. هذا يسمح للمستخدمين بتخزين ملف /home دليل على القرص الثابت الثاني الذي يحتوي أيضًا على أدلة فرعية أخرى.
عندما تقوم بتركيب قرص على ملف /home الدليل ، يمكنك الوصول إلى هذه الأدلة من المواقع العادية. وهكذا ، فإن مسارات مثل /home/muo/Desktop/helloworld.txt استمر في العمل.
يمكنك رؤية نقاط التحميل بين الملفات الموجودة على نظامك بامتداد findmnt -A يأمر.
باستخدام العديد من تنسيقات أنظمة الملفات ، يمكنك تخزين البيانات فعليًا على الأقراص. الأكثر شهرة على نظام Linux هي ext2, ext3، و ext4 تنسيقات نظام الملفات. ومع ذلك ، هناك العديد من تنسيقات نظام الملفات الأخرى. على أي حال ، يجب عليك تهيئة نظام الملفات قبل تثبيته. يمكنك استخدام أوامر مثل mkfs.ext3 (يرمز mkfs إلى make file system و ext3 هو نظام الملفات) لهذا الغرض.
تقبل هذه الأوامر مسار ملف الجهاز الذي تريد تنسيقه كمعامل. إنها عملية مدمرة ويجب عليك استخدامها بحذر إذا كنت لا تريد مسح أو إعادة تعيين نظام ملفات.
بصرف النظر عن هؤلاء ، هناك أيضًا أنظمة ملفات الشبكة مثل NFS التي يستخدمها Linux kernel. NFS هو نظام ملفات شبكة حيث لا يتم تخزين البيانات على قرص محلي. باستخدام NFS ، تنتقل البيانات عبر الشبكة إلى خادم يخزن البيانات. نظرًا لأن البيانات ستكون على خادم ، فلن يضطر المستخدمون إلى التعامل معها باستمرار. يمكنهم أيضًا استخدام نظام الملفات الهرمي التقليدي لنظام Linux كالمعتاد.
عمليات الوظيفة المشتركة
جميع البرامج في نظام Linux لها وظائف مشتركة. هذا هو السبب في أن هذه الوظائف مركزية في Linux kernel. على سبيل المثال ، عند فتح ملف ، يمكنك فتحه فقط باسم الملف ، دون معرفة مكان تخزين الملف فعليًا ، والوظائف والعمليات التي سيستخدمها. كل هذه الوظائف موجودة بالفعل في النواة.
يمكنك تخزين ملفك على القرص الصلب ، أو تقسيمه بين عدة أقراص ثابتة ، أو حتى الاحتفاظ به على خادم بعيد. وظائف اتصالات الملفات المشتركة مهمة في مثل هذه الحالات. تتبادل التطبيقات البيانات بغض النظر عن كيفية نقل البيانات. وظائف الاتصال المشتركة موجودة لإجراء عمليات تبادل البيانات هذه. يمكن أن تكون هذه الخطوة عبر الشبكات اللاسلكية أو حتى عبر خط هاتف ثابت.
إدارة العمليات في Linux
يُعرف المثيل النشط لبرنامج يعمل على البيانات أو المعلومات في الذاكرة باسم عملية. تتمثل مهمة Linux kernel في إنشاء مناطق الذاكرة هذه وتتبعها. النواة تخصص الذاكرة لبرنامج قيد التشغيل ويقوم بتحميل الكود القابل للتنفيذ في الذاكرة من نظام الملفات. بعد ذلك مباشرة ، تقوم النواة بتشغيل الكود.
يدعم Linux kernel تعدد المهام. إنه قادر على تشغيل العديد من العمليات في نفس الوقت. ومع ذلك ، لا توجد سوى معاملة واحدة في أي إطار زمني محدد. ومع ذلك ، فإن Linux kernel يقسم الوقت إلى أجزاء صغيرة ونتيجة لذلك ، يتم تنفيذ كل إجراء بالتسلسل.
نظرًا لأن هذه الأجزاء الصغيرة من الوقت تكون بزيادات بالمللي ثانية ، فإنها تكون نشطة فقط في أوقات محددة وتبقى خامدة بقية الوقت. تتمثل مهمة Linux kernel هنا في زيادة الأداء إلى الحد الأقصى من خلال تشغيل عمليات متعددة في وقت واحد.
إذا كانت الفترات الزمنية طويلة جدًا ، فقد لا يكون التطبيق قيد التشغيل مستجيبًا كما تريد. إذا كانت الأطر الزمنية قصيرة جدًا ، فقد تكون هناك مشكلات في تغييرات المهام. اعتمادًا على أولوية العملية ، سيختلف الفاصل الزمني للإطار الزمني المطلوب هنا. ربما سمعت عن العمليات ذات الأولوية العالية والعمليات ذات الأولوية المنخفضة من قبل. هذه إحدى الوظائف التي يتحكم فيها Linux kernel.
هذا التفسير ليس صحيحًا دائمًا. القيد الحقيقي هو أنه لا يمكن أن يكون هناك سوى عملية عاملة واحدة لكل نواة معالج في المرة الواحدة. تسمح أنظمة المعالجات المتعددة بتشغيل العديد من العمليات بالتوازي. يحتوي النظام الأساسي دائمًا على العشرات من العمليات الجارية.
حقوق الوصول في Linux
كما هو الحال مع أنظمة التشغيل الأخرى ، يمكنك إنشاء العديد من المستخدمين على نظام Linux. في مثل هذه الحالات ، يوجد نظام لإدارة الحقوق يدعم المستخدمين الأفراد والمجموعات. هذا هو المكان أذونات الملف والمستخدم تعال إلى اللعب.
يدير Linux kernel البيانات ويتحقق من الأذونات اللازمة لكل عملية. على سبيل المثال ، إذا حاولت فتح ملف ، فيجب على kernel التحقق من معرف العملية مقابل أذونات الوصول. إذا تحقق kernel ووجد أن لديك أذونات ، فسيتم فتح الملف.
يتحكم Linux Kernel في كل شيء
كما ترى ، يشرف Linux kernel على كل شيء بدءًا من أمان الملفات وحتى إنشاء المستخدمين وتنزيل الملفات من الإنترنت. كل شيء في ترتيب معين. لكل مستخدم حقوق. يدير Linux kernel العمليات والفترات الزمنية لتحقيق أعلى أداء.
علاوة على ذلك ، فإن نظام الملفات ، وهو أحد أكبر الميزات التي تميز Linux kernel عن أنظمة التشغيل الأخرى ، مهم جدًا. لينكس ليس صندوقًا مخفيًا. على العكس من ذلك ، يمكن الوصول إلى جميع الملفات ورموز المصدر. لفهم الطبيعة العملية والقوية لنواة Linux بشكل أفضل ، يمكنك فحص التسلسل الهرمي لنظام دليل Linux.