Introduction: System structure, user perspective, operating system services, system commands, assumption about hardware.
Shell Programming: Bourne shell and C shell programming, variables, constants, environments, control structures, shell scripts examples.
Introduction to kernel: Architecture of the UNIX operating system, introduction to system concepts, kernel data structures, and system administration.
Buffer Cache: Buffer headers, structure of buffer pool, scenarios for retrieval of a buffer, reading and writing disk blocks.
Internal Representation of Files: Inodes, Structure of a regular file, directories, Conversions of a path name to I node, super Block, I node assignment to a new file, allocation of disk blocks, other file types.
System Calls of the file systems: Open, read, write, file and record locking, lseek, close, file creation, creation of special files, change directory and change root, change owner and change mode, stat and fstat , pipes, dup, mounting and unmounting file system, link and unlink, file system abstraction, file system maintenance.
Structure of Processes: Process states and transitions, layout of system memory, the context of a process, saving the context of a process, manipulation of the process address space, sleep.
Process Control: Process creation, signals, process termination, awaiting process termination, invoking other programs, UID of a process, changing the size of a process, The shell, system boot and the init process.
Memory management policies: Swapping, demand paging, a hybrid system with swapping and demand paging I/O Subsystem: Driver interfaces, disk drivers, terminal drivers.
Interprocess communication: Process tracing, system V IPC, network communications, sockets.
1. M. J. Bach, “The Design of the UNIX operating Systems”, PHI.
2. Richard Stevens, “UNIX Network Programming”, PHI.
3. John Muster, “UNIX made easy”, Third Edition, TMH Edition.