本講座嘗試運用 Linux 系統呼叫,建構使用者空間的任務排程器,探討 coroutine、執行緒、行程,及排程器的原理,隨後該任務排程器會擴充為支援搶佔式多工的實作,後者將進一步擴充以對應到多核處理器和 Linux 核心 CPU 排程器的原理。本講座以「做中學」的手法,讓參與者得以兼顧作業系統原理和排程器的具體設計議題。
4/20/2024多執行緒環境下,程式會出問題,往往在於執行順序的不確定性。一旦顧及分散式系統 (distributed systems),執行順序和衍生的時序 (timing) 問題更加複雜。
4/20/2024本文回顧微處理器的 atomic 指令及軟硬體設計考量、memory ordering 及 memory barrier、C11 標準的 <stdatomic.h> 及 Linux 核心介面,和探討經典 lock-free 資料結構和演算法案例。
4/20/2024目的: 檢驗學員對 timerfd 系統呼叫的認知
4/20/2024or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up