校際選修

115-1 選課時程

進行中

  • 初選第一階段 6/15/2026
  • 初選第二階段 6/22/2026
  • 校際選修 8/24/2026
  • 初選第三階段 8/31/2026
  • 開學後加退選 9/7/2026
  • 逾期加退選 9/21/2026
選課資源

作業系統概論

Introduction to Operating Systems

學期
111-1
學分
3 學分
當期課號
515523
永久課號
CSCS10001
開課單位
資訊學院共同課程
授課教師
張立平
校區
光復
類別
必修
上課時間表
週三
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) ※請修課同學尊重智慧財產權!勿隨意過度影印教科書或使用未經授權之著作權與電腦軟體等。

Office Hours
地點
EC705
時間
每週三下午 2pm,請先來信預約
聯絡方式
lpchang@cs.nycu.edu.tw