##AUTHORS
- Guilherme Nishina Fortes
- Henrique de Almeida Machado da Silveira
- Marcello de Paula Ferreira Costa
- Sergio Yudi Takeda
##Description of the Open Educational Resource: Mutual Exclusion and Critical Region
University Of São Paulo
Institute of Mathematical and Computer Sciences
Class: SSC0640 Operating Systems I
Date: 06/17/2015
####OBJECTIVES
This Mutual Exclusion and Critical Region aims to illustrate two important concepts related to operating systems: critical region and mutual exclusion. Its objectives are:
- To illustrate the concept of critical region, showing in code examples where it is located;
- To show the importance and the necessity of implementing a mutual exclusion mechanism in concurrent programming where processes share common resources;
- To present an example of how the execution concurrent processes occurs, given the use of a mutual exclusion mechanism and the access to critical regions;
- To illustrate a situation in which the lack of a mutual exclusion mechanism results in unexpected and unwanted behavior.
####UTILIZATION
The utilization of this open educational resource can be done by:
- Professors, in class, executing the simulations of concurrent processes that illustrate the concepts of critical region and mutual exclusion. After explaining those concepts, the professor can facilitate the understanding of those concepts by using this open educational resource, showing the step-by-step execution of concurrent processes that access their critical regions both when mutual exclusion mechanisms are implemented and when they are not implemented.
- Students, individually and after class. When studying the concepts addressed by this open educational resource, the student will be able to use it as a summary of those concepts and as a simulation tool to visualize the behavior of concurrent processes, focusing on the operation of mutual exclusion and critical region access. SNAPSHOT
####SYSTEM REQUIREMENTS AND NECESSARY RESOURCES
- To use this open educational resource, there is no need for special hardware resources;
- In case the user downloads only the .jar file, it is necessary to have the latest version of Java installed in the computer. The latest version of Java was Java 8 when this text was written.
####INSTALLATION AND USAGE INSTRUCTIONS
INSTALLATION: It is nor necessary to install the software. The provided .jar file can be executed by opening it. However, in some cases, the computer’s security settings might block the execution of the software. In this case, change the computer’s security settings to allow the execution of the Open Educational Resource.
USAGE: To use the software, choose your language of preference in the Language Menu. Now, in the main menu, select one of the provided options. The Summary of Concepts option presents basic definitions of some concepts which are essential to comprehend the content of the Open Educational Resource. The Simulations option lets the user choose between three simulation modes of concurrent processes execution. The simulations include examples with and without the usage of mutual exclusion mechanisms. The Credits option shows information about the software’s authors and copyright information. Finally the Change Language option allows the user to go back to the Language Menu.
utzid