This elective aims to give the student a knowledge of operating systems. It aims to allow the student to implement and test programs that access resources using various system calls.
Introduction:
Types of OS: Batch: Interactive; Single-user; multi-user; Network OS; Distributed; Process Control/RTOS; System Service Interface; Hardware Interface; Interrupt Mechanism; Direct Memory Access;Software licensing, Open source licenses such as GPL and MIT.
Process Management:
Processes, Programs, tasks and threads. Process data structures. Process creation and termination, Thread creation, termination and detaching, Thread States, Context switching and Scheduling
Concurrency:
Interaction among Threads; Semaphores; Wait; Signal; Mutual Exclusion Semaphores; Synchronization semaphores; Resource Management Semaphores; Producers and Consumers, readers and writers; POSIX semaphores ;Implementation of Semaphores, Lock and Unlock, Message passing, POSIX message Queues, Deadlock
Memory Management:
Virtual Memory: Base and Length registers, Segmentation, Paging, Memory Allocation Policies, Cache
I/O:
Directories , File Descriptors, File Sharing, File Security, Buffering
Interprocess Communication:
UNIX pipes; sockets; interprocess communication using sockets
Distributed Systems:
Management of system resources remotely distributed
Module Content & Assessment | |
---|---|
Assessment Breakdown | % |
Other Assessment(s) | 30 |
Formal Examination | 70 |