پروژه راه اندازی سیستم عامل Real Time  با PIC

سیستم عامل Real Time یا RTOS در یک هسته چند وظیفه ای ساخته می شود و به هر تسک یک برش زمانی داده شده و سیستم عامل آنها را کنترل می کند. برش زمانی مقدار زمانی می باشد که به هر وظیفه داده می شود تا بتواند پیش از خاتمه یا جایگزینی کار خود را انجام دهد.طریقه عملکرد برنامه به اینصورت می باشد که یک برش زمانی به یک تسک داده می شود و آن تسک باید در آن زمان کار خود را انجام دهد اگر آن تسک نتوانست در طول مدت زمان مختص به خود کار را انجام بدهد سیستم عامل زمان را از تسک جاری گرفته و به تسک دیگری می دهد. تسک دوم نیز باید در مدت زمان مختص به خود وظیفه و کدهای خود را اجرا کند و سپس زمان دوباره به تسک اول داده می شود.


بخش های یک سیستم عامل RTOS عبارت است از

1- سرویس های RTOS

2-برنامه ریز RTOS

3- ابزارهای پیام رسان

در همه سیتم عامل های مبتنی بر RTOS یک برنامه ریز وجود دارد که الگوریتمی را برای اجرای وظایف در زمان مقتضی فراهم می کند. در زیر به سه نوع از رایجترین این نوع برنامه ریزها اشاره شده است.

1-زمان بندی تعاونی

2-زمان بندی گردشی

3-زمان بندی انحصاری

در زمان بندی تعاونی هر وظیفه می تواند تا تکمیل شدن کارهای خود از CPU استفاده کند و در صورت اجرا شدن و به انتها رسیدن تسک زمان را دوباره به تسک بعدی می دهد.این نوع برنامه ریز نمی تواند نیازهای یک سیستم عامل Real Time را انجام دهد زیرا دارای الویت تسک ها نمی باشد.در این نوع برنامه ریز ممکن است که یک تسک مدت زمان زیادی را به خود اختصاص دهد و برای تسک های دیگر زمان کمی باقی بماند.


در برنامه ریز گردشی تسک های مختلف می توانند به اندازه مساوی از زمان استفاده کنند به این معنی که اولویت آنها با یکدیگر برابر می باشد.در این نوع برنامه ریز یک شمارنده وجود دارد که در شروع تسک مدت زمان اختصاص داده شده با آن تسک را می شمارد و در صورت پایان یافتن تسک بعدی را اجرا می کند و این روند برای همه تسک ها اجرا شده و مانند یک حلقه این روند تکرار می شود.

در برنامه ریز انحصاری یک الگوریتم زمان بندی Real Time  است این الگوریتم بر اساس اولویت کار می کند و هر وظیفه دارای یک اولویت معین می باشد.تسک ها از اولیت 0 تا اولویت 255 را در این نوع برنامه ریز دارند که 0 دارای بیشترین اولویت و 255 دارای کمترین اولویت می باشد. در بعضی از سیستم ها ممکن است که از چند نوع از برنامه ریز ها با یکدیگر استفاده می شود.


در کامپایلر CCS یک برنامه ریز از نوع تعاونی ساده را برای میکروکنترلرهای PIC فراهم شده است. در این نوع RTOS بدون استفاده از وقفه تسک ها اجرا خواهد شد.در این نوع برنامه ریز یک زمان باید به هر تسک اختصاص داده شود و باید حتما تا پایان این زمان تسک کار خود را انجام داده باشد و بتواند پس از پایان اجرا را به تسک بعدی بدهد.در برنامه قرار داده شده 4 عدد LED به صورت رندوم در زمان های گوناگون روشن می شود. در زیر سورس برنامه برای دانلود قرار داده شده است.

 

 

پروژه راه اندازی سیستم عامل Real Time با PIC

 

 

دانلود پروژه سیستم عامل RTOS با PIC

 

 

کانال تلگرام ایده نگر