خيوط نواة خفيفة الوزن

خيوط النواة خفيفة الوزن ( LWKT ) مصطلحٌ في علوم الحاسوب ، وتحديدًا من نظام DragonFly BSD . تختلف خيوط النواة خفيفة الوزن عن خيوط النواة العادية في قدرتها على مقاطعة خيوط النواة العادية . وفقًا لمات ديلون ، مبتكر نظام DragonFlyBSD:

يُعدّ مُجدوِل LWKT مسؤولاً عن تشغيل الخيوط فعلياً. وهو يستخدم نظام أولوية ثابتة، لكن هذه الأولويات الثابتة تُميّز بين الأنظمة الفرعية الرئيسية ، وليس عمليات المستخدم. على سبيل المثال، تتمتع خيوط مقاطعات الأجهزة بأعلى أولوية، تليها مقاطعات البرامج، ثم خيوط النواة فقط، وأخيراً خيوط المستخدم. يعمل خيط المستخدم إما بأولوية المستخدم-النواة (عندما يعمل فعلياً في النواة، مثلاً عند تنفيذ استدعاء نظام نيابةً عن مساحة المستخدم)، أو يعمل بأولوية المستخدم.

يقوم نظام DragonFly بالمقاطعة، لكنه يفعل ذلك بحذر شديد وفي ظروف محددة فقط. على سبيل المثال، يمكن لخيط مقاطعة LWKT مقاطعة معظم الخيوط الأخرى. وهذا يحاكي ما كان يفعله نظام FreeBSD-4.x بالفعل من خلال آلية spl/run-interrupt-in-context-of-current-process. ما لا يفعله نظام DragonFly هو السماح لخيط نواة غير مُقاطع بمقاطعة خيط نواة آخر غير مُقاطع.

يدعم نظام التشغيل z/OS الخاص بالحاسوب المركزي آلية مماثلة تسمى SRB ( كتلة طلب الخدمة ).

تمثل طلبات SRB طلبات لتنفيذ روتين خدمة النظام. تُنشأ طلبات SRB عادةً عندما يكتشف أحد مساحات العناوين حدثًا يؤثر على مساحة عناوين أخرى؛ وهي توفر إحدى آليات الاتصال غير المتزامن بين مساحات العناوين للبرامج التي تعمل على نظام z/OS.

يُشبه مُعامل التخزين المُجدول (SRB) كتلة التحكم في العمليات (PCB) في كونه يُحدد وحدة عمل للنظام. على عكس كتلة التحكم في العمليات، لا يُمكن لمُعامل التخزين المُجدول امتلاك مساحات تخزين. في بيئة متعددة المعالجات، يُمكن إرسال روتين مُعامل التخزين المُجدول، بعد جدولته، إلى معالج آخر، ويُمكن تشغيله بالتزامن مع برنامج الجدولة. يُمكن لبرنامج الجدولة الاستمرار في تنفيذ عمليات أخرى بالتوازي مع روتين مُعامل التخزين المُجدول. يُمكن للبرامج التي تعمل في وضع النواة فقط إنشاء مُعامل تخزين مُجدول.

يعرف نظام التشغيل ويندوز آلية خيوط خفيفة الوزن مماثلة تُسمى "الألياف". ويتم جدولة الألياف بواسطة برنامج تطبيقي. ويستخدم نقل خادم معاملات CICS إلى منصة ويندوز الألياف، وهو أمر مشابه إلى حد ما لاستخدام "المناطق المعزولة" في نظام التشغيل z/OS.

في نظام UNIX، تحتوي "خيوط النواة" على خيطين، أحدهما هو خيط النواة، والآخر هو خيط المستخدم.

انظر أيضاً

مصادر