【2】處理器管理
2.1.1程式的順序執行
程式執行的先後是順序的,也就是
輸入資料-->處理資料
-->
列印處理結果
--輸入資料
...
2.1.2程式的並行執行
現代計算機都具有處理器與外圍裝置的並行能力
我們把程式的執行分成三個可獨立執行的程式模組:輸入程式,處理程式
列印程式
2.1.3 多道程式設計
多個計算同時進入乙個計算機的主儲存器並行政性,這種程式設計方法稱為多道程式設計。這樣的作業系統稱為多道程式設計系統。
對具有處理器於外圍裝置並行工作能的計算機採用多道程式設計,能充分發揮處理器的使用效率,增加單位時間內計算量
2.2程序的概念
2.2.1 程序 把乙個程式在乙個資料集上的一次執行稱之為程序 程式是靜止的 程序是動態的
2.2.2 為什麼要引入程序,(程序的作用)
1提高資源利用率
2正確描述程式的執**況
2.2.3程序的屬性
1程序是動態的,它包含了資料和執行在資料集上的程式
2多個程序可以有相同的程式
3多個程序可以併發執行 乙個程序已經開始工作,但是還沒有結束之前,另乙個程序也可以開始工作,把這些程序
稱之為同時執行的程序,或稱為程序的併發執行
4 程序有三種基本狀態,執行態 等待態 就緒態
因為若干程序是輪流在cpu上面執執行的,為了方便程序的輪轉我們把程序分成三種基本定義
1> 等待態 等待某一事件
2>就緒態 等待系統分配處理器以便執行
3>執行態 正在占用處理器執行
而程序是可以在這些狀態中相互轉換的
1>執行態
->
等待態[1
啟動外圍裝置,等待外圍裝置傳輸結束
][2程序在執行中申請資源得不到滿足
--變成等待分配資源狀態
][3] 程式執行出現故障,變成排除干預狀態
2>等待態
->
就緒態[1
外圍裝置工作結束 使等待外圍裝置傳輸者結束等待
][2申請資源得到滿足
][3
程式故障排除後等待排除干預狀態
]乙個程序等待結束
必須先轉換中等待態
當分配到處理器的時候
才能執行
3>執行態
->
就緒態[1]
分配給程序占用處理的時間用完,而讓出處理器
[2 有優先順序更高的程序要執行
]4>就緒態
->
執行態[1
有多個程序等待分配處理器的時候,系統按照一種規則的策略從多個處於就緒狀態的程序中選擇乙個程序 讓它占有
處理器]
通過上面四個基本屬性我們歸納程序的的四個特點 1動態性
- 程序狀態一直變化
2 併發性 程序是可以同時執行的,輪流占用處理器交替
執行,3非同步性 程序的執行速度取決於自身與外界的原因以及程序的排程策略,因此以不可預支的速度向前推進
2.3 程序的控制塊
為了能區別各個不同的程序,記錄各個程序執行時的情況,對每個程序都設有乙個
程序控制塊 pcb
程序控制塊就是對程序進行管理和排程的資訊集合
1標識資訊
-程序名
2說明資訊 程序狀態 等待原因 程序程式存放位置 程序資料存放位置
3現場資訊 通用暫存器內容 控制暫存器內容 程式狀態字暫存器內容
4管理資訊 程序優先數 佇列指標
乙個程序執行中,為了請求某種服務,可以要求建立其他程序,而作業系統往往設計一些能完成特定功能且不可中斷的過程,這些不可以中斷的過程稱之為原語,用於控制程序的原語有
1 建立原語,為乙個程序分配乙個工作區 和建立乙個程序控制塊並置程序為就緒狀態
2 撤銷原語 乙個程序完成工作後 **它的工作區和程序控制塊
3阻塞原語 程式執行過程中發生等待事件 把程序狀態改為就緒態
4 喚醒原語 當程序等待的事件發生時,把程序的狀態改為就緒態
2.4 程序佇列
乙個建立的程序有時候不能立刻得到處理器的執行,這個時候它的狀態就是就緒態,在單處理器的情況下,一次同時只能執行乙個程序
有--在多道程式設定系統中,往往會建立多個程序,這些被建立的若干就程序可以按照一定次序排成佇列 稱為就緒佇列
乙個程序從鎖在的隊伍中退出叫出隊,乙個程序排入到乙個指定的佇列中稱之為入隊
系統中負責程序入隊和出隊的工作稱之為
佇列管理.
2.5 中斷
2.5.1中斷
由於某些事情的出現,中止現行程序的執行,而由於作業系統去處理出現的事件,待適當的時候讓被中止的程序繼續執行
這過程稱之為中斷,引起中斷的事件稱之為中斷源
對出現的事件進行處理的程式稱之為中斷處理程式
2.5.2 中斷型別
1 硬體故障中斷 2 程式出錯
3外部中斷4輸入
/輸出中斷
5訪管中斷
前四種都不是程序所期待的,而且是由於外界的原因導致正在執行的程式被打斷,因此成為強迫性中斷事件
第五種是程序所期待的
表示當前程式對作業系統由某種需求
成為自願性中斷事件
在小型機和微機計算機中稱之為系統呼叫
2.5.3 中斷響應
通常在處理器執行完一條指令後,硬體的中斷裝置立即檢查有無槍不行中斷事件發生,無論發生那類中斷事件,都由硬體的中斷裝置暫停現行 程序的執行,而讓作業系統的中斷處理程式占用處理器
這一過程就是中斷響應
我們知道每個程式都有乙個psw來刻畫本程式的執行狀態。在單處理器的計算器中 整個系統總是設定乙個用來存放當前執行程序的
psw的寄
存器 --》程式狀態字暫存器
2.5.4 中斷處理
中斷處理程式對中斷事件的處理分為兩步
第一步保護被中斷程序的現場資訊
第二步根據舊psw中指示的中斷事件進行具體處理
中斷響應的三項工作為檢查是否有中斷事件發生,保護斷點等資訊和啟動作業系統的中斷處理程式
2.6處理器排程
2.6.1處理器的兩級排程
輸入井 --在作業系統中吧磁碟上面用來存放作業資訊的專用區稱之為輸入井
後備作業
在輸入井中等待處理的作業稱為後備作業
作業排程
從輸入井中選取後備作業裝入主儲存器的工作
程序排程
按照一定的規則從就緒態選取乙個程序,讓它占用cpu 這項從就緒程序中選取乙個程序,讓他占用
cpu的工作稱之程序排程
2.6.2 作業排程演算法 作業排程演算法規定了從後備作業中選擇作業進入主儲存器執行_的原則。
設計排程演算法的原則
1 公平性
用使用者公平
不能無故或無限拖延乙個作業的執行
2 平很資源使用
盡可能使系統資源都處於忙碌
3 極大的流量
在單位時間內盡可能的作業服務
保證計算機系統的吞吐能力
1 先來先服務演算法
按照輸入井的先後次序來挑選作業,先進入的作業優先被挑選
但是不一定先進入的作業一定先選中
要看是否滿足必要條件
如果排隊到乙個程序
當前條件不滿足
而滿足後面的程序
會優先執行後面的程序。這種演算法的缺點系統吞吐能力降低
特點:利於長作業
不利於短作業
簡單易實現
效率低只顧等待時間不顧執行時間
屬於非剝奪式排程
重點:周轉時間=結束時間點減去裝入輸入井的時間
2計算時間短的作業優先演算法
先對自己的作業需要計算的時間預先做乙個估計,作業排程時依據輸入井中的作業提出的計算時間為標準,優先讓計算時間短的作業
優先演算法特點屬於非剝奪式排程降低平均等待時間
提高系統吞吐量
對長作業不利
3響應比高者優先演算法
響應比 = 等待時間
/計算時間 屬於非剝奪式排程
r = 系統響應時間
/作業要求執行時間
= 作業等待時間
+作業要求時間
/作業要求時間
4優先順序排程演算法:分為非搶占式:被呼叫程序一直執行 直到結束或等待事件發生才主動放棄
cpu
搶占式:執行中的程序將cpu的使用權優先讓給優先權高的
5時間片輪轉排程演算法 :程序在規定的時間內沒有結束 系統將產生乙個中斷 屬於剝奪式演算法
6最短剩餘時間優先演算法:短程序優先排程演算法改造得到的剝奪式演算法
實時排程
:任務的空間時間 = 任務的截止時間
- 任務剩餘執行時間
-當前時間
2.7 執行緒
2.7.1什麼是執行緒
在現在作業系統中,把使用者的乙個計算問題或者乙個應用問題作為乙個程序,那麼把程序中可以併發執行的各個部分分別作為執行緒
2.7.2 為什麼引入程序
採用多執行緒技術有明顯的優越性
1 減少了程序也就是節省了分配程序控制塊和工作區的開銷 2> 建立執行緒需要為執行緒建立一張執行緒描述表 記錄執行緒的活動情況,但是不分配資源所以速度快
3>
執行緒之間的資訊傳遞在統一主存上進行,速度快
4>i
執行緒能獨立執行 能充分利用和發揮處理器和外圍裝置的並行能力
2.7.3 執行緒的屬性
執行緒有以下屬性
1>同一程序中的各個執行緒駐留在分配給程序的主存位址空間中,且共享該程序的所有資源
2>乙個執行緒被建立後便開始它是生命週期,直到執行結束,執行緒在生命週期內會經歷 等待態 就緒態 和執行態等各種狀態變化
3>執行緒是處理器的獨立排程單位, 多個執行緒可以併發執行
4>不同的執行緒可以執行相同的程式
執行緒和程序的根本區別
程序作為資源分配單位,而執行緒是排程和執行的單位
每乙個程序都有自己的主存空間
但是同乙個程序中的各個執行緒共享該程序的主存空間,程序中的所有執行緒對程序的整個主存空間都有儲存許可權。
作業系統概論
作業系統 operation system,縮寫為os 是管理計算機系統資源 控制程式執行 改善人機介面和應用軟體提供支援的一種系統軟體。定義 把乙個程式在乙個資料集上的一次執行稱為乙個程序 process 程序是動態的。在現代作業系統中,把使用者的乙個計算問題或乙個應用問題作為乙個程序,把該程序中...
作業系統概論
作業系統的三個基本型別是 批處理作業系統 分時作業系統和實時作業系統。批處理作業系統的主要缺點是 缺少互動性允許多個使用者以互動方式使用計算機的作業系統稱為 允許多個使用者將多個作業提交給計算機集中處理的作業系統稱為 計算機系統能及時處理過程 控制資料並做出響應的作業系統稱為 分時作業系統 批處理作...
作業系統概論
計算機系統是能夠按照人的要求接收和儲存資訊,能對資訊進行處理並提供所需結果,其結果 輸出資訊 取決於所接受的資訊 輸入資訊 及相應的處理方法。1.學習過程 原先在學習計算機四級的開始中,邊學習過一部分相關的作業系統的知識,這次也算是一步簡單的複習吧。在本次學習過程中,了解了先前沒有看過的細節的知識部...