I have implemented the a real-time CPU scheduler based on the Rate-Monotonic Scheduler for a single-core processor. In order to implement these function, I have created a kernel thread "dispatching" to handle the context switch, and a timer to wake up the dispatching thread based on real-time period. In addition to the timer, I also implement a yield function which can modifier the timer for each yielded task who want to sleep also wake up the dispatching thread to perform context switch to change the task who want to sleep. Therefore, each task who finish its period can call yield, then it will sleep and set a timer to wake itself in the next period. Before the task thread fall asleep, it will wake up the dispatching thread, then the scheduler can perform context switch for it. In order to reduce the probability of missing the deadline, I also implement the admission control, by calculating the bound, It can reject the task when there are too many task to handle. Same as mp1, I also implement read and write callback function to receive and send the data from/to user space.
-
Notifications
You must be signed in to change notification settings - Fork 0
Carol7102/Rate-Monotonic-Scheduler-for-Linux
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published