本講座嘗試運用 Linux 系統呼叫,建構使用者空間的任務排程器,探討 coroutine、執行緒、行程,及排程器的原理,隨後該任務排程器會擴充為支援搶佔式多工的實作,後者將進一步擴充以對應到多核處理器和 Linux 核心 CPU 排程器的原理。本講座以「做中學」的手法,讓參與者得以兼顧作業系統原理和排程器的具體設計議題。
4/19/2024從 Concurrency (並行) 和 Parallelism (平行) 的差異談起,再釐清 semaphore 和 mutex 一類的Synchronization (同步處理) 議題。本講座透過 POSIX Thread 探討 thread pool, Lock-Free Programming。lock-free 使用的 atomic 操作, memory ordering, thread pool, M:N threading model 等進階議題。
4/19/2024資料整理: eecheng87, jservThe Evolution of Linux I/O Models:A Path towards IO_uring / 錄影
4/18/2024本文涵蓋 spinlock 本身的效能和可擴展能力 (scalability) 議題
4/18/2024or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up