天天看點

作業系統——計算機系統概述

一、計算機系統基本概念

作業系統概念

作業系統(Operating System,OS) 是指控制和管理整個計算機系統的硬體和軟體資源,并合理地組織排程計算機的工作和資源的配置設定,以提供給使用者和其他軟體友善的接口和環境,它是計算機系統中最基本的系統軟體。

作業系統特征

并發

并發 :

指兩個或多個事件在同一時間間隔内發生。這些事件宏觀上是同時發生的,但微觀上是交替發生的

同一時間間隔(并發)和同一時刻(并行)的差別:在多道程式環境下,宏觀上有多道程式在同時執行,而每個時刻,單處理機環境下隻有一道程式在執行。

作業系統的并發性指計算機系統中同時存在着多個運作着的程式,通過分時得以實作。

共享

共享即資源共享,是指系統中的資源可供記憶體中多個并發執行的程序共同使用。

所謂的“同時”往往是宏觀上的,而在微觀上,這些程序可能是交替地對該資源進行通路的(即分時共享)

作業系統——計算機系統概述

虛拟

虛拟是指把一-個實體上的實體變為若千個邏輯上的對應物。實體實體(前者)是實際存在的,而邏輯上對應物(後者)是使用者感受到的。

作業系統——計算機系統概述

異步

異步是指,在多道程式環境下,允許多個程式并發執行,但由于資源有限,程序的執行不是一貫到底的,而是走走停停,以不可預知的速度向前推進,這就是程序的異步性。

作業系統的目标和功能

系統資源管理者

作業系統——計算機系統概述

使用者與計算機硬體之間的接口

作業系統——計算機系統概述

指令接口 :允許使用者直接調用。聯機指令接口(說一句做一句),脫機指令接口(說一堆做一堆)。

程式接口 :通過程式間接調用,由一組系統調用組成(程式接口=系統調用)

用作擴充機器

作業系統——計算機系統概述

二、作業系統的發展和分類

手工操作階段

使用者在計算機上的所有工作都要人工幹預。

缺點:使用者獨占全機,資源使用率低。CPU等待手工操作,利用不充分。

批處理階段

引入脫機輸入/輸出技術(用錄音帶完成),并監督程式負責控制作業的輸入、輸出(作業系統的雛形)。

單道批處理系統

緩解了一定程度的人機速度沖突,資源使用率有所提升。

主要缺點 : 記憶體中僅能有一道程式運作,隻有該程式運作結束之後才能調入下一道程式。CPU有大量的時間是在空閑等待I/O完成。

多道批處理系統

作業系統——計算機系統概述

多道程式并發執行,共享計算機資源。資源使用率大幅提升,CPU和其他資源保持“忙碌”狀态,系統吞吐量增大。

主要缺點 : 使用者響應時間長,沒有人機互動功能(使用者送出自己的作業之後就隻能等待計算機處理完成,中間不能控制自己的作業執行)。

分時作業系統

計算機以時間片為機關輪流為各個使用者/作業服務,各個使用者可通過終端與計算機進行互動。

主要優點 : 使用者請求可以被即時響應,解決了人機互動問題。允許多個使用者同時使用一台計算機。

缺點 : 不能優先處理一些緊 急任務。作業系統對各個使用者/作業都是完全公平的,循環地為每個使用者/作業服務一個時間片,不區分任務的緊急性。

實時作業系統

作業系統——計算機系統概述

其他的作業系統

網絡作業系統

是伴随着計算機網絡的發展而誕生的,能把網絡中各個計算機有機地結合起來,實作資料傳送等功能,實作網絡中各種資源的共享( 如檔案共享)和各台計算機之間的通信。

分布式作業系統

主要特點是分布性和并行性。系統中的各台計算機地位相同,任何工作都可以分布在這些計算機上,由它們并行、協同完成這個任務。

個人計算機作業系統

如Windows 、MacOS。

三、作業系統運作環境

機制

兩種指令

簡單來說,“指令” 就是處理器(CPU)能識别、執行的最基本指令。

指令分為兩種:

特權指令

,如記憶體清理指令和

非特權指令

,如加減法指令。前者不允許使用者程式使用。

計算機指令和我們寫的代碼差別 :一條進階語言的代碼翻譯過來可能會對應多條指令

兩種處理器狀态

作業系統——計算機系統概述

兩種程式

作業系統——計算機系統概述

作業系統核心

核心就是計算機上配置的底層軟體,是作業系統最基本最核心的内容。實作核心功能的程式就是核心程式。

作業系統——計算機系統概述

時鐘管理

第一功能計時,需要通過時間管理,向使用者提供标準的系統時間。通過時鐘中斷的管理,可以實作程序的切換。

例如 : 在分時作業系統使用時間片輪轉排程,在批處理系統通過時鐘管理衡量一個作業的運作程度。

中斷機制

提高多道程式運作環境中CPU的使用率。中斷機制中一小部分功能屬于核心,它們負責保護和恢複中斷現場的資訊,轉移控制權到相關程式。

原語

是底層可被調用的公有小程式。

  • 處于最底層,最接近硬體的部分
  • 程式運作具有原子性
  • 運作時間較短,且較為頻繁

定義原語的直接方法就是關閉中斷,讓其所有動作不可分割的完成後在打開中斷

系統控制的資料結構及處理

系統用來登記狀态資訊的資料結構很多,如作業控制塊,程序控制塊,各類連結清單,消息隊列等。常見操作有以下三種 :

  • 程序管理 : 程序的狀态管理,排程,分派,建立和撤銷程序控制塊
  • 存儲器管理 : 存儲器的空間配置設定回收,記憶體資訊的保護程式
  • 裝置管理 : 緩沖區管理,裝置的配置設定和回收等。

中斷和異常的概念

作業系統——計算機系統概述
  • 當中斷發生時,CPU立即進入核心态
  • 當中斷發生後,目前運作的程序暫停運作,并由作業系統核心對中斷進行處理
  • 對于不同的中斷信号,會進行不同的處理

發生中斷意味着,需要作業系統介入,開展管理作用。

使用者态→核心态,唯一途徑是 中斷,核心态→使用者态的切換是通過執行一個特權指令。将程式狀态字(PSW)的标志位設定為使用者态

由于作業系統的管理工作(比如程序切換、配置設定I/O裝置等)需要使用特權指令,是以CPU要從使用者态轉為核心态。中斷可以使CPU從使用者态切換為核心态,使作業系統獲得計算機的控制權。有了中斷,才能實作多道程式并發執行。

注意 : 對于異常的處理無法被屏蔽,要依賴于目前程式的運作現場。

外中斷的處理過程

作業系統——計算機系統概述
  1. 關中斷

CPU響應中斷後,首先要保護現場,不能響應更進階的中斷請求

  1. 儲存斷點

将程式斷點,即程式計數器PC儲存起來

  1. 引出中斷服務程式

實質是取出中斷服務程式的入口位址送入程式計數器PC

  1. 儲存現場和屏蔽字

進入程式中斷服務後,首先要儲存現場,一般指程式狀态字寄存器PSWR和某些通用寄存器的内容

  1. 開中斷

允許更進階的中斷請求得到響應

  1. 執行中斷服務程式

就是程式中斷的目的

  1. 關中斷

保證在恢複現場和屏蔽字時不被中斷

  1. 恢複現場和屏蔽字

将現場和屏蔽字恢複到原來狀态

  1. 開中斷,中斷傳回

中斷傳回指令,傳回到原程式的斷點處,以便繼續執行

系統調用

系統調用就是使用者在程式中調用作業系統提供的一些子功能。

系統中的各種共享資源都由作業系統統一掌管, 是以在使用者程式中,凡是與資源有關的操作(如存儲配置設定、I/0操作、 檔案管理等),都必須通過系統調用的方式向作業系統提出服務請求,由作業系統代為完成。這樣可以保證系統的穩定性和安全性

作業系統——計算機系統概述

傳遞系統調用參數→執行陷入指令(使用者态)→執行系統調用相應服務程式(核心态)→傳回使用者程式

作業系統——計算機系統概述
注意:陷入指令是在使用者态執行的,執行陷入指令之後立即引發一個内中斷。發出系統調用請求是在使用者态,而對系統調用的相應處理在核心态下進行。陷入指令是唯一個隻能在使用者态執行,而不可在核心态執行的指令。
作業系統——計算機系統概述

四、 作業系統的體系結構

作業系統——計算機系統概述

繼續閱讀