AbstractsComputer Science

Addition of three animations to OSCAL

by Chetan Nagarkar




Institution: California State University – Sacramento
Department: Computer Science
Degree: MS
Year: 2015
Keywords: Multithreading; Operating system; Operating system principles; Java project; Visual learning
Record ID: 2061505
Full text PDF: http://hdl.handle.net/10211.3/139278


Abstract

OSCAL ??? acronym for ???Operating System Concept Animation Library??? ??? is an online library that helps students understand concepts in Operating System with a graphical explanation. This project aims at adding animations for the following concepts: Race Condition, Dining Philosophers Problem and Access Control Matrix. Race Condition can happen when multiple concurrent threads enter critical section at the same time and modify shared data. Without synchronization, this can result in inconsistent data. The applet aims to demonstrate Race Condition through a banking scenario with deposit and withdraw transactions. The concurrent transactions are treated as multiple threads, trying to update the same shared variable ??? a bank account. The Dining Philosophers Problem demonstrates the many scenarios that can happen when multiple threads try to access shared resources. The analogy assumes a set of five philosophers(processes) on a table with a set of 5 chopsticks(shared resources). To eat every philosopher needs 2 chopsticks. After eating, he continues thinking. This applet aims to demonstrate deadlock, starvation and non-deadlock non-starvation scenarios. Access Control Matrix is a formal control security mechanism used in most multi-user systems, to specify rights or permissions that subjects (processes) have with different objects (resources). This helps to determine the change in privileges if a process is moved from a domain A to a domain B. The applet aims to demonstrate this mechanism, using a multi-user, multi-file scenario. The applets were developed using Java SE 7 in Eclipse IDE.