[Ilugc] Request for setting foss lab from Arunai Engg

  • From: srini.it@xxxxxxxxx (Srinivasan Sundararajan)
  • Date: Fri Oct 26 10:52:10 2007

Please note that the students have an OS Lab in the 4th semester contents of
which are given below. hence we should take care not to replicate it.
Srinivasan.
------------
OS Lab :(Implement the following on LINUX platform. Use C for high level
language implementation)

1.             Shell programming

- command syntax                    - write simple functions               -
basic tests

2.             Shell programming

- loops            - patterns                 - expansions            -
substitutions

3.             Write programs using the following system calls of UNIX
operating system:

                fork, exec, getpid, exit, wait, close, stat, opendir,
readdir

4.             Write programs using the I/O system calls of UNIX operating
system (open, read, write, etc)

5.             Write C programs to simulate UNIX commands like ls, grep,
etc.

6.             Given the list of processes, their CPU burst times and
arrival times, display/print the Gantt chart for FCFS and SJF. For each of
the scheduling policies, compute and print the average waiting time and
average turnaround time

7.             Given the list of processes, their CPU burst times and
arrival times, display/print the Gantt chart for Priority and Round robin.
For each of the scheduling policies, compute and print the average waiting
time and average turnaround time

8.                 Implement the Producer ? Consumer problem using
semaphores.

9.                 Implement some memory management schemes ? I

10.                Implement some memory management schemes ? II



Example for expt 9 & 10 :

Free space is maintained as a linked list of nodes with each node having the
starting byte address and the ending byte address of a free block. Each
memory request consists of the process-id and the amount of storage space
required in bytes. Allocated memory space is again maintained as a linked
list of nodes with each node having the process-id, starting byte address
and the ending byte address of the allocated space.



When a process finishes (taken as input) the appropriate node from the
allocated list should be deleted and this free disk space should be added to
the free space list. [Care should be taken to merge contiguous free blocks
into one single block. This results in deleting more than one node from the
free space list and changing the start and end address in the appropriate
node]. For allocation use first fit, worst fit and best fit.

Other related posts: