* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download I. Course code and Title OPERATING SYSTEM CONCEPTS II
Plan 9 from Bell Labs wikipedia , lookup
Burroughs MCP wikipedia , lookup
Copland (operating system) wikipedia , lookup
Spring (operating system) wikipedia , lookup
Process management (computing) wikipedia , lookup
Security-focused operating system wikipedia , lookup
Unix security wikipedia , lookup
I. II. Course code and Title OPERATING SYSTEM CONCEPTS Course Prerequisites Course Code III. Title Data Structures and Algorithms Instructor’s Information Full Name: Email: Contact Number Office Hours & Location Teaching Assistant (if any) V. Course Description This course covers the basic concepts of Operating Systems. It includes the following topics Overview: Operating System Role, Purpose and Functionality; Computing Environments: Single User, Multi User, Multiple Simultaneous Computations; Goals of Parallelism (e.g., Throughput) versus Concurrency (e.g. Controlling access to Shared Resources); Parallelism; Communication and Coordination; Operating Systems Structure; Design Issues; Influences of Security; Networking; Multimedia; Windowing Systems; Operating Systems Principles: Structuring Methods (e.g. monolithic, layered, modular, micro-kernel models), Abstractions, Processes, and Resources, Concepts of APIs, Evolution of Hardware/Software Techniques and Application Needs, Device Organization, Interrupts (method, implementations), Concepts of User/System State and Protection, Transition to Kernel Mode; Concurrency: States and State Diagrams, Structures (ready list, process control block etc.), Dispatching and Context Switching, The Role of Interrupts, Managing Atomic Access to OS Objects, Implementing Synchronization Primitives, Multiprocessor Issues; Scheduling and Dispatch: Preemptive and Non- Preemptive Scheduling, Schedulers and Policies, Processes and Threads, Deadlines and Real Time Issues; Memory Management: Review of Physical Memory and Memory Page 1 Management Hardware, Memory Management Techniques, Working Sets and Thrashing, Caching; Security and Protection: Overview of System Security, Policy/Mechanism Separation, Security Methods and Devices Protection, Access Control and Authentication, Backups, File Systems; I/O Management; Disk Management, Data Race. VI. 1. VII. 1. 2. 3. IX. Text book Galvin, Peter B., Greg Gagne, and Abraham Silberschatz. Operating system concepts. John Wiley & Sons, Inc., 2016. Reference books & Material Tanenbaum, Andrew S., and Herbert Bos. Modern operating systems. Prentice Hall Press, 2014. Stallings, William, and Goutam Kumar Paul. Operating systems: internals and design principles. 8th Edition. Upper Saddle River, NJ: Prentice Hall, 2012. Bach, Maurice J. The design of the UNIX operating system. Vol. 5. Englewood Cliffs, NJ: Prentice-Hall, 1986. Course Outline and Contents Lecture CDF Unit # 1. 1 2. 1 3. 1 4. 2 5. 2 6. 3 Topics Covered Textbook Section Operating Systems Overview; Operating System Role, Purpose and Functionality; Computer-System Organization, Device Organization, Computer-System Architecture. Evolution of Hardware/Software Techniques and Application Needs, Single User, Multi User, Networking; Multimedia; Windowing Systems. Operating-System Structure, Operating-System Operations. Operating Systems Principles; Operating Systems Structure, Design Issues. OS Structuring Methods; monolithic, layered, modular, micro-kernel models. Process Management: Process concept, Process states, Interrupts (method, implementations), Structures (ready list, process control block etc.), Page 2 7. 3 The Role of Interrupts, Transition to Kernel Mode, Concepts of User/System State and Protection, Process scheduling; Scheduling queues, schedulers, Dispatching and Context Switching. 8. 3 Operations on processes. 9. 3 10. 3 12. 3 Process Synchronization, Managing Atomic Access to OS Objects, Implementing Synchronization Primitives, Critical Section Problem and Solution. 13. 3 Synchronization Hardware, 14. 3 Mutex Locks, Semaphores Starvation, Priority Inversion) 15. 3 Scheduling Algorithms (RR, MLQ and MLFQ) 16. 3 Deadlines and Real Time Issues 17. 4 Processes and Resources, Deadlock handling, Deadlock Prevention. 18. 4 Deadlock Avoidance 19. 4 Deadlock Detection, Deadlock Recovery 20. 5 Memory Management: Review of Physical Memory and Memory Management Hardware, Address Binding, Address Space Types, Dynamic Loading/Linking & Shared Libraries. 22. 5 23. 5 24. 5 25. 5 26. 5 27. 6 Inter-process Communication (Shared Memory and Message Passing) Threads, Parallelism, Multiple Simultaneous Computations; Goals of Parallelism (e.g., Throughput) versus Concurrency (e.g. Controlling access to Shared Resources). (Usage, Implementation, Memory Management Techniques, Contiguous Memory Allocation, Segmentation. Paging (Basic Method, HW support and Protection, Shared Pages) VMM background, Demand paging (Basic concept, performance) and Copy-on-write. Page Replacement (Basic, FIFO, Optimal and LRU) Allocation of frames (Minimum Number of Frames, Allocation Algorithms, Global Vs Local Allocation) Thrashing. Storage Management: Disk Management, Disk Scheduling, Disk structure, Swap-space management, RAID structure. 28. 6 29. 6 30. 6 31. 7 32. 7 File concept, File Implementation. SYSTEM Interface, File system Directory Implementation (Linked List and Hash Tables) Allocation methods (Contiguous, Linked and Indexed Allocation) Access control, Directory and Disk Structure, I/O Management, I/O hardware, Application I/O interface, Kernel I/O systems, Streams Security and Protection Overview of System Security, Influences of Security, Policy/Mechanism Separation. Security Methods and Devices Protection, Access Control and Authentication, Backups.