Python并發編程高級課程--進程狀態和分配空間
極客小將2020-09-28-
進程的狀態:當我們打開一段程序運行的時候,就需要占用CPU,如果其他程序占用。那就需要等待系統為其分配處理器,此時進程的狀態就成為就緒態,一旦系統噴賠了處理器資源來運行此程序,那么進程的狀態就成為運行態,如果在運行過程中,需要和人進行互動,比如需要用戶鍵盤輸
進程的狀態:
當我們打開一段程序運行的時候,就需要占用CPU,如果其他程序占用。那就需要等待系統為其分配處理器,此時進程的狀態就成為就緒態,一旦系統噴賠了處理器資源來運行此程序,那么進程的狀態就成為運行態,如果在運行過程中,需要和人進行互動,比如需要用戶鍵盤輸入或鼠標點擊才能繼續執行,此時進程會進入休眠態。等待用戶輸入后,又會恢復為運行態。
地址空間:
進程在執行過程中,還需要占用內存等資源,所占用的內存空間即虛擬地址空間。與虛擬地址空間相對的是物理地址空間,進程的物理地址空間對應的是進程實際占用的這塊物理內存。
進程地址空間的內存布局,大體可分為四個部分:代碼段,數據段,堆區,棧區。每個部分用來存儲特定類型的數據,比如代碼段存儲的是可執行的機器指令,數據段存儲的是程序的數據。
操作系統在實際實現中將內存與磁盤抽象為虛擬內存,并為進程提供了一層抽象,使得每個進程都在獨占地使用這塊虛擬內存。

- 上一篇
Python并發編程高級課程--進程
什么是進程?進程可以直接的理解為正在執行的程序。當一個腳本文件運行后就是一個進程。而進程的執行必須由操作系統為其分配CPU,內存,磁盤等系統資源,從這一個角度進行分析,我們可以初步得出這樣的結論:進程是操作系統進行資源分配的基本單位。編程當中需要考慮的問題?既
- 下一篇
Python并發編程高級課程--進程間的通信和同步
進程間的通信:和人類社會一樣,每個進程在執行過程中也需要爭奪更多的系統資源來執行自身程序,所以他們之間也需要通信,最常見的通信就是文件,共享內存,信號,套接字等。進程之間的通信,本質是數據傳輸。進程間的同步:如果系統中只存在一個進程,或系統中的進程完全孤立