進程與程式

來源:互聯網
上載者:User
所謂“進程”就是程式的一次執行。從核心角度看,進程是系統中的一個對象,它對應一個程式的執行流並且是一個資源分派的單位。系統為程式的這次活動分配記憶體,裝入代碼和資料,然後開始執行。執行過程中,進程要佔用一部分系統資源,包括記憶體,處理器,檔案等。作業系統就以“進程”為單位,管理這個執行流和它佔用的記憶體等資源,並負責做到多個進程之間互不影響。
所謂“程式”,是一個由cpu指令和資料構成的集合,這些指令和資料存放在磁碟的一個普通檔案中。程式是一個靜態概念,它用於在建立進程時初始化進程的使用者資料區段和指令段。初始化完成之後,進程開始執行。自此以後,進程和初始化它的程式之間就不再有聯絡了。
一個活動的進程和初始化它的程式之間要說還有聯絡的話,那便是進程運行後,它對應得磁碟上的程式檔案不可被刪除。這是由於作業系統中虛擬記憶體管理功能的需要。為了節約實體記憶體,用程式初始化進程的指令段是,並沒有把程式中所有的指令全部調入記憶體,二是按照分頁按需調入的策略,只調入部分,其它部分需要時才調入。因此程式檔案不允許刪除,也不允許改動。如果不是因為虛擬記憶體管理的原因,而是在程式初始化進程指令段時將所有命令都調入記憶體,那麼進程啟動後的程式檔案完全可以刪除。
幾個同時啟動並執行進程可以由同一程式初始化得到,而這些進程之間沒有什麼聯絡。Unix核心可以通過安排相同程式建立的多個進程來共用同一個指令段以節省記憶體,甚至只用動態連結的手段允許不同的程式共用相同的子程式碼。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.