CSE 7343/5343, Fall 2014
Prof. Jeff Tian, CSE/SoE/SMU, Dallas, TX 75275
tian@lyle.smu.edu; www.lyle.smu.edu/~tian/class/7343.14f
Project: Part II
Assignment
Building upon the facilities you implemented for project part 1,
implement memory management for the processes,
with the following specification:
-
Each process will include some information about the amount of
memory needed and when (implicit: when it is created)
and how long it will be needed for.
-
You program (simulated OS) will need to keep track of
all the memory space,
in connection with information kept at each process.
-
You are required to implement three algorithms:
first-fit, best-fit, and worst-fit.
To do this,
you might need to implement a simulated clock.
-
You need to report possible memory fragmentation.
In particular,
you can terminate each of the three algorithms at the
first reporting of memory fragmentation.
However,
if you don't encounter the problem,
run your program until all processes are finished or
until an explicit exit command is issued by user and/or OS-admin.
-
Some standard test cases will be posted close to the project due
date so that you can test you program before the demo and handing
in the deliverables.
Update on 11/18/2014: test data set,
where the 1st line indicates memory size, and
each subsequent lines corresponds to a single process,
with the following fields (from left to right):
-
PID,
-
arrival time (in case of a tie, process with a lower PID will be handled first),
-
duration of the process
(when some process are finishing and others are starting at the same time,
the one who release resources will be handled first).
-
size of memory request
-
Design considerations and utility programs to report the status
are similar to Part I of your project.
What to turn in:
- The program code (written in your favorite language).
- Some execution trace.
- Documentation on how to install (compile/link) your program
on SEAS/UNIX machines or on PC running Windows OS.
- All the above three parts, as well as overall code/design
clarity and documentation, will be considered in grading your
project.
Due date:
- On-campus students: 11/24/14.
- Distance students: 11/26/14.
Demo:
- A demo need to be scheduled with your grader.
A sign up sheed will be passed out on 11/24/14 and 12/1/14.
- Time: tentatively scheudled for 12/4 and 12/5.
- Where: Caruth Hall CSE Dept TA/RA area.
- The demo will involve the following steps:
- setting up the computer (your own or a standard PC)
- compile/link your program to produce an executable version
- run with standard test data
- run with new test data from your grader
- For distance students: If you live in the DFW area,
please try to come in and have your live demo with our
grader.
For those of you outside DFW area,
please make sure you have detailed instructions about
your program compiling/linking/execution so that your
grader can run the "simulated demo" on his own.
Prepared by Jeff Tian
(tian@engr.smu.edu).
Last update Nov. 21, 2014.