Graduate Project

Augmenting OSCAL with animations of operating systems concepts

OSCAL is an effective online library which facilitates students trying to learn Operating system concepts by giving them graphical experience. The new concepts that are being added to this library are Dining Philosopher's Problem and Race Condition Demonstration and User/Kernel Thread models. Dining Philosopher Problem demonstrates the different scenarios that can occur when multiple threads try to access shared resources to complete their work. The problem describes five philosophers sitting around a table, which is set with 5 plates (one for each philosopher), 5 chopsticks, and a bowl of rice. Each philosopher alternately thinks and eats. To eat, she needs the two chopsticks next to her plate. When finished eating, she puts the chopsticks back on the table, and continues thinking. The scenarios that are graphically explained in this applet are Deadlock, Starvation and Synchronization. Race Condition occurs when multiple threads enter the critical section at the same time and try to write on a single data that is being shared between the two threads. This results in wrong data being written. In this applet we demonstrate the occurrence of Race condition using a Banking scenario with Deposit and Withdraw Transactions available for the user. User threads are supported above the kernel, without kernel support. Kernel threads are supported within the kernel of the OS itself. The user threads must be mapped to kernel threads, using one of the several strategies. There are different ways in which user threads can be mapped on to the kernel threads. This applet demonstrates One to One model, One to Many model and Many to Many model. The applets are being coded in JAVA using Net beans IDE.

Items in ScholarWorks are protected by copyright, with all rights reserved, unless otherwise indicated.