Introduction: Application programs and system programs; functions of an operating system;
classification of operating systems-Multi-user, multiprogramming, multiprocessing, time
sharing, multi-threaded. Subsystems – Top Layer, Middle Layer, Bottom Layer, Bootstrap,
Protection and security.
Processes and Threads: Program vs. Process; Process context, address space, identification,
transition, state & management. Thread management-benefits, synchronization issues;
applications of threads.
CPU Management: Objectives, Pre-emptive vs. Non-pre-emptive, context switching,
scheduling schemes; multi-processor scheduling, thread scheduling.
Inter-process Communications: Introduction, message passing model, shared memory model.
Pipe, FIFO and Socket.
Memory Management: Introduction, address binding, relocation, loading, linking, memory
sharing and protection; Paging and segmentation; Virtual memory: basic concepts of demand
paging, performance, page replacement. Thrashing.
I/O Device Management: I/O devices and controllers, device drivers; disk storage, scheduling
File Management: Basic concepts, file operations, access methods, directory structures and
management, remote file systems; file protection.
Protection & Security: Need, environments: software, hardware, unauthorized use, denial of
services, access control and authentication. Application security, attacks, virus & anti-virus,