操作系統複習知識點整理

操作系統複習
***在計算機上配置操作系統,目的:方便性、有效性、可擴充性、開放性
用戶通過三種方式使用計算機: 命令方式、系統調用、圖標-窗口來實現與操作系統的通信。
OS作爲計算機系統資源的管理者。。。。


多道批處理系統的優缺點:
1)系統的利用率高使多道程序交替運行。 CPU的利用率高,提高了內存的利用率,還能提高I/O設備的利用率。
2)系統的吞吐量大。①CPU和其他資源保持忙碌狀態②僅當作業完成時或者運行不下去了才進行切換,系統開銷小。
3)平均週轉時間長。 作業排隊依次進行處理,作業週轉的時間較長。
4)無交互能力 。用戶無法與計算機協同交互完成作業,修改調試程序不方便


分時系統的特徵
1)多路性。 允許多臺終端同時連接到一臺主機上,分時爲用戶服務。促進計算機的廣泛的發展
2)獨立性。 一臺主機上的多用戶操作彼此不受影響
3)及時性。 響應時間短 1~3 s
4)交互性。 用戶可通過終端與系統進行廣泛的人機對話。 廣泛性:用戶可請求系統提供多方面的服務。-文件編輯和數據處理,訪問文件系統和和數據庫系統

操作系統的基本特徵: 併發、共享、虛擬、異步
併發:
並行與併發。。。。。。。。
對單通道的而言,微觀上沒有併發,分時交替
進程---定義:在系統中能夠獨立運行並作爲資源分配的基本單位,它是由一組機器指令、數據和堆棧等組成的。能夠獨立運行的實體。
作用:建立進程後,計算機程序可以與I/O併發執行
共享:
互斥共享方式:佔有系統資源執行完之後才能交予下一個進程訪問。。。臨界資源(獨佔資源)
同時訪問方式:併發和共享是多用戶(多任務)OS的兩個最基本的特徵。
虛擬:
異步:

微內核OS的結構

微內核的基本概念。
1)足夠小的內核
2)基於客戶/服務器模式
3)應用“機制與策略分離”原理
4)採用面向對象技術





進程的描述與控制


前趨圖和執行 (有向無環)
前趨圖:一個有向無循環DAG
描述程序執行的先後順序。
圖中每個結點都可以用來表示一個進程或者程序段,或者一條語句 。 、
結點間的有向邊表示存在的偏序 或者前趨關係
前趨圖中不允許存在循環

程序的順序執行
只有在前一個程序執行完,才能執行下一個程序。
I 輸入操作 (input) C 計算機操作 (computer operate) P 打印 (print)

程序執行時有三個特徵:①順序性: 處理機嚴格按程序規定的順序執行 ②封閉性:在封閉的環境下運行 --一旦開始,執行結果不受外界的影響 ③ 可再現性:保持條件相等執行,可獲得相同的執行結果

程序的併發執行:

併發執行是的特徵
1)間斷性 --共享系統資源 相互制約
2)失去封閉性 --資源共享,會受到其他程序執行時的影響
3)不可再現性

進程的定義和特徵
   ※進程管理 = PCB管理
   爲了使參與的每個程序都能獨立的運行,在操作系統中配置一個專門的而數據結構

進程的定義:
1)進程是程序的一次執行。
2)進程是一個程序和和其數據在處理機上順序執行時所發生的活動。
3)進程是具有獨立功能的程序在一個數據集合上運行的過程,是系統進行資源分配和調度的一個獨立的單位。

進程的特徵:
1)動態性: 實質是進程實體執行過程(由創建而產生,由調度而執行,由撤銷而消亡)靜態的
2)併發性: 多進程實體同存於內存中,在一段時間內同時執行。os的重要的特徵。 沒有建立(PCB)的程序都不能參與併發的執行
3)獨立性: 同上
4)異步性: 

進程的基本狀態:
1.就緒(Ready):已被分配到除了CPU的向所有系統資源,等待CPU
2.執行(Running): 獲得CPU ,
3.阻塞 (Block):發生的事件(I/O請求、申請緩衝區失敗)進程的暫停

PCB 的作用
是一個不能再多道程序環境下運行的程序(數據)成爲一個能夠獨立運行的基本單位,一個能與其他進程併發執行的進程。
1)PCB -進程存在於系統的唯一標識★
2)能實現間斷性運行的方式
3)提供進程管理所需要的信息
4)提供進程調度所需要的信息
5)實現與其他進程同步與通信
   
進程控制塊的組織方式
1)線性方式。。
2)鏈接方式。。
3)索引方式。。建立索引表-(時間複雜度↓,空間複雜度↑)

支撐功能:
1.中斷處理  
2.時鐘管理  產生時間片結束的中斷信號
3.原語操作  --原子操作

資源管理功能:
1)進程管理
2)存儲器管理
3)設備管理

引起創建進程的事件:
1.用戶登錄
2.作業調度
3.提供服務
4.應用請求

進程的終止
引起進程終止的事件
1)正常結束
2)異常結束
3)外界干預

OS終止進程
1)檢索PCB
2)終止執行
3)結束子孫進程
4)歸還資源
5)移出PCB

進程的掛起與激活
活動的—》靜止就緒
阻塞的—》靜止阻塞
激活--原語 active

進程同步
兩種制約關係
1.間接制約 (臨界資源--共享資源的訪問)
2.直接相互制約關係(相互合作)

臨界資源。。進程間採用互斥方式,實現資源共享。

void producer(){
while(1){
produce an item in nextp;
...
while(counter==n)
;
buffer[in] = nextp;
in = (in + 1)% n;
out = (out + 1)%n;
counter--;
consumer the item in nextc;
...
}
};


臨界區
訪問臨界資源的循環進程代碼格式
while (TURE)
{
進入區;
臨界區;
退出區;
剩餘區;
}

同步機制規則:
1.空閒讓進
2.忙則等待
3.有限等待
4.讓權等待





調度機制

高級調度
長程調度/作業調度 :調度對象是---是作業。=
低級調度
進程調度/短程調度 :調度對象是進程(內核級線程) 根據算法決定就緒隊列哪個進程獲得處理機,同時分派程序將處理機分配給選中的程序
中級調度
內存調度 --目的:提高內存利用率,系統吞吐量。 對象:暫時不能運行的進程,調至外存等待。==掛起狀態

處理機調度算法的目標
1.資源利用率
處理機利用率: CPU的利用率 = CPU的有效工作時間/(CPU有效工作時間+CPU空閒等待時間
2.公平性
分配的時間合理
3.平衡性
資源文件的使用平衡
4.策略強制執行

批處理系統的目標
1.平均週轉時間短   
T=1/n[Σ*T
     i=9

平均帶權週轉時間 
W = 1/n求和 Ti/Ts
2.系統的吞吐量高
3.處理機制利用率高


先來先服務  FCFS(first come first served)

短作業優先  SJF (short job first)
算法
缺點:
1.必須預知作業的運行時間
2.對長作業非常不利
3.無人機交互
4.不能使緊迫性作業得到及時處理


優先級調度算法和高響應比優先調度算法
1.優先級調度算法 PSA 
2.高響應比優先調度算法
優先權=等待時間+要求服務時間 /要求服務時間
優先級 Rp= 響應時間 / 要求服務時間時間


進程任務的調度:
1.保存處理機的現場信息。
2.按某種算法選取進程。
3.把處理器分派給進程。


進程調度方式
非搶佔
搶佔
原則:
1.優先權原則
2.短進程優先原則
3.時間片原則

轉輪調度算法:

時間片的概念:
帶權週轉時間--W = T(週轉時間)/R(實際運行時間)

死鎖的定義
如果一組進程中的每一個進程都在等待僅由該組進程中的其他進程才能引發的事件,那麼該組進程是死鎖的(Deadlock)
產生死鎖的必要條件:
1.互斥條件。
2.請求和保持條件
3.不可搶佔條件
4.循環等待條件
處理死鎖的方法
1.預防死鎖
2.避免死鎖
3.檢測死鎖
4.解除死鎖



避免死鎖
銀行家算法

1)設置兩個向量
①工作向量work work: = available
②Finish,表示系統是否有足夠的資源分配給進程,使之運行完成。開始時先finish[i]=false;當有足夠的資源分配給進程時,再令Finish:=ture
2)找到滿足條件的進程
①Finish[i] = false
②Need[i,j]=<Work[j];若能找到,執行步驟3),否則,執行4)
3)Pi獲得資源後,可順利執行,直至完成,並釋放佔有資源
work[j]:=Work[j]+ Allocation[i,j]
Finish[i]:=true;
Go to step 2;
4)若所有進程的Finish[i]=ture都滿足,處於安全狀態,否則,處於不安全狀態



連續分配存儲
1.單一連續分配
2.固定分區分配
3.動態分區分配
4.動態可重定位分區分配


分頁存儲:
地址結構:
P = INT[A/L], d = [A] MOD L


訪問內存的有效時間:
EAT = a * λ + (t + λ)(1-a) +t = 2t+ λ-t*a
















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章