Operating Systems EG682CT

Course Objectives
To provide the basics in designing of an operating system.

1. Principles of operating systems(5 hours)
1.1. Evolution of operating systems
1.1.1. User driven
1.1.2. Operator driven
1.1.3. Simple batch system
1.1.4. Off-line batch system
1.1.5. Directly-coupled off-line system
1.1.6. Multi-programmed spooling system
1.1.7. On-line timesharing system
1.1.8. Multiprocessor systems
1.1.9. Multi-computer/Distributed systems
2. Program construction utilities(6 hours)
2.1. Assembler
2.2. Archiver
2.3. Link editor
2.4. Relocating loader
3. Concurrent processes(5 hours)
3.1. Interleaving
3.2. Non-determinism
3.3. Process interaction sharing
3.4. Synchronization
3.5. Communication
3.6. Locks
3.7. Semaphores
3.8. Monitors
4. The system nucleus(kernel)(6 hours)
4.1. Context switching
4.2. First level interrupt handling
4.3. Kernel implementation of processes
4.4. Kernel implementation of semaphores
5. Scheduling(5 hours)
5.1. Priority pre-emption
5.2. Run to completion
5.3. Time-sliced
5.4. Multi-level queues
6. Input/Output(6 hours)
6.1. Polled input/output
6.2. Interrupt driven input/output
6.3. Device driver structure
7. Memory management(6 hours)
7.1. Single contiguous store allocation and overlays
7.2. Fixed partition store allocation
7.3. Dynamic partition store allocation and fragmentation/compaction
7.4. Virtual addressing
7.5. Memory management policy
8. Case study(6 hours)
8.1. Unix
8.2. Windows NT
Laboratories:
6 Laboratories based on standard operating system
References:
1. Mark Donovan: System programming

Ekendra Lamsal: An Engineer, Technocrat, ICT4D Advocate & Web analyst. Blogging since 2001 (on this site from 2004) in various weblogs. Also, in love with Clouds, Internet of Things, Knowledge Management, Web Inclusion & BI.

View Comments (0)