程式專題:設計一個虛擬記憶體管理程式 專題概述 這個專題要求撰寫一個程式,將大小為 2^16 = 65,536 位元組的虛擬位址空間中的邏輯位址轉換為實體位址。...
向高中生介紹虛擬記憶體管理。 以下內容由 Claude 3.5 Sonnet 向高中生介紹虛擬記憶體管理。 我很樂意為你解釋作業系統中的虛擬記憶體管理概念。作為...
周志遠教授的作業系統 詳細的文字整理請參考 作業系統 CH8 Memory Management。 以下內容由 Claude 3.5 Sonnet 解釋作業系統...
以下內容由 Claude 3.5 Sonnet 整理。 處理死結(Deadlock)是操作系統和並發程式設計中的一個重要話題。有幾種主要的方法來處理死結,我們可...
以下為使用 POSIX 線程(pthread)的死結範例 deadlock.c /** * A pthread program illustrating de...
哲學家進餐問題(Dining Philosophers Problem)是一個經典的同步問題,最早由計算機科學家Edsger Dijkstra提出,用來說明在多...
Mutex(互斥鎖)、Condition Variables(條件變量)和Semaphore(信號量)是多線程編程中常用的同步原語,它們各自有不同的功能,但也可...
臨界區間問題(Critical Section Problem)的發生是因為共用變數(shared variable)被更改時可能會中斷,若某些指令我們可以一行...
Peterson's Solution 是一個以軟體為基礎的經典臨界區間問題解答,限制兩個行程在臨界區間和剩餘區間之間交替執行。 共享的變數 int turn...
上一篇我們提到了 race condition,解決 race condition 的兩大策略: I. 禁用中斷(Disable Interrupt) 這種方法...
當多個行程並行(concurrent)處理共享的資料時,共享資料同時被不同 Process / threads 存取,因為執行順序的不確定性,很容易發生資料不一...
一直在猶豫要不要選擇工作上相關題目來報名鐵人賽就好,感覺事半功倍,還可以順便做個工作紀錄。考慮好久還是好想把這本一直待在待讀清單的魔王書籍完成,那就試試看吧~...
重新複習operating system,但卻發現nachos真的太舊了,還只能安裝在32位元的linux上,因此轉向改裝xv6-riscv。 在64位元Ubu...