CSAPP-2.1-程式
程式模型
- 程式存在的原因:在多道程式系統中,描述併發(偽並行)。
- 程式定義:一個這個在執行的程式的映像(例項),包括許多狀態,如:PC、Register、變數的當前值。
多道程式設計:記憶體中同時能夠容納多個程式
程式狀態
- 執行態。該時刻實際佔用CPU
- 就緒態(暫停態)。可執行,等待其他程式執行結束。
- 阻塞態。等待某種外部事件的發生。
程式的建立與終止
程式建立
- Fork():建立程式的系統呼叫。建立一個與呼叫程式相同的副本。
- 修改共享記憶體:不可寫的記憶體是共享的。如果全部記憶體都是共享的,那麼需要採用寫時複製技術。
寫時複製:保證子程式不會修改父程式的共享記憶體。在寫之前,複製到記憶體的其他區域,然後建立記憶體對映。
程式終止
- Exit():終止程式。
- 退出條件:
- 正常退出(自願)
- 錯誤退出(自願)
- 嚴重錯誤(非自願)
- 程式被殺死(非自願)
程式的實現
- 作業系統維護一張表:程式表也成為程式控制塊PCB
多道程式設計模型
- 採用多道程式設計可以提高CPU利用率
- 假設一個程式等待I/O操作的時間與停留在記憶體的時間比是p。CPU利用率=1- p n p^n pn,n是多道程式設計的道數。
相關文章
- Linux——程式建立、程式終止、程式等待、程式程式替換Linux
- 子程式、孤兒程式,殭屍程式, init程式
- 程式——父子程式共享
- linux系統程式設計之程式(一):程式與程式Linux程式設計
- Perl程式:殭屍程式和孤兒程式
- python併發程式設計之程式1(守護程式,程式鎖,程式佇列)Python程式設計佇列
- 小程式開發,小程式代理,小程式加盟,小程式創業創業
- 小程式5:FTP程式FTP
- iPhone程式本地程式支援iPhone
- 程式-程式-執行緒執行緒
- 程式猿與程式媛
- 智慧城市同城小程式程式 附帶前端程式前端
- linux系統程式設計之程式(三):程式複製fork,孤兒程式,殭屍程式Linux程式設計
- 作業系統系列----程式與程式 程式的描述作業系統
- 小程式3:ATM小程式
- windows核心程式設計--程式Windows程式設計
- 無程式碼程式設計程式設計
- fork、父程式和子程式
- 程式等待和程式替換
- 殭屍程式,孤兒程式
- 《程式碼大全》程式碼生成
- 程式結構&&程式設計程式設計
- 程式控制--程式的其他操作
- 多程式程式設計 (轉)程式設計
- 多程式程式設計(轉)程式設計
- Qt啟動子程式,子程式關閉時通知主程式,實現主程式對子程式的管理QT
- 程式
- 控制程式碼表篇——程式控制程式碼表
- 小程式商城前端程式碼流程前端
- 低程式碼VS無程式碼
- Python多程式程式設計Python程式設計
- 小程式程式碼打包處理
- Python 中子程式與父程式Python
- 殭屍程式和孤兒程式
- linux 檢視程式 kill程式Linux
- python程式碼打包exe程式Python
- Linux:程式模型和程式管理Linux模型
- 入門程式碼程式設計程式設計