The Four Projects
- Investigate the way the scheduling algorithm is currently implemented.
Then change it so that low priority processes cannot be starved out by higher
priority processes.
<PowerPoint> <kernel>
<documentation>
- Investigate the way the scheduling algorithm is currently implemented.
Then change it so that Linux-like scheduling is implemented, with goodness,
quanta, etc...
<PowerPoint> <kernel>
<documentation>
- Memory is currently allocated in a first fit manner.
Add a system call mm_algorithm_used() which will let a program select
the memory allocation algorithm from among best fit, worst fit, next fit
and first fit.
<PowerPoint>
<kernel>
<documentation>
- Implement a method whereby the programmer can designate some sensor
to be real-time. Then when this sensor has data, a process
waiting on that data will be immediately awoken and scheduled.
<PowerPoint>
<kernel>
<documentation>
<MOVIE!>
|
Project Requirements
- Each project has to be thoroughly documented. The code itself
must clearly indicate where changes have been made (with old code commented
out and new code inserted). Use a //---begin-change header and
//---end-change footer so that a script can read all your
code out of the files you have changed.
- You should also create a separate document describing how things
worked before you got there, and how things work after you made your changes.
- Be clear on the big picture as well as any interesting details when
describing your work.
- (This may be the most non-trivial requirement.) Write
a program that will demonstrate that the change you made had some effect.
For example, if you did the first project suggested to the left, you should
write a program with a process that gets starved in original brickOS, but
not in your version, and somehow communicates this to the user.
|