作業系統(operating system,os) 是指控制和管理整個計算機系統的硬體和軟體資源,並合理地組織排程計算機的工作和資源的分配,以提供給使用者和其他軟體方便的介面和環境,它是計算機系統中最基本的系統軟體。
作業系統的作用
程式介面:允許使用者通過程式間接使用
gui:現代作業系統中最流行的圖形使用者介面
作為系統資源的管理者
實現了對計算機資源的抽象
併發:指兩個或多個事件在同一時間間隔內發生。這些事件巨集觀上是同時發生的,但微觀上是交替發生的。
常考易混概念——並行:指兩個或多個事件在同一時刻同時發生。
共享:即資源共享,是指系統中的資源可供記憶體中多個併發執行的程序共同使用。
所謂的「同時」往往是巨集觀上的,而在微觀上,這些程序可能是交替地對該資源進行訪問的(即分時共享)
併發與共享的關係
併發性指計算機系統中同時存在著多個執行著的程式。
共享性是指系統中的資源可供記憶體中多個併發執行的程序共同使用。
所以併發和共享是互為存在條件的。
虛擬是指把乙個物理上的實體變為若干個邏輯上的對應物。物理實體( 前者)是實際存在的,而邏輯上對應物(後者)是使用者感受到的。
非同步是指,在多道程式環境下,允許多個程式併發執行,但由於資源有限,程序的執行不是一貫到底的,而是走走停停,以不可預知的速度向前推進,這就是程序的非同步性。
發展階段
1.手工操作階段:
2.單道批處理系統
3.多道批處理系統
4.分時作業系統
計算機以時間片為單位輪流為各個使用者/作業服務,各個使用者可通過終端與計算機進行互動。
5.實時作業系統
6.其他幾種作業系統(了解)
網路作業系統:是伴隨著計算機網路的發展而誕生的,能把網路中各個計算機有機地結合起來,實現資料傳送等功能,實現網路中各種資源的共享(如檔案共享)和各台計算機之間的通訊。( 如: windows nt 就是一種典型的網路作業系統,**伺服器就可以使用)
分布式作業系統:主要特點是分布性和並行性。系統中的各台計算機地位相同,任何工作都可以分布在這些計算機上,由它們並行、協同完成這個任務。
指令:簡單來說,「指令」 就是處理器(cpu) 能識別、執行的最基本命令。比如:加法指令就是讓 cpu 進行加法運算。
問題:cpu 如何判斷當前是否可以執行特權指令?
兩種處理器狀態
作業系統的層次結構
作業系統的體系結構
分為大核心和微核心
模擬:作業系統的體系結構問題與企業的管理問題很相似。
1.當中斷發生時,cpu 立即進入核心態
2.當中斷發生後,當前執行的程序暫停執行,並由作業系統核心對中斷進行處理
3.對於不同的中斷訊號,會進行不同的處理
發生了中斷,就意味著需要作業系統介入,開展管理工作。由於作業系統的管理工作(比如程序切換、分配 i/o 裝置等)需要使用特權指令,因此 cpu 要從使用者態轉為核心態。中斷可以使 cpu 從使用者態切換為核心態,使作業系統獲得計算機的控制權。有了中斷,才能實現多道程式併發執行。
問題:使用者態、核心態之間的切換是怎麼實現的?
答:「使用者態——> 核心態」是通過中斷實現的。並且中斷是唯一途徑。
「核心態——> 使用者態」的切換是通過執行乙個特權指令,將程式狀態字(psw)的標誌位設定為「使用者態」。
中斷的分類
外中斷的處理過程
作業系統作為使用者和計算機硬體之間的介面,需要向上提供- - 些簡單易用的服務。主要包括命令介面和程式介面。其中,程式介面由一組系統呼叫組成。
「系統呼叫」是作業系統提供給應用程式(程式設計師/程式設計人員)使用的介面,可以理解為一種可**用程式呼叫的特殊函式,應用程式可以發出系統呼叫請求來獲得作業系統的服務。
比如:印表機的使用。作業系統提供「系統呼叫」功能,使用者程序想要使用印表機這種共享資源,只能通過系統呼叫向作業系統發出請求。作業系統會對各個請求進行協調管理。
應用程式通過系統呼叫請求作業系統的服務。系統中的各種共享資源都由作業系統統一掌管,因此在使用者程式中,凡是與資源有關的操作( 如儲存分配、i/o 操作、檔案管理等),都必須通過系統呼叫的方式向作業系統提出服務請求,由作業系統代為完成。這樣可以保證系統的穩定性和安全性,防止使用者進行非法操作。
普通應用程式
可直接進行系統呼叫,也可使用庫函式。有的庫函式涉及系統呼叫,有的不涉及
程式語言
向上提供庫函式。有時會將系統呼叫封裝成庫函式,以隱藏系統呼叫的一些細節,使上層進行系統呼叫更加方便。
作業系統
向上提供系統呼叫
裸機不涉及系統呼叫的庫函式:如「取絕對值"的函式。
涉及系統呼叫的庫函式:如「建立一乙個新檔案」的函式。
傳遞系統呼叫引數 →執行陷入指令(使用者態)→執行系統呼叫相應服務程式(核心態)→返回使用者程式注意:
陷入指令是在使用者態執行的,執行陷入指令之後立即引發-乙個內中斷,從而 cpu 進入核心態
作業系統(作業系統引論)
方便性 方便使用者進行操作計算機 有效性提高系統資源的利用率 提高系統的吞吐量,加速程式的執行 可擴充性 方便地增添新的模組和功能,以及對原有的功能模組進行修改 開放性能夠遵循世界標準規範 os作為使用者和計算機硬體系統之間的介面 使用者能夠通過作業系統來使用計算機系統 os作為計算機資源的管理者 ...
1 作業系統引論
本節目錄 作業系統的作用 作為使用者與計算機硬體系統之間的介面 作為計算機系統資源的管理者 os實現了對計算機資源的抽象 作業系統的目標 方便性 使用者的觀點 有效性 系統管理人員的觀點 提高系統吞吐量 可擴充性 開放的觀點 便於增加新的功能和模組 開放性 系統能支援世界標準規範 作業系統的發展動力...
計算機作業系統 作業系統概述
最近在學習計算機作業系統,記錄一些筆記在部落格上,以供再次學習 1.計算機硬體 軟體資源的管理者 2.使用者使用計算機硬體 軟體的介面 提高計算機資源利用率和系統效能 方便使用者,人機互動 物理器件發展 cpu的位寬度 快速外存 光器件等,以及計算機體系結構的不斷發展。1.多個使用者分時 單個使用者...