Multicore Embedded Operating System Components for Education
The main topic to be completed for the Summer REU 2018 program is the multicore scheduler for the Embedded Multicore Xinu that Marquette's Operating Systems class currently uses to teach on the Raspberry Pi 3. A scheduler was chosen to be the first thing to be implemented by following the general outline of the OS class itself. It is the first part of the OS the class builds that is significantly different from its single-core counterpart. Having students write their own multicore schedulers as an assignment for the class would be a great exercise in both programming the hardware, as well as conceptualizing the way multicore systems work. It will help students to understand how single problems can be solved by splitting them into parallel parts, as well as solving completely unrelated tasks concurrently.
Tentative Timeline:
Week 3 Have a working ready list shared between and accessible by all cores
Week 5 Be able to pull any process off ready list and assign it to any core at any time
Week 7 Have a working scheduler
Week 10 Complete testing and finish writing paper to present.