Operating System Simulation Developed as Homework | An Operating System Simulation Developed as Homework | An Operating System Simulation Developed as Homework Article | Artikel An Operating System Simulation Developed as Homework
Operating Systems I: An Operating System Simulation Developed as Homework
Dr. Ronald Marsh
Computer Science Department
University of North Dakota
Grand Forks, ND 58201
rmarsh@cs.und.edu
701-777-4013
Abstract
This paper describes the series of homework assignments made during the fall 2000 Operating Systems I course at the University of North Dakota as well as the authors experience in making the assignments. The purpose of the assignments was not only to provide the student with a good understanding of how an operating system is developed and operates, but also to reinforce some basic skills that all graduating computer science majors ought to possess.
Starting with a simple operating system simulation (one-queue round-robin CPU scheduler and one I/O queue) and progressing to a credit based priority CPU scheduler, multiple I/O queue, and page fault managing operating system simulation, the assignments mandated that the student develop a series of operating system simulations ranging in complexity.
Introduction
The primary intent of CSci-451 (Operating Systems I) at the University of North Dakota is to expose students to the fundamental theories behind operating systems. A secondary purpose is to further their development as systems analysts and improve their programming and debugging skills. CSci-451 is taught in the traditional manner - relying on a mixture of lectures, homework assignments, and tests.
In previous offerings of this course the homework assignments, while relating to operating systems concepts, were independent of each other. The author noticed two disturbing phenomena:
- A number of students would simply ignore the more difficult assignments and count on the remaining assignments to maintain a passing grade in the course.
- The student's systems analysis and design, programming, and debugging skills were not improving as much as expected (or desired).
In an effort to reduce the occurrence of the phenomena listed above the decision was made to develop a series of assignments that would force to the student to build on previous assignments (admittedly, not a new idea). Since the class focuses on operating systems and since the best way to understand how something works is to build one, the assignments mandated that each student develop a series of operating system simulations ranging in complexity. The “trick” was to organize the development of the different operating system simulations such that poor programming practices or such that an initially poor design would haunt them (the student) for the rest of the semester and reinforce the precept of having a good design to start with.
Rules of The "Game"
As any educator knows, different students have different strengths and weaknesses and preferential ways of completing a task. Therefore, only a few ground rules were enforced regarding the simulation development:
- The development language was limited to C or C++.
- The simulation was required to run on the department's main UNIX cluster (Linux).
- Plagiarism was not allowed.
- Achive the goals as set forth in each assignment.
- Use any data structures they desired.
- Use an object oriented design or not.
- Make use of the available queue libraries.
- Implement a simple time-keeping mechanism.
- Discuss implementation issues amongst themselves.
Read more...
PDF File: Operating Systems I: An Operating System Simulation Developed as Homework
If you want to read via Academia, click here..
If you want to read offline, click here..
Word File (translate in Bahasa - using software translation not manual translation, so not well): Sistem Operasi 1: Sebuah Simulasi Sistem Operasi yang dikembangkan sebagai pekerjaan rumah
If you want to read via Academia, click here..
If you want to read offline, click here..
No comments:
Post a Comment