This simulated kernel was created as a part of the Operating Systems course at FAST-NUCES. The kernel is written in C++ and uses multithreading to simulate the working of a real kernel.
Features
-
Multithreaded
-
Scheduler
-
Process Management
Schedulers
-
First Come First Serve (FCFS)
-
Round Robin (RR)
-
Preemptive Priority
Here are the general requirements for SparkKernel:
Kernel can run process and threads Processes follows the five-state model, and is also depicted in the Figure NEW - The process is being created and has not yet begun executing.
READY - The process is ready to execute and is waiting to be scheduled on a CPU.
RUNNING - The process is currently executing on a CPU.
WAITING - The process has temporarily stopped executing and is waiting on an I/O request to complete.
TERMINATED - The process has completed.
Initialize processes and threads including their stack and related kernel data structures. There is a field named state in the PCB, which must be updated with the current state of the process. “SparkKernel” will use this field to collect statistics