程序和執行緒
併發和並行
2、cpu排程
記憶體分配
3、磁碟排程
pcb程序狀態
程序編號
程式計數器(即將執行的下個指令位址)
暫存器記憶體界限
開啟檔案列表
…(cpu排程資訊)
fork() 建立子程序
exec() 代替父程序
wait() 父程序等待子程序消亡
子程序繼承父程序
1、使用者號(uids)和使用者組號(gids)
2、環境
3、堆疊,共享記憶體,開啟檔案描述符
4、執行時的關閉標誌、訊號控制設定
5、程序組號,當前工作目錄
子程序獨有
1、程序號
2、父程序號
3、自己的檔案描述符和目錄流拷貝
父程序獨有(不可繼承)
1、程序正文,資料,鎖定記憶體
2、非同步輸入輸出
子程序終止條件
1、父程序終止
2、子程序任務結束,不再被需要
3、子程序是用來超過分配的資源
管道
匿名:在有血緣關係的程序中使用
命名(fifo):一種檔案型別,無血緣關係中使用
訊號
通知接受程序有某件事要發生
訊號量
常用於執行緒間同步
訊息佇列
訊息鏈結表,放在記憶體中,共享訊息佇列,有許可權可以對訊息佇列進行讀寫訊息操作
共享記憶體
兩個或多個程序共享乙個給定的儲存區
最快的通訊方式
套接字
一般程序間的通訊方式
訊號量:訊號量為負,絕對值為等待訊號量的程序個數
互斥鎖條件變數
讀寫鎖(多程序並行讀)
記錄鎖(提高並行性)
臨界區:不予許多個程序交叉執行
臨界區資源:互斥訪問的資源
臨界區問題
1、互斥:資源互斥訪問
2、有空讓進:對佇列來說,佇列需要是前進的
3、有限等待:對單個程序來說,等待時間應該是有限的,不應該無限等待
執行緒:cpu使用的基本單位
程序:作業系統資源分配的基本單位
乙個程序有多個執行緒(任務),執行緒是輕量級的程序
執行緒呼叫fork(),建立的新程序將會複製所有執行緒
併發:多個事件,同一時間間隔,同一實體上完成
並行:多個事件,同一時間,不同實體上同時進行
完 成−
t到
達t_-t_
t完成−t
到達 第一
次響應−
t到
達t_-t_
t第一次響應
−t到
達6、帶權周轉時間t周轉
/t執行
t_/t_
t周轉/t
執行fcfs
先到先服務,不搶占,前乙個程序完成釋放cpu後給下乙個分配程序
sjf
不搶占:最短作業優先,完成後釋放cpu
搶占:每次作業到達,判斷剩餘作業時間,最短剩餘時間優先
優先順序排程演算法
搶占:優先順序高,優先執行
非搶占:新作業達到,優先順序高,加入佇列頭
輪轉法排程(rr)
分時系統
按時間片分配cpu,乙個程序執行完成,若乙個時間片沒用完,也釋放cpu,就緒隊列為迴圈佇列。
1、互斥:資源不可同時訪問
2、占有並等待:程序占有一部分資源,同時在等待另一部分的資源
3、非搶占:占有資源的程序不完成,不釋放資源
4:迴圈等待:資源請求成環
安全狀態:無死鎖,有安全執行佇列
不安全狀態:可能產生死鎖
分配圖:無環不死鎖,有環可能死鎖
銀行家演算法:避免死鎖
給需要記憶體的程序分配記憶體的方法
1、首次分配:直接使用第乙個足夠大的孔
2、最佳適應:找到記憶體中最小的足夠大的孔
3、最差適應:找到最大的孔
(1)、(3)會產生外部碎片
1、記憶體分配以固定大小為單位分配:會產生外部碎片
2、緊縮:將空閒空間合併
3、分頁分段
懶惰交換:只有需要時,才將頁調入記憶體
頁置換演算法
fifo:最舊的頁被置換
opt/min:最優置換,未來最長時間不使用的頁被置換
lru:最近最少使用的頁被置換
近似lru:每項有乙個引用位
1、附加引用位:每個週期為一位,使用變成1,最小的被置換(如:00000000,記錄八個時間片中的使用情況)
2、二次機會演算法:乙個應用位,若是0,被置換,若是1,本次不被置換,但是引用位變為0
3、增強型二次機會演算法:(x,y),x表示是否被使用,y表示是否被修改,被置換的概率為(0,0)>(0,1)>(1,0)>(1,1)
幀分配1、平均演算法
2、比例分配
多個程序競爭幀
全域性置換:不管幀屬於哪個程序
區域性置換:只在程序本身資源中選擇
fcfs:先來先服務
sstf:通過最短尋道時間來確定下乙個尋找的磁軌
scan:從一端向另一端移動,開頭->尾部,尾部->開頭
c-sacn:開頭->尾部,開頭->尾部
look:只到最遠的那個,不到磁碟尾部
作業系統複習
l 計算機系統把資源管理和控制程式執行的功能集中組成一種軟體,稱為 作業系統 是系統軟體 l作業系統的兩個設計目標 1 使計算機系統使用方便 2 使計算機系統能高效地工作 擴充硬體的功能,使硬體的功能發揮得更好 使使用者合理共享資源,防止相互干擾 以檔案形式管理軟體資源,保證資訊的安全和快速訪問。l...
作業系統複習
wait 會執行將value減1操作操作 當value 0時,代表目前有阻塞的程序在等資源,當 value 1 時,給予程序執行 signal 會執行將 value加1操作,當 value 0 時,代表優程序正阻塞等資源,此時,可以隨機釋放其中的任意程序,當 value 1 時,代表當前處於互斥狀態...
作業系統複習
1.1作業系統的目標和作用 作業系統的作用 作業系統的目標 1.2作業系統的發展過程 1.作業系統的產生 2.作業系統的形成 3.作業系統的基本特徵 3.1併發 並行 程序 3.2共享 3.3虛擬 4.作業系統的主要功能 1,處理機管理功能 處理機是計算機中最重要的資源 4.2儲存器管理功能 是計算...