操作系統-1

操作系統

課程鏈接

一、操作系統的概念、功能以及目標

1、概念

計算機系統的層次結構:
在這裏插入圖片描述操作系統指的是控制和管理整個計算機系統的硬件和軟件資源,併合理的組織和調度計算機的工作和資源的分配,以提供給用戶和其他軟件方便的接口和環境,它是計算機系統中最基本的系統軟件。

2、操作系統的功能(4個)和目標

在這裏插入圖片描述

  • 1、操作系統作爲系統資源的管理者(這些資源包括軟件、硬件、文件等),需要什麼功能?
    在這裏插入圖片描述
  • 2、操作系統作爲用戶與計算機硬件之間的接口,要爲其上層的用戶、應用程序提供簡單易用的服務,需要實現什麼功能?
    命令接口:允許用戶直接使用
    程序接口:允許用戶通過程序間接使用,比如使用.dll動態鏈接庫
    GUI:現代操作系統中最流行的圖形用戶接口

在這裏插入圖片描述
在這裏插入圖片描述聯機和脫機可以理解成直接使用terminal和使用.sh

  • 3、操作系統作爲最接近硬件的層次,需要在純硬件的基礎上實現什麼功能?
    在裸機上安裝操作系統可以提供資源管理的功能和方便用戶的服務功能,將裸機改造成更強、使用更方便的機器。

3、小結

在這裏插入圖片描述

二、操作系統的特徵

在這裏插入圖片描述

1、併發

  • 併發:指的是兩個或者多個時間在同一時間間隔內發生。宏觀上同時發生,微觀上交替發生。
  • 並行:指兩個或者多個時間在同一時刻同時發生

雖然現在的很多處理器是多核的,也就說可以多個程序並行執行,但是即使這樣,操作系統的併發還是依然不可少的。

2、共享

共享即資源管理,指的是系統中的資源可以供內存中多個併發執行的進程共同使用。
在這裏插入圖片描述

互斥共享:比如使用QQ和微信同時視頻聊天,同一時刻內攝像頭只允許給其中一個進程。

3、虛擬

虛擬是吧一個物理上的實體變爲若干邏輯上的對應物,物理實體是實際存在的,而邏輯上的對應物(後者)是用戶感受到的。
在這裏插入圖片描述

在這裏插入圖片描述

4、異步

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

二、OS的發展與分類

在這裏插入圖片描述

1、手工操作階段(用戶獨佔全機)

缺點:用戶獨佔全機、人機速度矛盾導致資源利用率極低。

在這裏插入圖片描述
打孔的表示1,沒打孔表示0???

2、批處理節點-單道批處理系統

引入脫機輸入/輸出技術(用磁帶完成),並監督程序負責控制作業的輸入、輸出。
在這裏插入圖片描述
缺點:內存中只能有一個程序運行,只有該程序運行結束之後才能調入下一個程序,CPU有大量的時間在空閒等待IO完成,資源利用率仍然很低。

3、批處理階段-多道批處理系統

在這裏插入圖片描述
多道批處理系統優點:
多道程序併發執行,共享計算機資源,資源利用率大幅度提升,CPU和其他資源保持“忙碌”狀態,系統吞吐量增大。

缺點
用戶響應時間長,無人機交互功能。(用戶輸入自己作業到等待作業完成需要很長的時間,中間不能交互)

在這裏插入圖片描述

4、分時操作系統(可與用戶交互)

分時操作系統:計算機以時間片爲單位輪流爲各個用戶/作業服務,各個用戶可以通過終端與計算機進行交互。

優點:

  • 用戶請求可以被及時響應,解決了人機交互問題,允許多個用戶同時使用一個計算機,並且用戶對計算機的操作相對獨立,感受不到別人的存在。

主要缺點:

  • 不能優先處理一些緊急任務。對各個用戶/作業是完全公平的,循環爲每個用戶/作業服務一個時間片,不區分任務的緊急性。

5、實時操作系統(可以響應緊急任務)

主要優點

  • 能夠優先響應一些緊急任務,某些任務不需要時間片排隊。

在實時操作系統的控制下,計算機系統接收到外部信號後及時處理,並且要在嚴格的時間限制內處理完事件,實時操作系統的主要特點是及時性和可靠性。

在這裏插入圖片描述

總結

在這裏插入圖片描述

三、操作系統的運行機制和體系結構

在這裏插入圖片描述

1、什麼是指令?

指令就是處理器(CPU)能識別、執行的最基本的命令。

指令和代碼有什麼區別?
在這裏插入圖片描述
機器語言指令用二進制數表示,因爲硬件只能識別二進制數,一條代碼可能會對應多條機器指令。

2、指令的分類(特權指令、非特權指令)

  • 特權指令:如內存清空指令(不允許用戶程序使用)
  • 非特權指令:如普通的運算指令

CPU如何判斷當前是否可以執行特權指令?

處理器的兩種狀態:

  • 用戶態
  • 核心態

如果CPU處於用戶態只能執行非特權指令,CPU處於核心態的話,特權指令、非特權指令都可以執行。

用程序狀態字寄存器(PSW)中的某標誌位來標識當前處理器處於什麼狀態,如0爲用戶態、1爲核心態。

有的程序可以使用特權指令,而有的程序只能使用非特權指令。因此計算機系統把程序分爲了兩種分別是內核程序和普通的應用程序。

  • 內核程序:操作系統的內核程序是系統的管理者,既可以執行特權指令,也可以執行非特權指令,運行在覈心態。
  • 應用程序:爲了保證系統能安全運行,普通應用程序只能執行非特權指令,運行在用戶態。

在這裏插入圖片描述

3、操作系統的內核

在這裏插入圖片描述
內核是計算機上配置的底層軟件,是操作系統最基本、最核心的部分。
實現操作系統內核功能的那些程序就是內核程序

在這裏插入圖片描述
大內核和微內核:
在這裏插入圖片描述
在這裏插入圖片描述

總結

在這裏插入圖片描述

四、中斷和異常

以前的單道批處理系統等只能一個個程序執行,中間不能中斷,爲了解決這個問題,人們發明了操作系統(作爲計算機的管理者),引入了中斷機制,實現了多道程序併發執行。
本質:發生中斷就意味着需要操作系統介入,開展管理工作。

中斷的特點(中斷的時候cpu從用戶態轉爲核心態)

  • 當中斷髮生的時候,CPU會立即進入核心態
  • 當中斷髮生後,當前運行的進程會暫停運行,並由操作系統內核對中斷進行處理。
  • 對於不同的中斷信號,會進行不同的處理。

發生了中斷,就意味着需要操作系統介入,開展管理工作,由於操作系統的管理工作(比如進程切換、分配IO設備等)需要使用特權指令,因此CPU要從用戶態轉爲核心態,中斷可以使CPU從用戶態切換爲核心態,使操作系統獲得計算機的控制權,有了中斷,才能實現多道程序併發執行。

用戶態->核心態的切換是通過中斷實現的。並且中斷是唯一途徑

核心態-》用戶態的切換是通過執行一個特權指令,將程序狀態字(PSW)的標誌位設置爲“用戶態”

中斷的分類(內中斷、外中斷)

在這裏插入圖片描述

外部中斷的處理過程

  • 執行完每個指令之後,CPU都要檢查當前是否有外部中斷信號
  • 如果監測到外部中斷信號,則需要保護被中斷進程的CPU環境(如程序狀態字PSW、程序計數器PC、各種通用寄存器)
  • 根據中斷信號類型轉入相應的中斷處理程序
  • 恢復原進程的CPU環境並退出中斷,返回原進程繼續往下執行。

總結

在這裏插入圖片描述

五、系統調用(命令接口(用戶)、程序接口(應用程序))

操作系統作爲用戶和計算機硬件之間的接口,需要向上提供一些簡單易用的服務,主要包括命令接口和程序接口,其中,程序接口由一組系統調用組成。

在這裏插入圖片描述
“系統調用”是操作系統提供給應用程序(程序員/編程人員)使用的接口,可以理解爲一種可以供應用程序調用的特殊函數,應用程序可以發出系統調用請求來獲得操作系統的服務。

操作系統提供“系統調用”功能,用戶進程想要使用打印機這種共享資源,只能通過系統調用向操作系統發出請求,操作系統會對各個請求進行協調管理。

應用程序通過系統調用請求操作系統的服務,系統中的各種共享資源都由操作系統進行統一掌管,因此在用戶程序中,凡是與資源有關的操作,都必須通過系統調用的方式向系統提出服務請求。這樣可以保證系統的穩定性和安全性,防止用戶進行非法操作。

系統調用的分類

在這裏插入圖片描述

系統調用和庫函數的區別

在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述

傳遞系統調用參數-》執行陷入指令(用戶態)-》執行系統調用相應的服務程序(核心態)-》返回用戶程序

注意:

  • 1、陷入指令是在用戶態執行的,執行完陷入指令之後立即引發一個內中斷,從而CPU進入核心態。
  • 2、發出系統調用請求是在用戶態,而對系統調用的相應處理在覈心態下進行
  • 3、陷入指令是唯一一個只能在用戶態執行,而不可以在覈心態執行的指令。

總結

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章