一、計算機系統基本概念
作業系統概念
作業系統(Operating System,OS) 是指控制和管理整個計算機系統的硬體和軟體資源,并合理地組織排程計算機的工作和資源的配置設定,以提供給使用者和其他軟體友善的接口和環境,它是計算機系統中最基本的系統軟體。
作業系統特征
并發
并發 :
指兩個或多個事件在同一時間間隔内發生。這些事件宏觀上是同時發生的,但微觀上是交替發生的
同一時間間隔(并發)和同一時刻(并行)的差別:在多道程式環境下,宏觀上有多道程式在同時執行,而每個時刻,單處理機環境下隻有一道程式在執行。
作業系統的并發性指計算機系統中同時存在着多個運作着的程式,通過分時得以實作。
共享
共享即資源共享,是指系統中的資源可供記憶體中多個并發執行的程序共同使用。
所謂的“同時”往往是宏觀上的,而在微觀上,這些程序可能是交替地對該資源進行通路的(即分時共享)
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPR1EMNRlT3lFVOBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxEDO3QDMyETM4ETMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
虛拟
虛拟是指把一-個實體上的實體變為若千個邏輯上的對應物。實體實體(前者)是實際存在的,而邏輯上對應物(後者)是使用者感受到的。
異步
異步是指,在多道程式環境下,允許多個程式并發執行,但由于資源有限,程序的執行不是一貫到底的,而是走走停停,以不可預知的速度向前推進,這就是程序的異步性。
作業系統的目标和功能
系統資源管理者
使用者與計算機硬體之間的接口
指令接口 :允許使用者直接調用。聯機指令接口(說一句做一句),脫機指令接口(說一堆做一堆)。
程式接口 :通過程式間接調用,由一組系統調用組成(程式接口=系統調用)
用作擴充機器
二、作業系統的發展和分類
手工操作階段
使用者在計算機上的所有工作都要人工幹預。
缺點:使用者獨占全機,資源使用率低。CPU等待手工操作,利用不充分。
批處理階段
引入脫機輸入/輸出技術(用錄音帶完成),并監督程式負責控制作業的輸入、輸出(作業系統的雛形)。
單道批處理系統
緩解了一定程度的人機速度沖突,資源使用率有所提升。
主要缺點 : 記憶體中僅能有一道程式運作,隻有該程式運作結束之後才能調入下一道程式。CPU有大量的時間是在空閑等待I/O完成。
多道批處理系統
多道程式并發執行,共享計算機資源。資源使用率大幅提升,CPU和其他資源保持“忙碌”狀态,系統吞吐量增大。
主要缺點 : 使用者響應時間長,沒有人機互動功能(使用者送出自己的作業之後就隻能等待計算機處理完成,中間不能控制自己的作業執行)。
分時作業系統
計算機以時間片為機關輪流為各個使用者/作業服務,各個使用者可通過終端與計算機進行互動。
主要優點 : 使用者請求可以被即時響應,解決了人機互動問題。允許多個使用者同時使用一台計算機。
缺點 : 不能優先處理一些緊 急任務。作業系統對各個使用者/作業都是完全公平的,循環地為每個使用者/作業服務一個時間片,不區分任務的緊急性。
實時作業系統
其他的作業系統
網絡作業系統
是伴随着計算機網絡的發展而誕生的,能把網絡中各個計算機有機地結合起來,實作資料傳送等功能,實作網絡中各種資源的共享( 如檔案共享)和各台計算機之間的通信。
分布式作業系統
主要特點是分布性和并行性。系統中的各台計算機地位相同,任何工作都可以分布在這些計算機上,由它們并行、協同完成這個任務。
個人計算機作業系統
如Windows 、MacOS。
三、作業系統運作環境
機制
兩種指令
簡單來說,“指令” 就是處理器(CPU)能識别、執行的最基本指令。
指令分為兩種:
特權指令
,如記憶體清理指令和
非特權指令
,如加減法指令。前者不允許使用者程式使用。
計算機指令和我們寫的代碼差別 :一條進階語言的代碼翻譯過來可能會對應多條指令
兩種處理器狀态
兩種程式
作業系統核心
核心就是計算機上配置的底層軟體,是作業系統最基本最核心的内容。實作核心功能的程式就是核心程式。
時鐘管理
第一功能計時,需要通過時間管理,向使用者提供标準的系統時間。通過時鐘中斷的管理,可以實作程序的切換。
例如 : 在分時作業系統使用時間片輪轉排程,在批處理系統通過時鐘管理衡量一個作業的運作程度。
中斷機制
提高多道程式運作環境中CPU的使用率。中斷機制中一小部分功能屬于核心,它們負責保護和恢複中斷現場的資訊,轉移控制權到相關程式。
原語
是底層可被調用的公有小程式。
- 處于最底層,最接近硬體的部分
- 程式運作具有原子性
- 運作時間較短,且較為頻繁
定義原語的直接方法就是關閉中斷,讓其所有動作不可分割的完成後在打開中斷
系統控制的資料結構及處理
系統用來登記狀态資訊的資料結構很多,如作業控制塊,程序控制塊,各類連結清單,消息隊列等。常見操作有以下三種 :
- 程序管理 : 程序的狀态管理,排程,分派,建立和撤銷程序控制塊
- 存儲器管理 : 存儲器的空間配置設定回收,記憶體資訊的保護程式
- 裝置管理 : 緩沖區管理,裝置的配置設定和回收等。
中斷和異常的概念
- 當中斷發生時,CPU立即進入核心态
- 當中斷發生後,目前運作的程序暫停運作,并由作業系統核心對中斷進行處理
- 對于不同的中斷信号,會進行不同的處理
發生中斷意味着,需要作業系統介入,開展管理作用。
使用者态→核心态,唯一途徑是 中斷,核心态→使用者态的切換是通過執行一個特權指令。将程式狀态字(PSW)的标志位設定為使用者态
由于作業系統的管理工作(比如程序切換、配置設定I/O裝置等)需要使用特權指令,是以CPU要從使用者态轉為核心态。中斷可以使CPU從使用者态切換為核心态,使作業系統獲得計算機的控制權。有了中斷,才能實作多道程式并發執行。
注意 : 對于異常的處理無法被屏蔽,要依賴于目前程式的運作現場。
外中斷的處理過程
- 關中斷
CPU響應中斷後,首先要保護現場,不能響應更進階的中斷請求
- 儲存斷點
将程式斷點,即程式計數器PC儲存起來
- 引出中斷服務程式
實質是取出中斷服務程式的入口位址送入程式計數器PC
- 儲存現場和屏蔽字
進入程式中斷服務後,首先要儲存現場,一般指程式狀态字寄存器PSWR和某些通用寄存器的内容
- 開中斷
允許更進階的中斷請求得到響應
- 執行中斷服務程式
就是程式中斷的目的
- 關中斷
保證在恢複現場和屏蔽字時不被中斷
- 恢複現場和屏蔽字
将現場和屏蔽字恢複到原來狀态
- 開中斷,中斷傳回
中斷傳回指令,傳回到原程式的斷點處,以便繼續執行
系統調用
系統調用就是使用者在程式中調用作業系統提供的一些子功能。
系統中的各種共享資源都由作業系統統一掌管, 是以在使用者程式中,凡是與資源有關的操作(如存儲配置設定、I/0操作、 檔案管理等),都必須通過系統調用的方式向作業系統提出服務請求,由作業系統代為完成。這樣可以保證系統的穩定性和安全性
傳遞系統調用參數→執行陷入指令(使用者态)→執行系統調用相應服務程式(核心态)→傳回使用者程式
注意:陷入指令是在使用者态執行的,執行陷入指令之後立即引發一個内中斷。發出系統調用請求是在使用者态,而對系統調用的相應處理在核心态下進行。陷入指令是唯一個隻能在使用者态執行,而不可在核心态執行的指令。