كليبك
في مجال الحوسبة ، تُعدّ مكتبة klibc مجموعة فرعية مُصغّرة من مكتبة C القياسية، طوّرها هـ. بيتر أنفين . وقد طُوّرت أساسًا لاستخدامها أثناء عملية بدء تشغيل نظام لينكس ، وهي جزء من مساحة المستخدم المبكرة ، أي المكونات المستخدمة أثناء بدء تشغيل النواة، ولكنها لا تعمل في وضع النواة . [ 2 ] لا تملك هذه المكونات إمكانية الوصول إلى المكتبة القياسية (عادةً glibc أو musl ) التي تستخدمها برامج مساحة المستخدم العادية .
كان تطوير مكتبة klibc جزءًا من جهود عام 2002 لنقل بعض أكواد تهيئة نظام لينكس من النواة. [ 3 ] [ 4 ] [ 5 ] ووفقًا لوثائقها، فإن مكتبة klibc مُحسَّنة لضمان الدقة وصغر الحجم. [ 2 ] وبفضل تصميمها، تُعد klibc مناسبة تقنيًا للبرمجيات المُدمجة عمومًا على مختلف المنصات، وتُستخدم حتى في برامج كاملة الميزات مثل MirBSD Korn Shell .
أثناء عملية بدء تشغيل نظام لينكس، يتم تحميل مكتبة klibc من داخل نظام ملفات مؤقت في ذاكرة الوصول العشوائي (RAM) ، يُسمى initramfs. وهي مُدمجة افتراضيًا في أنظمة ملفات ذاكرة الوصول العشوائي الأولية التي يُنشئها البرنامج النصي في دبيان [6] وأوبونتو . علاوة على mkinitramfsذلك ، تحتوي على مجموعة من أدوات يونكس الصغيرة المفيدة في مساحة المستخدم الأولية ، مثل: cpio و dash و fstype و mkdir و mknod و mount و nfsmount و run-init، وغيرها، وكلها تستخدم مكتبة klibc . [ 7 ] وثمة استراتيجية بديلة تتمثل في تضمين كل شيء في ملف تنفيذي واحد، مثل BusyBox ، الذي يُحدد التطبيق المصغر المطلوب عبر الوسائط أو الروابط الصلبة أو الروابط الرمزية .
الترخيص
يتم ترخيص klibc بترخيص مزدوج بموجب ترخيص BSD ثلاثي البنود [ 8 ] (كان سابقًا رباعي البنود، وتم تصحيحه عبر إشعار الإذن التاريخي وإخلاء المسؤولية )، بالإضافة إلى GPLv2 (GPLv2 فقط ، بسبب قيود نواة Linux).
تتيح هذه الرخصة المزدوجة التوافق مع البرامج غير المرخصة بحقوق النسخ، بالإضافة إلى برامج GPLv3 عبر رخصة BSD (والتي لن تكون متوافقة لولاها). (مع ذلك، إذا تضمنت مكتبة klibc أي كود نواة GPLv2 مثل الموجود في مكتبة glibc، فإن التطبيق بأكمله سيعود إلى GPLv2).
مراجع
- ↑ https://git.kernel.org/pub/scm/libs/klibc/klibc.git/tag/?h=klibc-2.0.14 .
{{cite web}}: مفقود أو فارغ|title=( مساعدة ) - 1 2 "دعم مبكر لمساحة المستخدم" . مؤرشف من الأصل بتاريخ 2011-05-02 . تم الاطلاع عليه بتاريخ 2020-09-29 .
- ↑ جوناثان كوربيت ، (نوفمبر 2002) وصول Initramfs ، LWN.net
- ↑ "دمج initramfs، الجزء 1 من N" . 2002-02-11.
- ↑ "ردًا على: دمج initramfs، الجزء 1 من N" . 2002-02-11.
- ↑ Debian stable Klibc .
- ↑ "libs/klibc/klibc.git / tree" .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "klibc.spec.in - klibc/klibc.git - شجرة التطوير الرئيسية لـ klibc" . git.kernel.org . تم الاطلاع عليه بتاريخ 2020-12-06 .
روابط خارجية
- قائمة بريد klibc
- initramfs وحيث تبدأ مساحة المستخدم حقًا - LWN، جوناثان كوربيت ، 11 يوليو 2006.
- مكتبة C القياسية
- مكتبات حاسوب مجانية
- برنامج مجاني مكتوب بلغة C
- واجهات نواة لينكس
- واجهات برمجة تطبيقات لينكس
- البرامج التي تستخدم ترخيص BSD
- برنامج يستخدم رخصة جنو العمومية العامة
