Operating System (OS)
0%
Course Title: Operating System (OS)
Course No: ENCT 331
Nature of the Course: Theory + Lab
Semester: 5
Full Marks: 60 + 0 + 0
Pass Marks: 24 + 0 + 0
Credit Hours: 3
Course Objectives
Course Contents
1. Introduction
6 hrs
2.1. Introduction to process
- Process description
- Process states
- Process control
2.2. Scheduling algorithms
- First come first serve (FCFS)
- Shortest job first (SJF)
- Shortest remaining time (SRT)
- Round robin (RR)
- Highest response ratio next (HRNN)
- Completely fair scheduler (CFS) used in Linux
4.1. I/O management
- Principles of I/O hardware and software
- I/O software layer
- Disk technologies: magnetic disk, SSD, NVMe storage
- RAID
- Concept of stable storage, cost per bit comparison
4.2. Memory management
- Memory address, swapping, and managing free memory space
- Virtual memory management; Paging; Segmentation
- Page replacement algorithms (FIFO, LRU, LFU, optimal), page fault, and hit ratio
- Allocation of frames
- Thrashing
5. File Systems
3 hrs
Laboratory Works
- 1.Basic Unix commands and shell programming
- 2.Implementation of the ls and grep commands
- 3.Programs using the I/O system calls of the Unix operating system
- 4.Implementation of scheduling algorithms and producer-consumer problem
- 5.Implementation of some memory management schemes
- 6.Project work
Reference Books
- 1.Tanenbaum, A. S., Bos, H. (2009). Modern operating systems. PHI Learning.
- 2.Stallings, W. (2012). Operating systems: Internals and design principles. Pearson Education.
- 3.Chaturvedi, A., Rai, B. L. (2011). Unix and shell programming. University Science Press.