CSE 7343/5343, Spring 2003
Prof. Jeff Tian, CSE/SoE/SMU, Dallas, TX 75275
tian@engr.smu.edu; www.engr.smu.edu/~tian/class/7343.03s
Project: Part I
Assignment
Design and implement a program (your simulated OS)
for general process management,
with the following specification:
-
Each process will be represented by its PCB.
-
Each PCB should have a uniform format.
-
The collections of PCBs form linked lists for the various queues.
You need to implement at least two queues for this part of the project
(and probably more for the later part of the project):
a ready queue and a waiting queue
(or several waiting queues for different resources).
-
The operations to be supported for each queue include:
- adding a PCB to a given position in the queue,
the default position is the end (tail) of the queue.
- removing a PCB with a given PID.
the default is the beginning (head) of the queue.
-
The control program will call on different functions/methods
to add/remove PCBs.
-
You also need some utility functions/methods to show the
contents of different queues.
-
Some important design considerations should include:
- program structure and modularity.
- program clarity and comprehensibility (how easy to understand).
- program maintainability (modification to work for Part II assignment).
-
Also, some important user interface considerations:
- command line vs. GUI, the choice is yours.
- you do need to consider both the efficiency
and the usability issues.
- consistency with your user interface?
What to turn in:
- The program code (written in your favorite language).
- Execution trace, showing different PCBs being added/removed,
and the contents of the queues.
- Documentation on how to install (compile/link) your program
on SoE/UNIX machines or on PC running Windows OS.
- All the above three parts, as well as overall code/design
clarity/modularity/maintainability and documentation,
will be considered in grading your project.
Due date:
- On-campus students: 10/27/14.
- Distance students: 10/29/14.
Prepared by Jeff Tian
(tian@engr.smu.edu).
Posted on Sept. 29, 2014.
Last update: Sept. 29, 2014.