During this University Project, we were asked to develop various System Module modifications at Kernel Level under the supervision of Dr. Christos Antonopoulos (firstname.lastname@example.org).
At first, we had to develop the preemptive scheduling algorithm "Shortest Job First" or SJF. Our policy should take into account the time that has elapsed since the last execution of each process, favoring the processes have not been performed for a long time, while they are listed in the "ready queue".
After implementing SJF, we were asked to check the operation by using appropriate computational loads (applications). In particular, we used the interface provided by the virtual machine to create some execution profiles including:
• Only programs that calculate (without, or with the least possible I / O, error pages etc.) - non-interactive.
• Only programs that perform I / O (with the least possible calculation) - interactive.
• Both non-interactive and interactive programs.
Additionally, we completed many more modifications like: SLOB memory manager modification, printing Best-Fit algorithm execution data, Implementation of various system calls for gathering statistics about execution, New Kernel compilation..