一、操作系統定義及概念


1、操作系統的概念及定義

1.1 操作系統的層次結構

從上至下,用戶——應用程序——操作系統——裸機(純硬件)。

image-20210918212105787

操作系統OS(Operating System)是指控制和管理整個計算機系統的硬件和軟件資源,並合理地組織調度計算機的工作和資源的分配(從當前層次結構中間往兩邊看),提供用戶和其他軟件方便的接口和環境(當前層次結構從下往上看),同時它是計算機系統中最基本的系統軟件(層次結構從上往下看)。


1.2 操作系統的功能和目標

  1. 操作系統作為系統資源的管理者(包括軟件、硬件、文件等),需要提供什么功能
  2. 操作系統作為用戶和計算機硬件之間的接口,要為其上層的用戶、應用程序提供簡單易用的服務
  3. 操作系統作為最接近硬件的層次,需要在純硬件的基礎上實現什么功能

image-20210918212624221

1.2.1、系統資源的管理者

image-20210918212815453

1.2.2、作為用戶與計算機硬件之間的接口

image-20210918213535612

常考命令接口和程序接口,GUI了解即可

命令接口:

image-20210918214003518

  1. 聯機命令接口(交互式命令接口):

    類比cmd窗口,輸入一句指令,計算機處理一句指令

  2. 脫機命令接口(批處理命令接口):

    類比C盤內*.bat文件

程序接口(系統調用):

image-20210918214311279

易混概念:系統調用 = 系統調用命令 = 廣義指令

1.2.3、作為最接近硬件的層次

image-20210918214825746


1.3 操作系統的四個特征

四大特征:並發、共享、虛擬、異步

image-20210918215022220

1.3.1 並發

並發和並行的區分

  • 並發
    • 之兩個或多個事件在同一時間間隔內發生。這些事件在宏觀上是同時發生的但微觀上是交替發生的
  • 並行
    • 指兩個或者多個事件在同一時刻同時發生

理解:

image-20210918215604809

操作系統的並發性指的是計算機系統中同時存在着多個運行的程序

事實上,操作系統就是”伴隨多道程序技術“而出現的,因此,操作系統和程序並發是一起誕生的

雖然當今計算機一般是多核CPU,但並發性依然必不可少

1.3.2 共享

共享即資源共享,是指系統中資源可供內存眾多個並發執行的進程共同使用。

分為互斥共享同步共享

image-20210919104801748

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

例子:

image-20210919105016663

並發和共享地關系

兩者互為存在條件

  • 如果失去了並發性,共享性就失去了意義
  • 如果失去共享性,並發性也無法實現

image-20210919105243477

1.3.3 虛擬

虛擬是指把一個物理上的實體變為若干個邏輯上的對應物。物理實體實際存在,而邏輯對應物使用戶感受到的。

  • 公分復用技術

    image-20210919105604369

  • 時分復用技術(時間片)

    image-20210919105634017

並發性是虛擬性地前提

image-20210919105734232

1.3.4 異步

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


1.4 操作系統的發展和分類

image-20210919110502324

  • 手工操作階段

    • 用戶獨占全機,人機速度矛盾導致資源利用率極低
  • 批處理階段:脫機輸入/輸出技術 (用磁帶完成) 監督程序負責控制作業的輸入、輸出

    • 單道批處理系統:

      image-20210919121300157

    • 多道批處理系統:

      image-20210919121513490

  • 分時操作階段

    • image-20210919121742975
  • 實時操作系統

    • 硬實時系統:必須在絕對嚴格地規定時間內完成處理
    • 軟實時系統:能接受偶爾違反是時間規定

    image-20210919122034486


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

image-20210919122159356

1.5.1 運行機制

image-20210919123340020

  1. 兩種指令:

    • 指令的概念:指令就是CPU能識別的最基本的命令

      一條高級語言(如C)翻譯過來可能會對應多條指令

    • 特權指令

    • 非特權指令

    image-20210919122736330

  2. 兩種處理器狀態

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

    • 用戶態(目態)

    • 核心態(管態)

      image-20210919123043823

  3. 兩種程序

    • 內核程序

    • 應用程序

      image-20210919123233316

1.5.2 操作系統內核

內核是計算機上配置的底層軟件,是操作系統最基本最核心的部分。實現操作系統內核功能的那些程序就是內核程序。

image-20210919123617852

image-20210919123718133

1.5.3 操作系統體系結構

image-20210919123807896

  • 大內核

    image-20210919123835916

  • 微內核

    image-20210919123857789


1.6 中斷和異常

1.6.1 中斷機制的誕生

早期計算機個程序只能串行執行,系統資源利用率低,為了解決該問題,人們發明了操作系統,引入了中斷機制,實現了多道程序並發執行。

發生中斷就意味着需要操作系統介入,開展管理工作

中斷是CPU從用戶態進入核心態的唯一途徑

image-20210919124745390

1.6.2 中斷的分類

image-20210919125018149

1.6.3 外中斷的處理過程

image-20210919125337149


1.7 系統調用

image-20210920161337835

1.7.1 什么是系統調用、作用?

系統調用會使處理器從用戶態進入核心態

操作系統,面向用戶是命令接口,面向應用程序是程序接口(由一組系統調用組成)

概念:“系統調用”是操作系統提供給應用程序(程序員)使用的接口,可以理解為可供應用程序調用的一種特殊函數,應用程序可以發出系統調用請求來獲得操作系統的服務。

系統調用的目的:

image-20210920162043679

系統調用按功能分類

image-20210920162204678

注意:系統調用相關處理涉及到對系統資源的管理、對進程的控制,這些功能需要執行一些特權指令才能完成,因此系統調用的相關處理需要在核心態下進行。

1.7.2 系統調用和庫函數的區別

image-20210920162812639

1.7.3 系統調用背后的過程

過程;

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

image-20210920163559856

注意點:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM