Linux 核心設計: 發展動態回顧 === :::warning 注意!這是上課筆記 ::: :::info 原始課程在這裡 - [影片](https://www.youtube.com/watch?v=nUXxdgszJAQ) - [講義](https://hackmd.io/@sysprog/linux-dev-review) Original by [jserv](http://wiki.csie.ncku.edu.tw/User/jserv) ::: --- | Section | Time| Description | | -------- | -------- | -------- | | 1 | [00:00:58](https://www.youtube.com/live/nUXxdgszJAQ?si=AJI5ywwR-jSdSKbm&t=58) | 1. 1991 首次釋出,2001 Linux 2.4 問世。<br>2. 大同公司的作業系統。大學聯考的電腦閱卷就是大同的作業系統。<br>3. 1990 作業系統百花齊放。<br>4. BSD 和 Unix 的戰爭,讓 Linux 獲得很大成長空間。<br>5. SMP<br>6. Scalability 的概念。 | 2 | [00:10:13](https://www.youtube.com/live/nUXxdgszJAQ?si=7MZztMwEDISQ0dlt&t=613) | 1. 虛擬化技術。<br>2. 2009 Android 1.5 釋出。<br>3. Motorola 利用虛擬化技術 結合 Qualcomm brew and Android。<br>4. namespace and cgroups。<br>5. Unix is a time-sharing system (1974).<br>6. namespace 的應用:虛擬網路裝置。<br>7. Lotus 1-2-3 | 3 | [00:23:00](https://www.youtube.com/live/nUXxdgszJAQ?si=dimfIqAbKuxFX_zI&t=1380) | 1. container 的發展。<br>2. Microsoft OLE object。<br>3. eBPF (extended Berkeley Packet Filter)。<br>4. PREEMPT_RT<br>5. AIO 非同步 I/O 存取。 | | [00:36:19](https://www.youtube.com/live/nUXxdgszJAQ?si=b0puXfSVcqRjrDQ5&t=2179) | 休息 | | 4 | [00:40:55](https://www.youtube.com/live/nUXxdgszJAQ?si=L9jYk2jXWr-GUtk9&t=2455) | 1. Operation System tasks.<br>2. Abstractions 的概念。<br>3. Computer System Layers.<br>4. X Window System (1984)<br>5. 虛擬作業系統的由來,用來debug 新開發的作業系統。 | 5 | [00:50:35](https://www.youtube.com/live/nUXxdgszJAQ?si=UP4qnJaVfFkicbqQ&t=3035) | 1. 世上第一個分時多工作業系統 (CTSS)<br>2. MLFQ Scheduling。<br>3. Unix History.<br>4. [Revolution OS](https://hackmd.io/@sysprog/revolution-os-note)<br>5. Jonathan Corbet | 6 | [01:02:19](https://www.youtube.com/live/nUXxdgszJAQ?si=lPDTWDvUQoYxXb8U&t=3739) | 1. Linux Kernel Versions<br>2. Linux basic features<br>3. 檔案系統 :jfs from IBM / xfs from SGI<br>4. Unix : everything is a file.<br>5. Linux : everything is a file descriptor.<br>6. Virtual memory | | [01:12:34](https://www.youtube.com/live/nUXxdgszJAQ?si=Sw3U_H-CUxxKSK2Q&t=4354) | 休息 | 7 | [01:16:45](https://www.youtube.com/live/nUXxdgszJAQ?si=jLvfLgoyJsW1oYUj&t=4605) | 1. 虛擬記憶體管理<br>2. Window NT Dave Cutler, VMS and WNT<br>3. Windows NT / Windows 95 / Windows CE<br>4. linux nommu<br>5. MCU : STM32 Cortex M7 no support MMU.<br>6. 工廠鬼故事 | 8 | [01:31:23](https://www.youtube.com/live/nUXxdgszJAQ?si=kUzSwYRgeRRL3_c7&t=5483) | 1. POSIX 規範.<br>2. Monolithic kernel / Microkernel<br>3. Windows 輸入法是一種 keyboard driver. | 9 | [01:42:34](https://www.youtube.com/live/nUXxdgszJAQ?si=zkVmTLDrDFc1tS_u&t=6154) | 1. eBPF | | [01:47:30](https://www.youtube.com/live/nUXxdgszJAQ?si=PeS5i7z1wipgzv4u&t=6450) | 休息 | 10 | [01:53:08](https://www.youtube.com/live/nUXxdgszJAQ?si=-Rxukba4y_zVcfxc&t=6788) | 1. hybrid kernel : Mac OS<br>2. eBPF 的應用 : CPU scheduler 的測量。<br>3. BPF summary.<br>4. 誠實面對自己。 | | 11 | [02:10:50](https://www.youtube.com/live/nUXxdgszJAQ?si=ZyVtfdmocdcw0PQc&t=7850) | 1. FOSDEM. | 12 | [02:17:08](https://www.youtube.com/live/nUXxdgszJAQ?si=biynU9N-4DBxhGCG&t=8228) | 1. Linux 2.4 的釋出。<br>2. khttpd. | | | [02:22:27](https://www.youtube.com/live/nUXxdgszJAQ?si=khoS_QjMYvNKEZS8&t=8547) | 休息 | | 13 | [02:27:40](https://www.youtube.com/live/nUXxdgszJAQ?si=rBmxeMcJqVaoxYm8&t=8860) | 1. Linux 2.6 以後的版本定期釋出。就像雜誌一樣<br>2. LAMP (Linux / Apache / Mysql / PHP)<br>3. Linux 升級只提供機制,不提供策略,不為需求而升級。<br>4. 鐵達尼號 與 Linux SMP 機制。 | | 14 | [02:46:50](https://www.youtube.com/live/nUXxdgszJAQ?si=-gQ3bH_6xGGHBjKb&t=10010) | 1. Linux 的問題:Big Kernel Lock,直到15年後,2011才徹底解決。<br>2. 虛擬化技術。 | | 15 | [03:00:00](https://www.youtube.com/live/nUXxdgszJAQ?si=_gw-PEhng0PV31Y8&t=10800) | 1. Android KVM.<br>2. 寬宏無法大量。<br>3. live migration. (Workload consolidation) | | 16 | [03:13:00](https://www.youtube.com/live/nUXxdgszJAQ?si=4VXgl6bxwqDsQ3ou&t=11580) | 1. Xen(AWS 採用並發揚光大) / VDI (以色列公司) | | 17 | [03:25:05](https://www.youtube.com/live/nUXxdgszJAQ?si=D85yMoCPblJvbDv6&t=12305) | 1. DPDK : kernel-bypass networking<br>2. XDP<br>3. AIO<br>4. RUST 程式語言。 |