《現代操作系統》讀書筆記——第二章 進程與線程

2.1 進程

嚴格的說,在一個瞬間,cpu只能運行一道程序。但在一秒鐘期間,他可能運行多道程序,這樣就給用戶一種並行的錯覺。這也稱僞並行。

多處理機系統(該系統有兩個或多個cpu共享同一個物理內存)是真正硬件並行。


進程的狀態:

  1. 運行態(該時刻進程實際佔用CPU)。
  2. 就緒態(可運行,但因爲其他進程正在運行而暫時停止)。
  3. 阻塞態(除非某種外部事件發生,否則進程不能運行)。
前兩種狀態在邏輯上類似,只是第二種暫時沒有CPU可分配給它。而第三種不同,處於該狀態的進程不能運行即使CPU空閒。



  1. 進程爲等待輸入而阻塞。
  2. 調度程序選擇另一個進程。
  3. 調度程序選擇這個進程。
  4. 出現有效輸入。

進程調度程序是操作系統的一部分。

操作系統維護着一張進程表。每個進程佔用一個進程表項(也成PCB,process control block,進程控制塊),這些進程表項存儲着進程狀態的信息,從而使得進程被切換後再次切換回來時能夠再次啓動,就像從未被中斷過一樣。

所有的中斷都從保存寄存器開始。


2.2 線程
線程之間沒有保護,原因(1)不可能 (2)沒必要。
每個線程都有自己的堆棧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章