Operating system concepts (2nd ed.)
Operating system concepts (2nd ed.)
Principles of concurrent and distributed programming
Principles of concurrent and distributed programming
An introduction to operating systems (2nd ed.)
An introduction to operating systems (2nd ed.)
Operating system principles
A project for a course in operating systems
SIGCSE '83 Proceedings of the fourteenth SIGCSE technical symposium on Computer science education
An operating systems programming laboratory course
SIGCSE '83 Proceedings of the fourteenth SIGCSE technical symposium on Computer science education
A paged - operating - system project
SIGSCE '84 Proceedings of the fifteenth SIGCSE technical symposium on Computer science education
An operating system course project
ACM SIGCSE Bulletin
An operating systems project using structured methodology
ACM SIGCSE Bulletin
Teaching operating systems in a virtual machine environment
SIGCSE '87 Proceedings of the eighteenth SIGCSE technical symposium on Computer science education
Operating system projects on two simulated machines
SIGCSE '87 Proceedings of the eighteenth SIGCSE technical symposium on Computer science education
The multiuser calculator: an operating system project
SIGCSE '88 Proceedings of the nineteenth SIGCSE technical symposium on Computer science education
An advanced operating systems project using concurrency
ACM SIGCSE Bulletin
Hi-index | 0.00 |
The purpose of this paper is to describe a project in a course on Operating Systems. The project is designed to reinforce the concepts of memory management, process management and processor management that are discussed in most Operating Systems texts. Each student is to design and write a program that will simulate these major components of an operating system. This project is presented to the student in 3 phases and is written in Pascal although it can be adapted to other languages. The first phase requires the design of memory management routines for an operating system which schedules jobs through the use of a combined round robin/FIFO philosophy. The major concerns are the allocation and deallocation of memory pages as programs are submitted to the system and are removed from the system as they finish. The second phase takes into account various scheduling techniques, I/O requests, and swapping. Having already worked out the bugs in the memory management routines, the student now must be concerned with the management of the jobs that pass through the system. The third and last phase is the implementation of job synchronization. Several events are described, any of which may be the object of a WAIT or SIGNAL directive issued by an executing program. The project must synchronize jobs that issue a WAIT and SIGNAL directive on the same event.The project is part of a 3 credit course in Operating Systems taught to Juniors and Seniors. Successful completion of the project includes not only the correct implementation of a well documented and logically designed operating system, but also a comparative study, within each phase, of the efficiency and effectiveness of the operating system as a variety of parameters, which describe the environment, are changed. Observations are submitted in a report that is required with each phase.