نوآوری در مدیریت برای توسعه پایدار

Kolnegar Private Media (Management Innovation for Sustainable Development)

7 اردیبهشت 1403 2:26 ب.ظ

ایزولاسیون خودکار درایور دستگاه در برابر اشکالات سیستم عامل محافظت می کند

22 آگوست 2022 -توسط مری فتزر، دانشگاه ایالتی پنسیلوانیا -اعتبار: دامنه عمومی Pixabay/CC0

هسته یک سیستم عامل به عنوان مترجم بین کاربر و ماشین عمل می کند. برای بهبود قابلیت اطمینان یک هسته، توسعه دهندگان می توانند درایورهای دستگاه سیستم عامل را ایزوله کنند و مانع از تأثیر خرابی یک مؤلفه بر سایر مؤلفه ها شوند. با این حال، نیازمند تلاش های غیرعملی انسانی است.

تیمی از محققان به رهبری G. Gary Tan و Trent Jaeger، استادان علوم کامپیوتر و مهندسی در Penn State، تصمیم گرفتند چارچوبی ایجاد کنند که بتواند میزان کار دستی مورد نیاز برای ایزوله کردن درایور دستگاه را در حضور دستگاه‌ها الگوهای هسته چالش برانگیز  را خودکار و کاهش دهد.

محققان چارچوب خود را در شانزدهمین سمپوزیوم USENIX در مورد طراحی و پیاده‌سازی سیستم‌های عامل (OSDI ’22)، که از 11 تا 13 ژوئیه در کارلزباد، کالیفرنیا برگزار شد، ارائه کردند. OSDI یک کنفرانس برتر در تحقیقات سیستم‌های عامل است و متخصصان حرفه‌ای از پیشینه‌های دانشگاهی و صنعتی را گرد هم می‌آورد تا در مورد طراحی، پیاده‌سازی و مفاهیم نرم‌افزار سیستم‌ها بحث کنند.

هسته سیستم عامل تمام سخت افزارها و نرم افزارهای کامپیوتر را کنترل و هماهنگ می کند. درایورهای دستگاه به هسته اجازه می دهند تا بدون اطلاع از جزئیات جزء با سخت افزار تعامل داشته باشد. به عنوان مثال، هنگامی که یک کاربر کامپیوتر خود را برای چاپ یک سند هدایت می کند، هسته عملکردهای واسط خاصی را که توسط درایور چاپگر ارائه شده است، فراخوانی می کند، که داده ها را پردازش کرده و کار را به چاپگر می فرستد.

به گفته تان، برای جداسازی موثر درایورهای دستگاه و حفظ ارتباط هسته-درایور، توسعه دهندگان باید رابط ارتباطی بزرگ و پیچیده بین درایور و هسته را بررسی کنند و تصمیم بگیرند که چه داده هایی باید با بررسی تمام تعاملات بین درایور و هسته هماهنگ شوند. هسته آنها همچنین نیاز به مدیریت الگوهای همگام سازی چالش برانگیز مانند همزمانی داده ها، نوشتن هزاران خط کد برای صاف نگه داشتن عملیات داشتند.

تان گفت: “ایزوله کردن یک تکنیک موثر برای بهبود قابلیت اطمینان در سیستم‌های نرم‌افزاری مانند هسته است، اما تکیه بر تلاش انسان برای جداسازی درایورها غیرواقعی است، بنابراین ما تصمیم گرفتیم چارچوبی برای خودکارسازی فرآیند ایجاد کنیم.” “با جداسازی، خرابی در یک جزء در حوزه خود محدود می شود؛ اشکالات در یک جزء نمی توانند مستقیماً بر بقیه سیستم تأثیر بگذارند. این به طور قابل توجهی قابلیت اطمینان را بهبود می بخشد.”

آنها KSplit را توسعه دادند، رویکردی که هم می تواند به طور خودکار وضعیت درایور هسته مشترک را تجزیه و تحلیل کند و هم هر یک از نیازهای همگام سازی را برای این حالت مشترک محاسبه کند. این برنامه همچنین مناطقی را شناسایی می‌کند که نیاز به مداخله دستی دارند، و حجم کار دستی را به حداقل کدنویسی و داده‌ها کاهش می‌دهد.

تان گفت: «قبل از KSplit، این فرآیند کار فشرده و مستعد خطا بود. “با KSplit، بیشتر این وظایف جداسازی پیچیده به صورت خودکار انجام می شود.”

محققان این راه حل را با 354 درایور دستگاه در 9 زیرسیستم در هسته لینوکس ارزیابی کردند. برای یک درایور پیچیده، KSplit به 53 خط کد از 2476 خط کد به‌روزرسانی‌های دستی نیاز داشت که به‌طور خودکار مشخصات رابط تولید می‌شد و 19 تغییر اضافی در کد درایور. این کمتر از 3 درصد از کارهای دستی مورد نیاز بدون KSplit است.

جی گر گفت: «تحلیل KSplit از 354 درایور نشان می‌دهد که بخش مشابهی از کار دستی مورد انتظار است و نشان می‌دهد که KSplit ابزاری عملی برای خودکارسازی وظایف کلیدی برای فعال کردن جداسازی راننده است. با این حال، این چارچوب عمدتاً بر بهبود قابلیت اطمینان سیستم تمرکز دارد. ما قصد داریم KSplit را گسترش دهیم تا رابط بین هسته و درایور سخت‌تر شود، با ضمانت امنیتی برای هسته حتی در حضور یک درایور مخرب.

به گفته Jaeger، مجموعه ای از تجزیه و تحلیل های استاتیک ارائه شده توسط KSplit، مانند محاسبه داده های لازم در بین بخش های مختلف سیستم، می تواند به نرم افزارهایی تعمیم داده شود که به تجزیه و تحلیل دقیق اطلاعات دسترسی به داده ها نیاز دارد، و پتانسیل محافظت در برابر نقض عمدی امنیتی یا سایر حملات را برجسته می کند.

https://techxplore.com

آیا این نوشته برایتان مفید بود؟

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *