Assignment 2: Lottery Scheduling Solution



**Developers**: Diego Magdaleno, Shawn Chumbar, Sean Dow

## Building the kernel

Two files are modified and must be placed inside the kernel source code: `sched_ule`, and `kern_switch.c`. You can copy them in manually, or run:

sudo make install

and copies of them will be added to the directory `/usr/src/sys/kern`. Please note that in most cases the command must be run as root (hence the sudo).

Once the files are in place, move to the directory `/usr/src/` and run:

sudo make buildkernel # compiles the kernel

sudo make installkernel # installs the kernel

You can add the -DKERNFAST flag to the first command to speed things up.

Upon rebooting, the kernel should be running.

To remove the files from `/usr/src/sys/kern`, run:

sudo make uninstall

But please note that it won’t add the original ones back in — your kernel source code will simply be incomplete.

## Benchmarks

To build the benchmark executable, run:

make benchmark

The executable will be compiled. To run it, simply type `./Benchmark`.

The benchmark runtime can vary significantly depending on the system, but shouldn’t take more than a minute or two. Once it’s complete, two files will be created. The first is `benchmark_results.txt` which, as the name suggests, contains the results of the benchmark. The second file is called `dmesg_output` and is the section of the kernel logs that was examined in the benchmark. You’re free to do your own analysis of it if you so choose.

error: Content is protected !!