1.程序:資料集程式在乙個資料集執行的過程。
#組成:程式**,資料集棧,程序控制塊(pcb)——是程序存在的唯一標識,os根據pcb的屬性控制程序。
2.上下文:程序執行時cpu的暫存器資料集合(現場)。包括了使用者可見暫存器和控制/狀態暫存器。
3.分派器(即程序排程程式):排程時發生上下文切換:儲存舊程序的上下文到它的pcb,從新程序的pcb恢復它的上下文到暫存器。即選擇並排程乙個程序,使之占用cpu執行。
!#引入程序,由於實現了併發執行和資源共享,可提高資源利用率和吞吐率的好處,但卻增加了系統的時間和空間開銷。
1.程序建立:os為程序建立pcb,分配記憶體空間。
#導致程序建立的原因:
①新的批處理作業:作業提交後,開始執行時建立程序。
②互動登入:新使用者登入和接受使用者命令時建立程序。
③os提供服務:如控制列印,網路通訊等服務程序。
④父程序派送子程序:父程序請求建立子程序。
#建立的步驟
①給新程序分配乙個新pcb和唯一pid。
②給程序分配記憶體空間(**,資料,棧)。
③初始化pcb:各屬性取預設值或所請求的值。在unix中,子程序pcb基本複製自父程序pcb。
④將pcb放置就緒佇列或就緒掛起佇列。
⑤建立其他資料結構:如記賬,日誌等。
2.程序終止:**記憶體,釋放資源,銷毀pcb。
#導致程序終止的原因:
①程序正常執行完畢
②使用者或os干預
③父程序請求或父程序已終止
④執行時發生的各種故障和錯誤
3.五狀態模型
3.1程序狀態
3.2程序佇列
①就緒佇列:所有就緒程序按fcfs或優先順序順序排隊。
②等待(阻塞)佇列:每一種等待時間對應於乙個佇列。
3.3 被掛起的程序
!#pcb始終在記憶體中。
4.1作業系統的控制結構
os構造並維護所管理的每個實體的資訊表,4類
4.2程序控制結構pcb
pcb的索引(pid)唯一地標識該程序。
psw(程式狀態字暫存器):指明cpu當前特權級別、終端遮蔽碼,(中斷優先順序)等。
5.1cpu有兩種執行模式:
①使用者態:只能執行非特權指令。
②系統態:可以執行所有指令,使用所有資源以及改變cpu狀態。
?#cpu何時從使用者態到系統態?
?#cpu何時從系統態到使用者態?
?#注意
在unix中,父程序通過系統呼叫fork()建立子程序。
!!#fork()有兩個返回值:向父程序返回子程序的pid,向子程序返回0
作業系統 程序(1)
程序就是執行中的程式,當乙個程式被載入到記憶體之後就變為了程序 程序的出現,讓每個使用者感覺到自己在獨佔cpu,因此可以說程序就是為了在cpu上實現多道程式設計而出現的概念 物理視角 從物理記憶體的分配來看,每個程序占用一片記憶體空間,從這點上看,程序其實就是記憶體的某片空間,由於在任意時刻,乙個 ...
作業系統 程序1
程式本身不是程序。程式只是被動實體,如儲存在磁碟上包含一系列指令的檔案 而程序是活動實體,具有乙個程式計數器用於表示下個執行命令和一組相關資源。當乙個可執行檔案被載入到記憶體,程式就變成了程序。引入程序的目的是 為了實現程式的併發執行,並且可以對併發程式進行控制 程序具有以下狀態 新的 正在被建立 ...
作業系統 程序
在作業系統中,作業系統將記憶體,網路,檔案系統抽象為資源的統一抽象表示。1 什麼是程序 程序就是進入記憶體中正在執行的程式。把程序當做一組元素組成的實體。程序包括兩個部分,一部分是 部分,另一部分是 相關的資料集合。程序控制塊 每乙個程序,在核心中都對應著乙個程序控制塊。程序控制塊中儲存著程序的所有...