SYSTEM SOFTWARE LAB
CS331
Overview
The course aims to build an understanding on design and implementation of different types of system software. The courses requires the student to design and implement various system software’s like Linkers, Loaders, Macroprocessors etc.
Instructors
THANIA KUMAR
thaniakumar@cet.ac.in
RANI KOSHY
koshyrani@cet.ac.in
Prerequisites
- Any valid Programming Course
Teaching Assistants
Shivalekshmi Nair
Bineesh U
Sarath S
Tessa Jose
Syllabus
Schedule
- Cycle 1
- Simulate the following non-preemptive CPU scheduling algorithms to find turnaround time and waiting time. a) FCFS b) SJF c) Round Robin (pre-emptive) d) Priority
- Simulate the following file allocation strategies. a) Sequential b) Indexed c) Linked
- Implement the different paging techniques of memory management.
- Simulate the following file organization techniques a) Single level directory b) Two level directory c) Hierarchical
- Implement the banker’s algorithm for deadlock avoidance.
- Simulate the following disk scheduling algorithms. a) FCFS b)SCAN c) C-SCAN
- Simulate the following page replacement algorithms a) FIFO b)LRU c) LFU
- Implement the producer-consumer problem using semaphores.
- Write a program to simulate the working of the dining philosopher’s problem.
- Cycle 2
- Implement the symbol table functions: create, insert, modify, search, and display
- Implement pass one of a two pass assembler.
- Implement pass two of a two pass assembler.
- Implement a single pass assembler.
- Implement a two pass macro processor.
- Implement a single pass macro processor.
- Implement an absolute loader.
- Implement a relocating loader.
- Implement pass one of a direct-linking loader.
- Implement pass two of a direct-linking loader.
- Implement a simple text editor with features like insertion / deletion of a character, word, and sentence.
- Implement a symbol table with suitable hashing.