Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CS703 Advance Operating Systems Course Outline: Topic Lecture Resource Course Objectives, Introduction, Issues involved in the Design of Operating Systems 1 Tanenbaum (2001) Major Components, Structure and Internal Architecture of an OS, Monolithic VS Microkernel 2 Tanenbaum (2001) Linking and Loading Anatomy of a Process; Static, Dynamic and Shared libraries 3 Bryant and O’ Hallaron (2002) Processes: Definition, Address Space; Context Switching, Process Management Models 4 Bryant and O’ Hallaron (2002) Process Management Models, State Machines, PCB, System Calls for Process Management 5 Tanenbaum (2001) fork() Examples, Zombies, Wait and Waitpid System Calls, Concurrency, Threads 6 Tanenbaum (2001) Threads: Design Space, Address Space, User and 7 Kernel Level Threads Tanenbaum (2001) POSIX Threads: Interface, e.g clone() System Call, Process / Threads States, FSM in Linux 8 Linux man pages Shared Variables, Concurrency and Synchronization, Critical Sections 9 Tanenbaum (2001), Stallings (2004) Concurrency Examples, Locks, Implementing Locks, Semaphores 10 Tanenbaum (2001), Stallings (2004) Producer Consumer Problem, Semaphores, Condition Variables and Monitors 11 Tanenbaum (2001), Stallings (2004) Readers / Writers Problem, Thread Safety and Reentrant Functions, Solving Thread Un-safety 12 Tanenbaum (2001), Stallings (2004) Deadlocks: Definition, Required Conditions, Examples, Detection, Avoidance, Prevention 13 Tanenbaum (2001), Stallings (2004) Thread Usage Paradigms, Paper by Hauser et al., 14 Pros and Cons of Different Paradigms Research paper by Hauser et al. Design Alternatives for Concurrent Servers, CPU Scheduling 15 Tanenbaum (2001), Stallings (2004) Scheduling: Round Robin, Priority Scheduling, STCF 16 Tanenbaum (2001), Stallings (2004) Multilevel Queue, Scheduling in: Unix, Linux; Multiprocessor Systems 17 Stallings (2004) Assignment and Scheduling of Processes / Threads to Processors, Real-time Systems 18 Stallings (2004) Real-time Operating Systems 19 Stallings (2004) Goals of a good Allocator, Memory Fragmentation, Implementation Issues of Memory Allocator 20 Tanenbaum (2001) Explicit Free Lists Base Allocator, Segregated Free Lists, Exploiting Allocation Patterns 21 Tanenbaum (2001) Overview of 1 - 21 Lectures 22 Goals of OS Memory Management, Multiprogramming, Virtual Addresses, Fixed & Variable Part 23 Tanenbaum (2001), Stallings (2004) Paging, Address Translation, Page Tables & Page Table Entries, Multi-level Address Translation 24 Tanenbaum (2001), Stallings (2004) Segmentation, Combined Segmentation & Paging, Efficient Translation and Caching 25 Tanenbaum (2001), Stallings (2004) Set Associative & Fully Associative Cache, Demand Paging, Page Replacement Algorithms 26 Tanenbaum (2001), Stallings (2004) Page Replacement, Thrashing, Working Set Model, Page Fault Frequency, Copy on Write 27 Tanenbaum (2001), Stallings (2004) Page Fault Frequency, Sharing, Copy on Write, Mapped Files, P6 Memory System 28 Tanenbaum (2001), Stallings (2004) File Systems: Basic Operations, File Access Methods, Directories, Protection 29 Tanenbaum (2001), Stallings (2004) Indexed Allocation, i-node format, File Buffer Cache, Caching Writes, Read Ahead 30 Tanenbaum (2001), Stallings (2004) Consistency Problem, Atomic Disk Operations 31 Tanenbaum (2001), Stallings (2004) Files Systems: Deleting a File, Bogus Reference Count, Creating a new File 32 Tanenbaum (2001), Stallings (2004) File Systems: Physical Disk Structure, Disk Scheduling, BSD 4.4 FFS 33 Tanenbaum (2001), Stallings (2004) File Systems: Log Structured File Systems 34 Tanenbaum (2001), Stallings (2004) I/O Subsystem: Goals, Layers, Direct VS Memory Mapped, Interrupt Driven, Polled; DMA 35 Tanenbaum (2001), Stallings (2004) Device Independent I/O Software Layer, Buffered & Un-buffered I/O, Block & Character Devices 36 Tanenbaum (2001), Stallings (2004) Interrupt Handlers, Interrupts & Exceptions, Linux Interrupt Handling, Top, Bottom Halfs 37 Tanenbaum (2001), Stallings (2004) Loadable Kernel Modules & Device Drivers, Linux Module: Management, Conflict Resolution 38 Tanenbaum (2001), Stallings (2004) Security Issues, Policy VS Mechanism, Design Principles for Security 39 Tanenbaum (2001) User Authentication, Password Based Authentication, Unix Password Scheme 40 Tanenbaum (2001) ACL VS Capabilities, Delegation VS Revocation, Operations on Capabilities, Roles 41 Tanenbaum (2001) Trojan Horses, Login Spoofing Attacks, Logic Bombs, Trap Doors, Buffer & Stack Overflow 42 Tanenbaum (2001) Types of Buffer Overflow Attacks, StackGuard & PointGurad, Libsafe 43 Tanenbaum (2001) Java Security, Unix File Security, Setuid Programs, Windows Security, SE Linux 44 Stallings (2004) OS Research Directions, Reliability of Commodity OSes, Mobile Phone Risks and Security 45 Books: 1. Modern Operating Systems, Tanenbaum (2001), Andrew S. Tanenbaum, 2nd Edition, Prentice Hall 2. Operating Systems Internals and Design Principles, Stallings (2004), William Stallings, 5th edition, Prentice Hall 3. Operating Systems, Nutt (2003), Gary Nutt, 3rd edition, Addison Wesley 4. Computer Systems: A programmer’s perspective, Bryant and O'Hallaron (2002), Randal E. Bryant and David R. O'Hallaron, 1st Edition, Prentice Hall