作業系統概論
Introduction to Operating Systems
| 節 | 週三 |
|---|---|
3 10:10–11:00 | 作業系統概論 EC015 2 節連堂 |
4 11:10–12:00 |
* 根據陽明交大上課時間表所列
作業系統是介於應用程式與硬體之間的一層系統軟體,其目的是針對硬體進行細節抽象化、效率最佳化、以及安全保障。透過作業系統,程式設計員能夠專注解決應用層面的問題,使用者則能夠透過簡易的界面執行應用程式。作業系統的設計包含三大面向:處理器管理、記憶體管理、儲存管理。本課程將以教科書理論為基礎,一系列的動手實作為輔,希望同學們能夠理解引擎蓋下發生的大小事情。 Operating system is an abstraction layer between user applications and hardware, providing convenient services with the consideration of efficient hardware utilization. With operating systems, programmers can focus on problem solving without dealing with the details and quirks of hardware. This course involves three major aspects: CPU management, memory management, and storage management. The course materials include lectures and a series of hands-on programming assignments.
C programming & data structures, Algorithms, Computer organization 請同學注意:本課程搭配大量程式作業,強烈建議具備資料結構、演算法、C語言的背景與知識。
Projects : 30% Midterm: 30% Final: 40% Programming assignments (the following topics will be divided into 5~6 assignments): Inter-process communication Multi-process programming Multithread programming Page replacement algorithm simulation User-space file system
| 週次 | 主題 |
|---|---|
| 第 1 週 | Course Outline Chapter 1: Overview : operating systems definition Chapter 13: I/O Systems: interrupt/polling, DMA, system architecure |
| 第 2 週 | Chapter 2: System Structure: shell, system programs, system calls. OS structure: simple, monotholic, microkernel, VM |
| 第 3 週 | Chapter 3 Process Concept: Process state, context switch, fork()/exec(), shared memory, message passing, UNIX signals |
| 第 4 週 | Chapter 4 Multithread programming: thread concept, threading model (1-1, M-1, M-M), |
| 第 5 週 | Chapter 5 Process Scheduling: uni-processor scheduling algorithms: FCFS, SJF, RR, multilevel feedack queue, virtual clock. Multi-processor scheduling, real-time scheduling, case studies |
| 第 6 週 | Chapter 6 Synchronization: race condition, critical section problem, TAS, spin lock, semaphore, mutex locks, monitors, classical synchronization problems |
| 第 7 週 | Chapter 6 Synchronization: race condition, critical section problem, TAS, spin lock, semaphore, mutex locks, monitors, classical synchronization problems |
| 第 8 週 | 期中考 |
| 第 9 週 | Chapter 7 Deadlock: characterization of deadlocks, resource allocation graph, banker's algorithm, deadlock handling in real-time systems |
| 第 10 週 | Chapter 8 Memory management: memory hierarchy, dynamic linking loading, dynamic memory allocation algorithms (BF, FF, WF, buddy system), paging, TLB, page table designs: multilevel page table, inverted page table, segmentation, segmented paging, case studies. |
| 第 11 週 | Chapter 9 Virtual Memory management: demand paging, page fault, page recplacement algorithms: FIFO, LRU, LFU, clock replacement, working set, thrashing, shared memory, memory-mapped files, case studies. |
| 第 12 週 | Chapter 9 Virtual Memory management: demand paging, page fault, page recplacement algorithms: FIFO, LRU, LFU, clock replacement, working set, thrashing, shared memory, memory-mapped files, case studies. |
| 第 13 週 | Chapter 10 File-system interface: file operations, directory operations, hard links, soft links, file permissions |
| 第 14 週 | Chapter 11 File-system implementation: Linux VFS, FAT, ext4, directory implementation, allocation methods: link list, index, contiguous; free-space management: bitmap, link list; performance considerations, recovery, journaling, log-structured file systems |
| 第 15 週 | Chapter 11 File-system implementation: Linux VFS, FAT, ext4, directory implementation, allocation methods: link list, index, contiguous; free-space management: bitmap, link list; performance considerations, recovery, journaling, log-structured file systems |
| 第 16 週 | Chapter 12 Secondary-storage system: hard disk geometry, disk scheduling algorithms: FCFS, SJF, SCAN, anticipatory scheduling, RAID 0~6, flash-based SSDs: address mapping, garbage collection, wear leveling. |
| 第 17 週 | 期末考 |
Operating System Concepts, by Abraham Silberschatz, Greg Gagne, Peter Baer Galvin (based on the newest edition of the year) ※請修課同學尊重智慧財產權!勿隨意過度影印教科書或使用未經授權之著作權與電腦軟體等。
- 地點
- EC705
- 時間
- 每週三下午 2pm,請先來信預約
- 聯絡方式
- lpchang@cs.nycu.edu.tw