Table 1 lists the simulations by chapter. The simulators are all written in Java and can be run either locally as a Java application or online through a browser. The folder includes the following: 1. A brief overview of the simulations available. How to port them to the local environment. Specific assignments to give to students, telling them specifically what they are to do and what results are expected.
For each simulation, this section provides one or two original assignments that the instructor i nstructor can assign to students. All of the documentation and support material are contained in the folder Simulation-Projects at box. Table 1 OS Simulations Simulations by Chapter Chapter Chapter 5 - Concurrency: Mutual Exclusion and Synchronization Producer-consumer Allows the user to experiment with a bounded buffer synchronization problem in the context of a single producer and a single consumer UNIX Fork-pipe Simulates a program consisting of pipe, dup2, close , fork, read , write , and print instructions Chapter 6 - Concurrency: Deadlock and Starvation Starving philosophers Simulates the dining philosophers problem Chapter 8 - Virtual Memory Address translation Used for exploring aspects of address translation.
The projects can be assigned after Chapter 3 and after Chapter 9, 9 , respectively. The ISF provides a set exercises designed to provide incremental solutions to the projects, with each successive exercise discussing different aspects of the project. Both projects are designed around using the C language on a UNIX platform with descriptions of all the major system functions that are required being supplied as well as a comprehensive C Standard Library reference. Progressive solutions to the projects for each exercise are supplied separately, as are fully functional final project programs and marking scripts to evaluate student solutions.
The project and exercise documentation is provided as a complete Web site with all documents in HTML. The site can be used as is or it can be customized for use by individual instructors. The suite was built using Adobe Dreamweaver and uses the Template and Library features of that application to enable bulk changes to format and repeated content, titles etc. These projects were developed by Ian G. Graham of Griffith University, Australia.
The first of these assignments is a crash course in C, to enable the student to develop sufficient proficiency in C to be able to do the remaining assignments. The set consists of nine machine problems with different difficulty degrees. It may be advisable to assign each project to a team of two students. Each MP includes not only a statement of the problem but a number of C files that are used in each assignment, step-by-step instructions, and a set of questions for each assignment that the student must answer that indicate a full understanding of each project.
The scope of the assignments includes: 1. Explore and extend a simple Unix shell interpreter 3. Modify faulty code that utilizes threads. Implement a multithreaded application using thread synchronization primitives.
Write a user-mode thread scheduler 6. Simulate a time-sharing system by using signals and timers 7. A six-week project aimed at creating a simple yet functional networked file system. It contains the index. Author William Stallings emphasizes both design issues and fundamental principles in contemporary systems, while providing readers with a solid understanding of the key structures and mechanisms of operating systems.
He discusses design trade-offs and the practical decisions affecting design, performance and security. The text illustrates and reinforces design concepts, tying them to real-world design choices with case studies in Linux, UNIX, Android, and Windows With an unparalleled degree of support for project integration, plus comprehensive coverage of the latest trends and developments in operating systems, including cloud computing and the Internet of Things IoT , the text provides everything readers need to keep pace with a complex and rapidly changing field.
The 9th Edition has been extensively revised and contains new material, new projects, and updated chapters. In addition, a new section has been added on the use of containers. This book is about the concepts, structure, and mechanisms of operating systems. Its purpose is to present, as clearly and completely as possible, the nature and characteristics of modern-day operating systems.
This task is challenging for several reasons. First, there is a tremendous range and variety of computer systems for which operating systems are designed. These include embedded systems, smart phones, single-user workstations and personal computers, medium-sized shared systems, large mainframe and supercomputers, and specialized machines such as real-time systems.
The variety is not just confined to the capacity and speed of machines, but in applications and system support requirements. Second, the rapid pace of change that has always characterized computer systems continues without respite. A number of key areas in operating system design are of recent origin, and research into these and other new areas continues.
In spite of this variety and pace of change, certain fundamental concepts apply consistently throughout. To be sure, the application of these concepts depends on the current state of technology and the particular application requirements. The intent of this book is to provide a thorough discussion of the fundamentals of operating system design, and to relate these to contemporary design issues and to current directions in the development of operating systems.
0コメント