Abstract
The Linux kernel is mainly used is general-purpose operating system, i.e., in server and/or desktop environments. During the last years, however, academic institutions and companies showed an increasing interest in using it for real-time and control applications as well
However, since Linux has not been designed to be a real-time operating, the best-effort scheduling policy is not suited to provide high utilization and strong guarantees to time-sensitive tasks
We present an enhancement of the Linux scheduler through the implementation of the well known Earliest Deadline First algorithm for real-time tasks, leaving the current behavior of existing policies unchanged. It is integrated with the latest Linux scheduler, support multicore platforms, it is available for embedded architectures (like ARM) and can be used with either periodic or aperiodic workloads
چکیده
اصولاٌ از هستهی لینوکس در سیستم عامل های همه منظوره استفاده میشود، مثلاٌ در محیط های سرور و/یا دسکتاپ. اگرچه در طی سالیان گذشته، مؤسسات دانشگاهی و شرکت ها نشان دادهاند که یک گرایش رو به رشدی در حوزهی استفاده از این هسته در اپلیکیشن های کنترل و بلادرنگ وجود دارد.
اگرچه، ازآنجاییکه لینوکس بهعنوان یک سیستم عملیاتی بلادرنگ طراحی نشده است، بهترین سیاستهای زمانبندی را نمیتوان بهمنظور فراهم کردن سطح بالای استفاده و تضمین اجرای وظایف محاسباتی سنگین در این خصوص بکار برد.
در این مقاله قصد داریم با پیادهسازی الگوریتم اولین مهلت زمانی برای وظایف بلادرنگ، یکزمانبندی بهبود یافته ای را برای لینوکس ارائه دهیم تا بتوان رفتار فعلی سیاستهای موجود را بدون تغییر باقی بگذاریم. این الگوریتم، با آخرین زمانبندی که برای لینوکس ارائه شده است ادغامشده و از پلت فرمهای چندهستهای پشتیبانی میکند. و میتوان آن را برای معماریهای ادغامشده (مانند ARM) بکار برد و میتوان از آن در بار های کاری دورهای و غیر دورهای استفاده کرد.