|
CMSC 421, Spring 2006
Principles of Operating Systems
|
|
Projects
This page will be updated during the semester.
- Project 1
- Project 2
- Project 3
Project 1: Process Synchronization
The project description is available: Project
1. Posted on: Feb 8, 2006.
Notes/Changes:
Project 2: Memory Management
The project description is available at: Project 2. This PDF file with revised
description was posted on March 30, 2006 - this version MUST be
followed. If you printed an earlier version, please discard that
one.
Notes/Changes:
-
Updated: April 23, 2006:
Question: During swapping out of a process from MM to VM, should the
pages be copied explicitly from MM to VM and be copied back? Answer:
This choice is left to the implementor.
-
Updated: April 23, 2006: Suggested Sample Output File: This is a
suggested format/text - if you have already written up a different
format, that is acceptable too.
This version removes some errors
in an earlier version posted on April 20, 2006.
- When process(es) have to be swapped out from main memory to
accomodate a swapin request, swap out the Least Recently Run process,
followed by the next Least Recently Run process, etc.
For example, if pids 4, 3, 6, 5, 8 were run (in that order), then 4
will be swapped out first, followed by 3, etc.
- Please read the Blackboard questions and responses first, before
posting a query or sending an email.
- If program executable size is larger than main memory size, then the
program will not be loaded: Print an error message to that effect.
- Virtual memory, as used in this project, is "secondary memory" as
defined on Page 322 (Ch. 9). This will be typically a partition of
the system's hard drive (e.g. swap on Linux systems: Look at
/etc/fstab for swap partition entry). For our project, we can
simulate this as an array.
The swap space is a holding place for processes that are not in main
memory. In this project, we are only dealing with increasing the
number of processes (i.e. level of multi-programming) that are
currently active in the system.
We are *not* dealing with demand paging and the related per process
virtual memory concepts described in Chapter 9. For a process to
execute in this project, ALL its pages must be in main memory.
Project 3: File System
The project description is available at: Project 3. This PDF file was posted on
April 25, 2006.
Posted on May 16, 2006: You can submit
by 11.55 PM EDT May 16, 2006 to be eligible for 10% Extra Credit. This
gives you two hours and fifty-five minutes more than the earlier deadline.
Posted on May 8, 2006:
- Due to many student requests, the project submission date is
extended to 11.45 PM EDT, May 21, Sunday. This applies to BOTH
sections.
- Projects (completed with all needed components) submitted by May
16, 9PM EDT will receive an Extra Credit of 10% (of the grade the
project receives). For example, if you received 80/100 on Project 3,
then your recorded grade will 88/100.
- If you submit by May 16th 9pm, but submit a revised version after
that, the LATER version will be graded and you will not be eligible
for the 10% extra credit.
- Given that the deadline is during finals week, use appropriate
time management practices to ensure that you do not sacrifice
performance in other courses' finals.
Project 3 clarifications: