Operating System and System Programming

Course Code: CSE 3101

Year: 3 Semester: 1 Credits: 3


Introduction: Evolution, goals and components of and OS. Process: Process management, process states
and state transition, process control blocks, Scheduling: job and process scheduling, scheduling levels,
objective and criteria, CPU scheduling algorithms, process co-ordination: critical section problems,
semaphores, language constructs, classical problems of process co-ordination, interprocess communication,
message and mailbox etc. I/O programming. Device management techniques. Interrupt processing. Parallel
processing. Deadlock: deadlock prevention, avoidance, detection and recovery. Memory management:
memory allocation schemes, paging and segmentation, virtual memory, page replacement strategies,
working sets, demand paging, thrashing. Secondary storage management: disk scheduling, RAID.File
management: file system functions, file organization, logical and physical file maps, tree structured file
systems, space allocation, file catalogues, file access control mechanisms, Distributed Systems: network
types, communication protocols, distributed file system, distributed coordination, operating systems
security. Time sharing and virtual machines. Main Features of MS-DOS, Windows-NT, VMS and VSE.
Distributed System. Unix O/S overview: system structure, user perspective, O/S services, Introduction to the
kernel and buffer cache, internal representation of files. Assembler-general Design procedure, Table
processing, Macro language and Microprocessor, Compiler, Loader, Linker, Translator Design, System call,
Remote procedure call, Interprocess communication , Unix socket, Multithreading.