磁碟幾何、Interrupt 與 DMA|Stanford CS111 第 18 堂
磁碟把機械式 seek 與 rotation 隱藏成線性 block API;現代 I/O 再用 memory-mapped registers、DMA queues 與 interrupts,讓 CPU 只負責下命令和收完成通知。
第 94 頁,共 129 頁
磁碟把機械式 seek 與 rotation 隱藏成線性 block API;現代 I/O 再用 memory-mapped registers、DMA queues 與 interrupts,讓 CPU 只負責下命令和收完成通知。
檔案系統把耐久 byte collection 映射到磁碟 blocks;contiguous、linked 與 FAT 分別交換 locality、成長彈性、random access 與 metadata 成本。
4.3BSD inode 用 direct、single-indirect 與 double-indirect pointers 讓 lookup depth 隨檔案大小分級;FIFO、SPTF、SCAN 與 CSCAN 則交換 seek cost、公平性與等待時間。
Block cache 把熱索引留在 DRAM,bitmap 與保留空間維持配置選擇,fragments 和 delayed allocation 則用較晚、較完整的資訊換取 locality。
Directory 把文字名稱映射到 file-system-local i-number;hard link 共享 inode 與 reference count,symbolic link 則保存 pathname,換得跨檔案系統能力但可能形成 loop 或 dangling link。
檔案系統一次操作會改動多個 block,崩潰卻可能發生在任兩次寫入之間;本講比較 fsck、ordered writes 與 write-ahead logging 如何交換復原時間、效能、耐久性與一致性。
第 24 講從 WAL 入口往下拆 transaction、idempotent replay 與 checkpoint,說明一致性不等於 durability,journal 也不能取代 fsync 與備份。
第 25 講把 trust 拆成假設、推論與替代三種建立方式,再檢視社群推薦、生成式 AI 與合成媒體如何放大過度信任;實務答案是保留來源、交叉驗證並協調責任。
Flash 只能逐頁 program、整個 erase unit 清除;FTL 以 out-of-place mapping 隱藏不對稱,再用 garbage collection、temperature segregation、wear leveling 與 TRIM 管理放大成本。
VM 把 process interface 擴成完整硬體介面;hypervisor 讓普通指令直接執行、攔截 privileged operations,並虛擬化 interrupts、I/O 與兩層位址轉譯。
第 28 講把整學期收斂成並行、記憶體、儲存三條主線,再用 virtualization、atomicity、locality、layering 四個觀念解釋作業系統如何管理共享資源。
Ably 管理全球 realtime connections、channels、presence 與短期 recovery;application 仍要定義 idempotency、durable business state、token capability 與 offline resync。
Agent 應以短效、限 audience、限權限的代理憑證執行單一任務,並同時保留使用者與 agent 身分、執行時授權、確認與稽核鏈。
Agent execution 要同時限制 kernel、filesystem、process、network、credentials 與 tool authorization;沙箱逃逸只是其中一條路,過寬 API token 往往更直接。
Linode 現在是 Akamai Cloud Computing 的 compute 基礎;VM、LKE、storage 與 managed database 仍有區域和網路邊界,不能因 Akamai edge 品牌就假設全部整合。
Algolia 把索引、即時查詢、facet 與前端元件包成託管服務;上線很快,但資料同步、搜尋品質與用量成本仍要自己負責。
Kafka 的核心是依 partition 排序、依 retention 保存的分散式 log;consumer group 用 offset 分工,exactly-once 只在 Kafka transaction 能涵蓋的邊界內成立。
Pulsar 將 serving 與 storage 分離:stateless broker 處理連線,BookKeeper 保存 ledger 與 subscription cursor;彈性與多租戶能力換來更多營運元件。
Appwrite 把 Auth、TablesDB、Storage、Functions、Realtime 與 Messaging 放進一致 API;Cloud 與 self-hosted 功能相近,維運責任卻完全不同。
assistant-ui 把 Agent Chat 拆成 headless React primitives、conversation runtime 與後端 adapters;UI 不必直接綁死某個模型 SDK 的 message state。