01 作業系統概述

2021-08-08 05:11:59 字數 2959 閱讀 6269

概念:作業系統(operating system, os)是指控制和管理整個計算機系統的硬體和軟體資源,並合理地組織排程計算機的工作和資源的分配,以提供給使用者和其他軟體方便的介面和環境的程式集合。

基本特徵:併發、共享、虛擬、非同步

[注意]

併發是指兩個或多個事件在同一時間間隔內發生。作業系統的併發性是指計算機系統中同時存在多個執行著的程式,因此它具有處理和排程多個程式同時執行的能力。在作業系統中,引入程序的目的是使程式能併發執行。橾作系統的併發性是通過分時得以實現的。

並行性是指系統具有可以同時進行運算或操作的特性,在同一時刻完成兩種或兩種以上的工作。並行性需要有相關硬體的支援,如多流水線或多處理機硬體環境。

共享方式:互斥共享方式、同時共享方式

虛擬技術:時分復用技術,如處理器的分時共享;空分復用技術,如虛擬儲存器

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

[注意]非同步性使得作業系統執行在一種隨機的環境下,可能導致程序產生與時間有關的錯誤 (就像對全域性變數的訪問順序不當會導致程式出錯一樣)。但是只要執行環境相同,作業系統必須保證多次執行程序,都獲得相同的結果

作業系統的目標和功能

目標:方便性、有效性(一層含義:提高系統資源的利用率;二層含義:提高系統的吞吐量)、可擴充套件性、開放性。 

功能:處理機管理、 儲存器管理、裝置管理和檔案管理。為了方便使用者使用作業系統,還必須向使用者提供介面。同時作業系統可用來擴充機器,以提供更方便的服務、更高的資源利用率。

核心內容:時鐘管理、中斷機制、原語、系統控制的資料結構及處理

原語:系統中的裝置驅動、cpu切換、程序通訊等功能中的部分操作都可以定義為原語,使它們成為核心的組成部分

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

系統中用來登記狀態資訊的資料結構很多,比如作業控制塊、程序控制塊(pcb)、裝置控制塊、各類鍊錶、訊息佇列、緩衝區、空閒區登記表、記憶體分配表等。為了實現有效的管理,系統需要一些基本的操作,常見的操作有以下三種:

①程序管理:程序狀態管理、程序排程和分派、建立與撤銷程序控制塊等。

②儲存器管理:儲存器的空間分配和**、記憶體資訊保護程式、**對換程式等。

③裝置管理:緩衝區管理、裝置分配和**等。

中斷(外中斷)與異常(內中斷):

中斷(interruption),也稱外中斷,指來自cpu執行指令以外的事件的發生,如裝置發出的i/o結束中斷,表示裝置輸入/輸出處理已經完成,希望處理機能夠向裝置發下乙個輸入 / 輸出請求,同時讓完成輸入/輸出後的程式繼續執行。時鐘中斷,表示乙個固定的時間片已到,讓處理機處理計時、啟動定時執行的任務等。這一類中斷通常是與當前程式執行無關的事件,即它們與當前處理機執行的程式無關。

異常(exception),也稱內中斷、例外或陷入(trap),指源自cpu執行指令內部的事件,如程式的非法操作碼、 位址越界、算術溢位、虛存系統的缺頁以及專門的陷入指令等引起的事件。對異常的處理一般要依賴於當前程式的執行現場,而且異常不能被遮蔽,一旦出現應立即處理。

系統呼叫:按功能分類:

疑難點:

並行性與併發性的區別和聯絡:

並行性和併發性是既相似又有區別的兩個概念。並行性是指兩個或多個事件在同一時刻發生。併發性是指兩個或多個事件在同一時間間隔內發生。

在多道程式環境下,併發性是指在一段時間內,巨集觀上有多個程式在同時執行,但在單處理器系統中每一時刻卻僅能有一道程式執行,故微觀上這些程式只能是分時地交替執行。倘若在計算機系統中有多個處理器,則這些可以併發執行的程式便被分配到多個處理器上,實現並行執行,即利用每個處理器來處理乙個可併發執行的程式。

特權指令與非特權指令

所謂特權指令是指有特殊許可權的指令,由於這類指令的許可權最大,如果使用不當,將導致整個系統崩潰。比如:清記憶體、置時鐘、分配系統資源、修改虛存的段表或頁表、修改使用者的訪問許可權等。如果所有的程式都能使用這些指令,那麼你的系統一天宕機《回就不足為奇了。為了保證系統安全,這類指令只能用於作業系統或其他系統軟體,不直接提供給使用者使用。因此,特權指令必須在核心態執行。實際上,cpu在核心態下可以執行指令系統的全集。形象地說,特權指令就是那些兒童不宜的東西,而非特權指令則是老少皆宜。

為了防止使用者程式中使用特權指令,使用者態下只能使用非特權指令,核心態下可以使用全部指令。當在使用者態下使用特權指令時,將產生中斷以阻止使用者使用特權指令。所以把使用者程式放在使用者態下執行,而作業系統中必須使用特權指令的那部分程式在核心態下執行,保證了計算機系統的安全可靠。從使用者態轉換為核心態的唯一途徑是中斷或異常。

訪管指令與訪管中斷

訪管指令是一條可以在使用者態下執行的指令。在使用者程式中,因要求作業系統提供服務而有意識地使用訪管指令,從而產生乙個中斷事件(自願中斷),將作業系統轉換為核心態,稱為訪管中斷。訪管中斷由訪管指令產生,程式設計師使用訪管指令向作業系統請求服務。

為什麼要在程式中引入訪管指令呢?這是因為使用者程式只能在使用者態下執行,如果使用者程式想要完成在使用者態下無法完成的工作,該怎麼辦?解決這個問題要靠訪管指令。訪管指令本身不是特權指令,其基本功能是讓程式擁有「自願進管」的手段,從而引起訪管中斷。

當處於使用者態的使用者程式使用訪管指令時,系統根據訪管指令的運算元執行訪管中斷處理程式,訪管中斷處理程式將按系統呼叫的運算元和引數轉到相應的例行子程式。完成服務功能後,退出中斷,返回到使用者程式斷點繼續執行。

作業系統基礎 01 概述

1.作業系統是乙個控制程式 2.作業系統是乙個資源管理器 計算機系統中同時存在多個執行的程式。併發 vs 並行 併發是指一段時間內,同時允許多個程式執行 並行是指乙個時間點上,同時允許多個程式執行。需要多核心才可以。表面上我們可以同時訪問記憶體 io,但其實在計算機內部,這會變成互斥互相訪問以及分時...

作業系統概述

作業系統幾大管理 1 cpu管理 cpu是作業系統中最重要的部分之一。cpu管理又稱程序管理,即是如何將cpu真正地分配給每個任務。我們無法直接操控硬體,只能通過程式來控制硬體。程序排程有以下幾種主要的排程方法 a fifo b 時間片輪轉排程 c 短程序優先 類似1970年一篇 中得比率單調演算法...

作業系統概述

一.現代計算機系統由硬體和軟體兩部分組成.1.硬體包括處理器,暫存器,記憶體,外存及各種i o裝置.2.軟體包括系統軟體,支撐軟體和應用軟體.2.1系統軟體 作業系統 最接近硬體的一層,把硬體封裝起來,負責管理和控制計算機硬體並對其做首次擴充和改造 2.2支撐軟體層 建立在作業系統的封裝上,利用作業...