Linux 核心設計: 作業系統術語及概念 === :::info 這是上課筆記,原始課程在這裡: - [影片](https://www.youtube.com/watch?v=8yd6p3GaxVsQ) - [講義](https://hackmd.io/@sysprog/linux-concepts) Original by [jserv](http://wiki.csie.ncku.edu.tw/User/jserv) ::: --- | Section | Time| Description | | -------- | -------- | -------- | | 1 | [00:00:00](https://youtu.be/8yd6p3GaxVs?si=9zdCxjrTXtZKGcVE) | 1. Linux 原始碼的規模。<br>2. tokei<br>3. cache 以及其相關知識:cacheinfo.h<br>4. 星之卡比。<br>5. 虛擬記憶體管理,起源於 Mach microkernel。<br>6. 大同公司的 Unix ,用於大學聯考電腦閱卷。 | 2 | [00:14:52](https://youtu.be/8yd6p3GaxVs?si=vyjyRW-QNljw7gfp&t=892) | 1. procfs : Unix 的 plan 9 真正實現 everything is a file,並且最終被Linux 採用。<br>2. TCP/IP stack 的發展,最終也被Linux 採用。<br>3. BPF 封包過濾機制,最終被 Linux 採用 變成 eBPF。 | 3 | [00:22:51](https://youtu.be/8yd6p3GaxVs?si=sP9RDxEY77Npbfs5&t=1371) | 1. eBPF 與 觀察作業系統 的關聯:virtual machine.<br>2. XDP<br>3. 9P 通訊協定,最終被 Linux 採用變成 virtualization 的基礎。 | 4 | [00:33:44](https://youtu.be/8yd6p3GaxVs?si=ULoW-x1mpzE1O49m&t=2024) | 1. LXC / Docker / Linux container,作業系統層級的虛擬化。<br>(virtual machine 是 硬體層級的虛擬化)<br>2. 看漫畫學 Linux。 | | [00:39:00](https://youtu.be/8yd6p3GaxVs?si=thOPPR_sAOUHdemU&t=2340) | 休息 | 5 | [00:43:14](https://youtu.be/8yd6p3GaxVs?si=RRHFn7n-C-FACuyZ&t=2594) | 1. 看漫畫學 Linux。<br>2. 檔案系統的重要性,VFS。<br>3. Process.<br>4. fork 的哲學 / posix_spawn 的修正。<br>5. multics / ms-dos | 6 | [01:02:10](https://youtu.be/8yd6p3GaxVs?si=M4X9c9a_b4iH3chv&t=3730) | 1. 多執行緒的產生:NPTL。<br>2. Manage Process affinity in Linux.<br>3. zombie processes.<br>4. OSTEP book : Virtualization / Concurrency / Persistence | 7 | [01:15:15](https://youtu.be/8yd6p3GaxVs?si=dkoXh0KWRkwhzo_k&t=4515) | 1. 記憶體管理。<br>2. overcommit | 8 | [01:21:00](https://youtu.be/8yd6p3GaxVs?si=HCbnPIBrlkDlA3hb&t=4860) | 1. 資安的強化 會影響到性能。<br>2. 傳統 網頁伺服器 /事件驅動 網頁伺服器。<br>3. Linux 到發跡:UNIX and BSD 對簿公堂。<br>4. khttpd : in-kernel httpd 作為加速。 | 9 | [01:37:31](https://youtu.be/8yd6p3GaxVs?si=OA-acLcApWqoD8L1&t=5851) | 1. kernel space / user space<br>2. HAL (Hardware Abstraction Layer)<br>3. X window<br>4. CTSS<br>5. fork / join<br>6. scheduler | | [01:51:42](https://youtu.be/8yd6p3GaxVs?si=m0xAyQHz86A7WO1j&t=6702) | 休息 | 10 | [01:53:21](https://youtu.be/8yd6p3GaxVs?si=48hRa-w6wUDCuO6Z&t=6801) | 1. illusion.<br>2. 開發 作業系統 心得分享。 | 11 | [02:03:18](https://youtu.be/8yd6p3GaxVs?si=nQICBOlcYFYfIkc0&t=7398) | 1. Monolithic kernel / Micro kernel <br>2. minix is a micro kernel / Linux is a monolithic kernel.<br>3. TCB : Trusted Computing Base<br>4. micro kernel 性能問題。 | 12 | [02:20:20](https://youtu.be/8yd6p3GaxVs?si=x_CoKPwwV2OqRks0&t=8420) | 1. mklinux<br>2. operation system personalities<br>3. kernel module. | 13 | [02:29:13](https://youtu.be/8yd6p3GaxVs?si=LbsJVKWFzvrlU7PL&t=8953) | 1. GNU Hurd.<br>2. Hybrid kernel : macOS<br>3. DragonFly BSD : Hammer 檔案系統 搬出 kernel | 14 | [02:39:41](https://youtu.be/8yd6p3GaxVs?si=CMDfLS45yk3xc6_c&t=9581) | 1. virtual machine 的考量。<br>2. microVM : Firecracker<br>3. unikernel : 只有一個 process<br>4. library OS : Exokernel<br>5. MazuNIX : 小型可研究的作業系統。<br>6. nanovms | 15 | [02:53:56](https://youtu.be/8yd6p3GaxVs?si=gPA3QmlQuNlQgqQ6&t=10436) | 1. Container Sandbox : google gVisor<br>2. Address space<br>3. Green thread : user space support multi-thread<br>4. kernel 記憶體管理。 | 16 | [03:00:40](https://youtu.be/8yd6p3GaxVs?si=xIh-97lW5dRKluEf&t=10840) | 1. Process context / interrupt context<br>2. Multi-tasking<br>3. 並行程式設計。<br>4. Linux 核心搶佔。 | 17 | [03:18:45](https://youtu.be/8yd6p3GaxVs?si=CWOYB4evjMbUguxF&t=11925) | 1. realtime KVM.<br>2. SMP / ASMP.<br>3. CPU scalability<br>4. RCU<br>5. cpu land<br>6. Advanced Operating System
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up