進程的狀態
狀態的切換(五狀態模型)
狀態的切換(七狀態模型)
如果處於就緒態的進程,內存不夠用,就把他暫時調到外存中,便有了就緒掛起狀態,激活後又能重新調用內存。處於阻塞態的進程也能被掛起。
進程控制
概念
進程控制就是要實現進程狀態的切換
如果進程狀態的切換並沒有修改PCB的狀態標誌,會導致系統錯誤,因爲PCB所處的隊列與狀態標誌要一樣。
原語操作
進程通信
概念
共享存儲
管道通信
消息傳遞
進程同步和互斥
同步的概念
進程的異步性是指各併發執行的進程以各自獨立的、不可預知的速度向前推進。
互斥的概念
程序的併發需要共享。
進程互斥的實現方法
軟件實現方法
單標誌法
如果turn的值一直保持爲0,卻不進入臨界區呢?p1永遠不能進入臨界區
雙標誌先檢查法
雙標誌後檢查法
peterson算法
123678……執行。
執行123.假設p0想進入臨界區,但是turn=1,p0謙讓給p1,下一步while循環(如果對方想進入臨界區並且你已經謙讓了),就一直循環下去,直到時間片用完,切換到p1進程。
執行678。p1想進入臨界區,turn=0謙讓給p0,p1進入循環直到時間片用完切換到p0,這時p0循環的條件變了while(flag[1]&&turn==0),p0終於跳出循環,進入了臨界區。