課程名稱 |
(中文) 作業系統 (英文) Operating Systems |
開課單位 | 資訊工程學系 | ||
課程代碼 | I3320A | ||||
授課教師 | 李良德 | ||||
學分數 | 3.0 | 必/選修 | 必修 | 開課年級 | 大三 |
先修科目或先備能力:Systems Programming and/or Computer Organization | |||||
課程概述與目標:To provide students with a solid understanding of the key mechanisms of modern operating systems, the types of design tradeoffs and decisions involved in OS design, and the context within which the operating system functions. | |||||
教科書 | A. Silberschatz , P. Galvin & G. Gagne , Operating System Concepts, 10th ed. (International Student Version), John Wiley & Sons, 2018 | ||||
參考教材 | 1. Lubomir F. Bic and Alan C. Shaw, Operating Systems Principles, Prentice Hall, 2003. 2. R. Elmasri, A. G. Carrick, D. Levine, Operating Systems: A Spiral Approach, McGraw-Hill, 2009 |
課程大綱 | 學生學習目標 | 單元學習活動 | 學習成效評量 | 備註 | ||
週 | 單元主題 | 內容綱要 | ||||
1 | Introduction | What operating systems do Computer system organization Operating system structure Operating system operations |
Learn the basic concept of the operating systems |
|
||
2 | Introduction | Resource Management Security and Protection Virtualization Distributed Systems Kernel Data Structures Computing Environments |
Learn the basic concept of the operating systems |
|
|
|
3 | System Structures | Operating system services User operating system interface System calls Operating system design and implementation |
Learn the structure of the operating system |
|
||
4 | Process concept | Process scheduling Operations on process Interprocess communication |
Learn the process management in the operating system. |
|
|
|
5 | Multithreaded programming | Multithreading models Thread libraries Threading issues Operating system examples |
Learn the concept of the Multithreading. |
|
|
|
6 | Process Scheduling | Scheduling criteria Scheduling algorithms Multiple processor scheduling Thread scheduling Operating system examples Algorithm evaluation |
Learn the scheduling in the process management. |
|
||
7 | Process synchronization | The critical-section problem Synchronization hardware Semaphores Classical problems of synchronization Monitors Synchronization examples |
Learn the synchronization in the process management. |
|
|
|
8 | Deadlocks | System model Deadlock characterization Methods for handling deadlocks Deadlock prevention Deadlock avoidance Deadlock detection Deadlock recovery |
Learn the concept of deadlocks in the process management. |
|
||
9 | Midterm Examination | Chapter 1 - Chapter 7 | Evaluate the learning goals |
|
||
10 | Memory Management Strategies | Swapping Contiguous memory allocation Paging Segmentation |
Learn the memory management strategies. |
|
||
11 | Virtual Memory Management | Demand paging Page replacement Allocation of frames Thrashing |
Learn the virtual memory concept in the memory management. |
|
|
|
12 | Virtual Memory Management | Memory -mapped files Allocation kernel memory Other considerations Operating system examples |
Learn the virtual memory concept in the memory management. |
|
||
13 | File System | File concept Access methods Directory structure File-System mounting File sharing protection |
Learn the file systems in an operating systerm. |
|
|
|
14 | Implementing File Systems | File system structure File system implementation Directory implementation Allocation methods |
Learn the file system implementation in an operating systerm. |
|
|
|
15 | Implementing File Systems | Free space management Efficiency and performance Recovery Log-structured file system NFS |
Learn the file system implementation in an operating systerm. |
|
||
16 | Mass-Storage Structure | Overview of mass-storage structure Disk structure Disk attachment Disk scheduling Disk management Swap-space management RAID structure Stable storage implementation Tertiary storage structure |
Learn the mass-storage structure in an operating system. |
|
|
|
17 | I/O Systems | I/O hardware Application I/O interface Kernel I/O subsystem Transforming I/O requests to hardware operations Performance |
Learn the I/O systems in an operating system. |
|
||
18 | Final examination | Chapter 8 - Chapter 13 | Evaluate the learning goals |
|
教學要點概述: |