CMSC 442 -- Lab 3

Lab 3

Getting Started

Log onto a computer science server making sure to change the port number.

Follow these instructions to get your files ready to start lab.
  • Use wget to download the file at http://cs.longwood.edu/courses/cmsc442/f18/files/lab3.tgz
  • Uncompress the lab3.tgz file by using tar -xvzf lab3.tgz

The Problem

We have been discussing scheduling. You are to simulate an OS scheduling processes. Your simulation must do the following things:
  1. Handle processes
    1. name -- name of the process for id
    2. start time -- when the process should start to be scheduled
    3. duration -- how long it needs to run
    4. wait time -- needed for statistics
    5. stop time -- needed for statistics
  2. Handle statistics
    1. makespan -- the time all processes are done
    2. average waiting time
    3. throughput -- number of processes completing per unit of time
    4. sum of completion times
    5. utilization -- percentage of time units with the processor being used
  3. Command line arguments
    1. filename or number of random generated processes
    2. number of processors to schedule
    3. algorithm to use
  4. File format
    1. Each line is a process
    2. Format: name startTime duration
  5. Algorithms
    1. First Come First Serve
    2. Round Robin
    3. HRRN
    4. Shortest Job Remaining
    5. Shortest Job First

Handin

When you are done you need to hand in your lab. The easiest way is to type make handin.

If you have changed file names or directory names you will need to change to the directory which contains the directory you wish to hand in. We will use the handin cmsc442 assignment directory command. In this case you will type: handin cmsc442 lab3 lab3

You lab is due at 11:59pm Nov. 26th 2018.