|Topics Outline: |
- Introduction: What is an operating system? Multiprogrammed batched systems, time-sharing systems, parallel systems, distributed systems and real-time systems.
- Computer-System Structures: Computer System operation, I/O structure, I/O Interrupts and DMA structure.
- Storage structure: Main memory, magnetic disks, magnetic tapes, storage hierarchy: caching, coherency and consistency, hardware protection and general system architecture.
- Operating System Structures: System components, operating system services, system calls, System calls, system programs, system structure, virtual machines, system design and implementation, and system generation.
- Processes: Process concept, process scheduling, operations on processes, cooperating processes, threads, inter process communication, and exception conditions.
- CPU scheduling: Basic scheduling concepts, criteria, CPU scheduling: algorithms (FCFS, shortest-job-first, priority-based, and round-robin), multiple processor scheduling, real-time scheduling.
- File-system interfaces: File concept, file attributes, file operations, file types, file structure, internal file structure, sequential access method, direct access method, directory structure, single-level directory, two-level directory, tree-structured directories, acyclic-graph directories, general graph director, file protection, access types, and access lists and groups.
- Installing and customizing an operating system.
- Writing shell scripts in operating systems.