摘要:
7.1 阻塞與非阻塞 IO 阻塞操作是指在執行設備操作的時候,若不能獲取資源,則掛起進程直到滿足可操作的條件后再進行操作。被掛起的進程進入睡眠狀態,被從調度器的運行隊列移走,直到等待的條件被滿足。 非阻塞操作的進程在不能進行設備操作時,并不掛起,要么放棄,要么不停的查詢,直到可以進行操作為止。 驅動 閱讀全文
posted @ 2019-10-17 17:21
游戲進行中
閱讀(347)
評論(0)
推薦(0)
摘要:
6.4 信號量 信號量(semaphore)是操作系統中最典型的用于同步和互斥的手段,信號量的值可以是 0,1 或者 n。信號量與操作系統的經典概念 PV 操作對應。 P(S): 將信號量 S 的值減 1,即 S = S - 1 如果 S >= 0,則該進程繼續執行,否則該進程置為等待狀態,排入等待 閱讀全文
posted @ 2019-10-17 11:12
游戲進行中
閱讀(280)
評論(0)
推薦(0)
摘要:
在 Linux 設備驅動中必須要解決的一個問題是多個進程對共享資源的訪問,并發的訪問會導致競態。 6.1 并發與競態 并發(Concurrency)指的是多個執行單元同時、并行的執行,而并發的執行單元對共享資源(硬件資源和軟件上的全局變量、靜態變量等)的訪問則很容易導致競態(Race Conditi 閱讀全文
posted @ 2019-10-17 09:15
游戲進行中
閱讀(350)
評論(0)
推薦(0)

浙公網安備 33010602011771號