Priority Based Implementation in Pintos

Pintos is a simple operating system framework for the 80x86 architecture. It supports kernel threads, loading and running user programs, and a file system, but it implements all of these in a very simple way.Pintos could, theoretically, run on a regular IBM-compatible PC. But it is difficult to get a regular IBM-compatible PC just for this OS, we will run Pintos projects in a system simulator, that is, a program that simulates an 80x86 CPU and its peripheral devices accurately enough that unmodified operating systems and software can run under it. In class we will use the Bochs and QEMU simulators. Pintos has also been tested with VMware Player. Pintos uses a basic FIFO round robin algorithm for scheduling threads, semaphores, locks and condition variables. The current system has a minimally functional thread system.Our paper is to understand the working of pintos and extend the functionality of this system to gain a better understanding of synchronization problems byimplement priority scheduling and priority donation. Keywords— pintos, 80x86 architecture, bochs, gdb-stub, priority donation, priority inversion.