Natchatran

NATCHATRAN

Natchatran Blogs includes Technical Tutorials, E-books, Notes, Lab Manual, Question Banks, Viva questions and Interview questions for engineering students, provides all study material for cse students.

-Natchatran(Prem Anandh.J)

Monday, November 4, 2013

CS 2257 Operating Systems Lab -Syllabus

CS 2257 OPERATING SYSTEMS LAB
(Common to CSE & IT)
                                             L T P C
                                      0 0 3 2
(Implement the following on LINUX or other Unix like platform. Use C for high level
language implementation)

1. Write programs using the following system calls of UNIX operating system: fork, exec, getpid, exit, wait, close, stat, opendir, readdir
2. Write programs using the I/O system calls of UNIX operating system (open, read, write, etc)
3. Write C programs to simulate UNIX commands like ls, grep, etc.
4. 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. (2 sessions)
5. 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. (2 sessions)
6. Developing Application using Inter Process communication (using shared memory, pipes or message queues)
7. Implement the Producer – Consumer problem using semaphores (using UNIX system calls).
8. Implement some memory management schemes – I
9. Implement some memory management schemes – II
10. Implement any file allocation technique (Linked, Indexed or Contiguous)

Example for exercises 8 & 9 :
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.

Hardware and Software required for a batch of 30 students.

HARDWARE:
30 Personal Computers

SOFTWARE:
Linux:
Ubuntu / OpenSUSE / Fedora / Red Hat / Debian / Mint OS
Linux could be loaded in individual PCs.
(OR)
A single server could be loaded with Linux and connected from the individual
PCs.

TOTAL: 45 PERIODS

No comments: