CO526 : Advanced Operating Systems
Course Number : CO526 | ||||
---|---|---|---|---|
Course Title: Advanced Operating Systems | ||||
Credits : 3 | ||||
Prerequisites : Computer Architecture (CO213), Operating Systems (CO313) | ||||
No | Course Content | Time Allocated (hours) | ||
L&T | P&A | |||
01 | Introduction to operating system design:
Introduction to monolithic, layered, microkernel based designs. |
1 |
|
|
02 | Introduction to microkernel:
Microkernel abstractions (using L4), system calls and usages. Debugging support |
3 | 3 | |
03 | Microkernel based systems:
History of microkernel, user-level page-fault handlers, device drivers, interrupts |
2 | ||
04 | Managing virtual memory:
Page tables structures, Translation lookaside buffer (TLB), caches, 64bit address spaces, IPTs, GPTs, name spaces, naming and protection |
5 | 5 | |
05 | Process management:
Processes verses threads, protection verses execution, context switching, IPC |
3 | 5 | |
06 | File systems:
Files verses virtual memory, single address space operating systems, blocking verses non-blocking operations. |
2 | 5 | |
07 | Threads:
Implementations issues, kernel verses user-level threads, scheduling, thread local storages, stack, threads verses events. |
4 | 4 | |
08 | System calls:
Implementation issues, security, argument passing |
3 | 5 | |
09 | I/O handling:
Device drivers, user-level drivers, DMA, IO address spaces |
3 | 3 | |
10 | Security:
Access control, Turing completeness, decidability, ACL verses capabilities |
2 | ||
11 | Research topics:
Virtual machine monitors, separation kernels, Exokernels, verifications, full virtualisation verses para-virtualisation |
2 | ||
Total |
30 | 30 | ||
Assessment | Percentage Marks | |||
Continuous Assessment | 50 | |||
Practical | 10 | |||
Design Project | 40 | |||
Written Examinations | 50 | |||
Mid-Semester | 30 | |||
End of Semester | 20 |