Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

A project for operating systems simulation

Published: 01 February 1986 Publication History

Abstract

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.

References

[1]
Ben-Ari, M., Principles of Concurrent P!ogramming, Prentice Hall, (1982).
[2]
Brinch Hansen, Operating SystemPrinciples, Prentice-Hall, (1973).
[3]
Deltel, H. M., An Introduction to Operating Systems, Addison Wesley, (1984).
[4]
Hayshi, T., "An Operating Systems Programming aboratory ourse," SIGCSE Bulletin, 15,1, (Feb. 1983), 31-35.
[5]
LaGarde, J., 011vler, C., Padiou, G., "An operating System Course Project," SIGCSE Bulletin, 13,2, (June 1981), 34-48.
[6]
Peterson, j. L. and Silberschatz, A., Operating System Concepts, (2nd ed.), Addison Wesley, (1985) .
[7]
Pokrass, D. J. and Wu, B.F., "An Operating System Project Using Structured Methodology,t' SIGCSE Bulletin, 14,3, (Sept. 1982), 7-10.
[8]
Schiper, A., et. al., "A Paged-Operating-System Project," SIGCSE Bulletin, 16,1, (Feb. 1984), 54-38.
[9]
Shu5, C., "A Project for a Course in Operating Systems," SIGCSE Bulletin, 15,1, (Feb. 1983), 25-30.

Cited By

View all

Recommendations

Reviews

Allan Louis Lucke

This seven-page paper is aimed squarely at computer science instructors who teach operating systems. A three-phase laboratory project for students that are enrolled in the author's operating systems class at the University of Wisconsin–Green Bay is described in reasonable detail. As the students apparently use a general-purpose multiprocessing mainframe, simulation of an operating system is the only practical way to give the students a feel for the critical aspects of job scheduling, memory allocation, swapping, and general interrupt handling. The paper is well written. The simulation techniques are reasonably described without the excruciating detail found in some similar papers, and yet fully enough explained to satisfy a competent computer science instructor. The flow of the presentation is smooth, natural, and logical. The major criticism this reviewer might levy would question the wisdom of thrusting students immediately into a multiprocessing operating system design simulation without first going through a single user operating system project. The author admits to a less than 50 percent successful completion rate, but nevertheless he feels that the project is successful. Operating systems instructors who teach by actually producing rudimentary operating systems on dedicated computers or who simply teach operating systems theory without lab exercises could profit by reading this paper.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM SIGCSE Bulletin
ACM SIGCSE Bulletin  Volume 18, Issue 1
Proceedings of the 17th SIGCSE symposium on Computer science education
February 1986
304 pages
ISSN:0097-8418
DOI:10.1145/953055
Issue’s Table of Contents
  • cover image ACM Conferences
    SIGCSE '86: Proceedings of the seventeenth SIGCSE technical symposium on Computer science education
    February 1986
    336 pages
    ISBN:0897911784
    DOI:10.1145/5600
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 February 1986
Published in SIGCSE Volume 18, Issue 1

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)66
  • Downloads (Last 6 weeks)18
Reflects downloads up to 16 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (1992)The acquisition of operating systems concepts by computer science studentsComputers & Education10.1016/0360-1315(92)90125-O19:3(309-320)Online publication date: 1-Oct-1992
  • (1990)An advanced operating systems project using concurrencyACM SIGCSE Bulletin10.1145/101085.10109822:3(39-ff.)Online publication date: 1-Aug-1990
  • (1988)The multiuser calculator: an operating system projectACM SIGCSE Bulletin10.1145/52965.5297320:1(32-35)Online publication date: 1-Feb-1988
  • (1988)The multiuser calculator: an operating system projectProceedings of the nineteenth SIGCSE technical symposium on Computer science education10.1145/52964.52973(32-35)Online publication date: 1-Feb-1988
  • (1987)Operating system projects on two simulated machinesProceedings of the eighteenth SIGCSE technical symposium on Computer science education10.1145/31820.31760(212-216)Online publication date: 1-Feb-1987
  • (1987)Teaching operating systems in a virtual machine environmentProceedings of the eighteenth SIGCSE technical symposium on Computer science education10.1145/31820.31759(206-211)Online publication date: 1-Feb-1987
  • (1987)Operating system projects on two simulated machinesACM SIGCSE Bulletin10.1145/31726.3176019:1(212-216)Online publication date: 1-Feb-1987
  • (1987)Teaching operating systems in a virtual machine environmentACM SIGCSE Bulletin10.1145/31726.3175919:1(206-211)Online publication date: 1-Feb-1987

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media