日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

【操作系统】概念、功能、特征、分类、运行机制、内核、体系结构、中断和异常、系统调用简介

發布時間:2024/1/8 windows 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【操作系统】概念、功能、特征、分类、运行机制、内核、体系结构、中断和异常、系统调用简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、概念
  • 二、功能及目標
    • 2.1 系統資源管理者
    • 2.2 用戶與計算機硬件之間的接口
      • 2.2.1 命令接口
        • 聯機命令接口
        • 脫機命令接口
      • 2.2.2 程序接口
      • 2.2.3 圖像用戶界面
    • 2.3 最接近硬件的層次
  • 三、操作系統的特征
    • 3.1 并發
    • 3.2 共享
    • 3.3 并發與共享的關系
    • 3.4 虛擬
    • 3.5 異步
  • 四、發展與分類
    • 4.1 手工操作階段
    • 4.2 單道批處理系統
    • 4.3 多道批處理系統
    • 4.4 分時操作系統
    • 4.5 實時操作系統
  • 五、運行機制與體系結構
    • 5.1 運行機制
      • 5.1.1 兩種指令
      • 5.1.2 兩種處理器狀態
      • 5.1.3 兩種程序
    • 5.2 操作系統的內核
    • 5.3 操作系統的體系結構
  • 六、中斷和異常
    • 6.1 概念和作用
    • 6.2 中斷分類
    • 6.3 外中斷處理工程
  • 七、系統調用
    • 7.1 系統調用介紹
    • 7.2 系統調用與庫函數的區別
    • 7.3 系統調用的過程

一、概念

大家熟悉的操作系統:
Windows、MacOS、Linux、Android、IOS


操作系統(Operating System,OS) 是指控制和管理整個計算機系統的硬件和軟件資源,并合理地組織調度計算機的工作和資源的分配,以提供給用戶和其他軟件方便的接口和環境,它是計算機系統中最基本的系統軟件。

在任務管理器中,我們可以看到操作系統對軟件和硬件的管理。

二、功能及目標

計算機系統的結構層次

包含以下三個功能:

1 操作系統作為系統資源的管理者(這些資源包括軟件、硬件、文件等),需要提供什么功能?

2 操作系統作為用戶與計算機硬件之間的接口,要為其上層的用戶、應用程序提供簡單易用的服務,需要實現什么功能?

3 操作系統作為最接近硬件的層次,需要在純硬件的基礎上實現什么功能?

2.1 系統資源管理者

  • 提供的功能:處理機管理、存儲器管理、文件管理、設備管理
  • 目標:安全、高效

舉例——用QQ和朋友視頻聊天,在整個過程中,操作系統要保證安全和高效。

🔶 步驟1:在文件夾中找到QQ的安裝位置

逐層打開文件夾,找到QQ.exe這個程序(可執行文件)的存放位置。操作系統提供了文件管理功能。

🔶 步驟2:雙擊打開QQ.exe

需要把該程序相關數據放入內存。操作系統提供了存儲器管理功能。

🔶 步驟3:QQ程序正常運行

對應的進程被處理及(CPU)處理。操作系統提供了處理機管理功能。

🔶 步驟4:開始和朋友視頻聊天

需要將攝像頭設備分配給進程。操作系統提供了設備管理功能。

2.2 用戶與計算機硬件之間的接口

用戶接口

  • 命令接口(運行用戶直接使用)
    • 聯機命令接口:用戶說一句,系統做一句
    • 脫機命令接口:用戶說一堆,系統做一堆
  • 程序接口(運行用戶通過程序間接使用):由一組系統調用組成(程序接口=系統調用)

系統調用=系統調用命令=廣義指令

2.2.1 命令接口

聯機命令接口

聯機命令接口實例(Windows系統),聯機命令接口 = 交互式命令接口

Step 1:win鍵+R
Step 2:輸入cmd,按回車,打開命令解釋器
Step 3:嘗試使用time指令

脫機命令接口

脫機命令接口實例(Windows系統),脫機命令接口 = 批處理命令接口

使用windows系統的搜索功能,搜索C盤中的*. bat文件,用記事本任意打開一個

2.2.2 程序接口

程序接口:如C:\Windows\System32\user32.dll程序員在程序中調用user32. dll (該調用過程即為系統調用),即可實現創建窗口等功能。只能通過用戶程序間接使用。

2.2.3 圖像用戶界面

GUI:圖形用戶界面(Graphical User Interface)

用戶可以使用形象的圖形界面進行操作,而不再需要記憶復雜的命令、參數。例子:在Windows操作系統中,刪除一個文件只需要把文件“拖拽”到回收站即可。

2.3 最接近硬件的層次

需要提供的功能和目標:實現對硬件機器的拓展

沒有任何軟件支持的計算機成為裸機。在裸機上安裝的操作系統,可以提供資源管理功能和方便用戶的服務功能,將裸機改造成功能更強、使用更方便的機器。

通常把覆蓋了軟件的機器成為擴充機器,又稱之為虛擬機

類比
——————————————
硬件:錘子、鋸子、木頭、釘子;操作系統:優秀的工匠
操作系統對硬件機器的拓展:通過優秀工匠,這些簡單的原料可以組織成房子、帆船、匹諾曹。。。
普通用戶可直接使用工匠提供的房子、帆船、匹諾曹,而無需關心這些東西在底層是怎么組織起來工作的

三、操作系統的特征

并發、共享、虛擬、異步

3.1 并發

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

并行:指兩個或多個事件在同一時刻同時發生

操作系統的并發性指計算機系統同時存在著多個運行著的程序。

一個單核處理器同一時刻只能執行一個程序,因此操作系統會負責協調多個程序交替執行(這些程序微觀上是交替執行的,但宏觀上看起來就像在同時執行)

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

當今的計算機,一般都是多核CPU,比如Intel的第八代i3處理器就是4核CPU,這意味著同一時刻可以有4個程序并行執行,但是操作系統的并發性依然必不可少。當代人使用計算機絕對有4個以上的程序需要同時工作。

3.2 共享

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


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

互斥共享方式:使用QQ和微信視頻。同一時間段內攝像頭只能分配給其中一個進程。
同時共享方式:使用QQ發送文件A,同時使用微信發送文件B。宏觀上看,兩邊都在同時讀取并發送文件,說明兩個進程都在訪問硬盤資源,從中讀取數據。微觀上看,兩個進程是交替著訪問硬盤的。

3.3 并發與共享的關系

并發性指計算機系統中同時存在著多個運行著的程序。
共享性是指系統中的資源可供內存中多個并發執行的進程共同使用。

通過上述例子來看并發與共享的關系:使用QQ發送文件A,同時使用微信發送文件B

1 兩個進程正在并發執行 (并發性)
2 需要共享地訪問硬盤資源 (共享性)

如果失去并發性,則系統中只有一個程序正在運行,則共享性失去存在的意義。
如果失去共享性,則QQ和微信不能同時訪問硬盤資源,就無法實現同時發送文件,也就無法并發。
因此二者互為存在條件。

3.4 虛擬

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

分為:空分復用技術(虛擬存儲技術)、時分服用技術(虛擬處理器)

問題:GTA5需要4GB的運行內存,QQ需要256MB的內存,迅雷需要256MB的內存,網易云音樂需要256MB的內存。而我的電腦只有4GB內存。這些程序同時運行需要的內存遠大于4GB,那么為什么它們還可以在我的電腦上同時運行呢?

回答:這是虛擬存儲器技術。實際只有4GB的內存,在用戶看來似乎遠遠大于4GB

問題:一個程序需要放入內存并給它分配CPU才能執行,假設某單核CPU計算機中打開了五個軟件,既然一個程序需要被分配CPU才能正常執行,那么為什么單核CPU的電腦能同時運行這么多個程序?

回答:這是虛擬存儲器技術。實際上只有一個單核CPU,在用戶看來似乎有6個CPU在同時為自己服務。虛擬技術中的“時分復用技術”。微觀上處理機在各個微小的時間段內交替著為各個進程服務。

如果失去并發性,則一段時間內系統只需運行一道程序,那么久失去了實現虛擬性的意義了。因此,沒有并發性就談不上虛擬性

3.5 異步

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

如果失去并發性,則系統只能串行地處理各個進程,每個進程的執行會一貫到底。只有系統擁有并發性,才可能導致異步性。

四、發展與分類

4.1 手工操作階段

4.2 單道批處理系統

引入脫機輸入/輸出技術(用磁帶完成),并監督程序負責控制作業的輸入、輸出。

4.3 多道批處理系統



4.4 分時操作系統

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

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

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

4.5 實時操作系統

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

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

五、運行機制與體系結構

5.1 運行機制

5.1.1 兩種指令

指令:處理器CPU能識別、執行的最基本命令。

比如,代碼 x = x + 1可以翻譯成多條對應的指令來執行。
比如,加法指令就是讓CPU進行加法操作。

指令分為:

  • 特權指令:不允許用戶程序使用。如內存清零指令,如果用戶使用這個指令,就意味著一個用戶可以將其他用戶的內存數據隨意清零,這樣做很危險,所以不允許用戶程序使用。
  • 非特權指令:如普通的運算指令。

CPU根據判斷用戶的狀態來決定是否執行這個指令。

5.1.2 兩種處理器狀態

  • 用戶態(目態):CPU只能執行非特權指令
  • 核心態(管態):特權指令、非特權指令都能執行。

兩種狀態是由程序狀態寄存器(PSW)中的某個標志位來標識當前處理器處于什么狀態。

5.1.3 兩種程序

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

5.2 操作系統的內核

我們安裝完Windows操作系統后,會發現操作系統提供了多種多樣的功能,比如“記事本”、“任務管理器”。然而,這些功能并不是必不可少的。即使沒有“任務管理器”,我們仍然可以使用計算機。

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

5.3 操作系統的體系結構


大內核

  • 將操作系統的主要功能模塊都作為系統內核,運行在核心態。
  • 優點:高性能
  • 缺點:內核代碼龐大,結構混亂,難以維護。

微內核

  • 只把最基本的功能保留在內核。
  • 優點:內核功能少,結構清晰,方便維護。
  • 缺點:需要頻繁地在核心態和用戶態之間切換,性能低。

六、中斷和異常

6.1 概念和作用

早期計算機,程序加載到內存中執行,執行結束后等待IO輸出,輸出完成后再加載執行下一個程序,各個程序只能串行執行,系統資源利用率低。

為了解決上述問題,人們發明了操作系統(作為計算機的管理者),引入中斷機制,實現了多道程序并發執行。

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

1 當中斷發生時,CPU立即進入核心態
2 當中斷發生后,當前運行的進程暫停運行,并由操作系統內核對中斷進行處理
3 對于不同的中斷信號,會進行不同的處理

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

用戶態與核心態的切換

  • 用戶態到核心態的切換:通過中斷實現的,并且中斷是唯一途徑。
  • 核心態到用戶態的切換:通過執行一個特權指令,將程序狀態字(PSW)的標志位設置為用戶態。

6.2 中斷分類

🔶 內中斷:也稱異常、例外、陷入。

信號來源:CPU內部,與當前執行的指令有關

分類方式1
1 自愿中斷——指令中斷,如:系統調用時使用的訪問指令(又叫陷入指令、trap指令)
2 強迫中斷:1)硬件故障,如:缺頁;2)軟件中斷,如:整數除0

分類方式2
1 陷阱、陷入(trap):有意而為之的異常,如系統調用。
2 故障(fault):由錯誤條件引起的,可能被故障處理程序修復,如:缺頁。
3 終止(abort):不可恢復的致命錯誤造成的結果,終止處理程序不再將控制返回給引發終止的應用程序,如:整數除0

🔶 外中斷:也稱中斷(狹義的中斷)

信號來源:CPU外部,與當前執行的指令無關

分類:
1 外設請求,如:I/O操作完成發出的中斷信號
2 人工干預,如:用戶強制終止一個進程

6.3 外中斷處理工程

用戶依次執行各條指令

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

七、系統調用

7.1 系統調用介紹

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

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

生活場景:你去學校打印店打印論文,當你按下“打印”之后,打印機開始工作。你的論文打印到一半時,另一位同學按下了“打印”按鈕開始打印他自己的論文。最終,你的論文和該同學的論文頁面并沒有混雜在一起,都是按順序依次打印的。

如果各個進程可以隨意地使用打印機,會發生什么情況?
你的論文打印到一半時,另一位同學按下了“打印”按鈕開始打印他自己的論文。結果,你的后半部分論文與該同學的頁面混雜在一起了。

應用程序通過系統調用請求操作系統的服務。系統中的各種共享資源都由操作系統統一掌管,因此在用戶程序中,凡是與資源有關的操作(如存儲分配、I/0操作、 文件管理等),都必須通過系統調用的方式向操作系統提出服務請求,由操作系統代為完成。這樣可以保證系統的穩定性和安全性,防止用戶進行非法操作。

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

按功能分類:

  • 設備管理:完成設備的請求、釋放、啟動等功能
  • 文件管理:完成文件的讀、寫、創建、刪除等功能
  • 進程控制:完成進程的創建、撤銷、阻塞、喚醒等功能
  • 進程通信:完成進程之間的消息傳遞、信號傳遞等功能
  • 內存管理:完成內存的分配、回收等功能

7.2 系統調用與庫函數的區別


普通應用程序:可直接進行系統調用,也可以使用庫函數。有的庫函數涉及系統調用,有的不涉及。
編程語言:向上提供庫函數。有時會將系統調用封裝成庫函數,以隱藏系統調用的一些細節,使商城進行系統調用更加方便。
操作系統:向上提供系統調用。

不涉及系統調用的庫函數:如,取絕對值的函數
涉及系統調用的庫函數:如,創建一個新文件的函數

7.3 系統調用的過程

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

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

總結

以上是生活随笔為你收集整理的【操作系统】概念、功能、特征、分类、运行机制、内核、体系结构、中断和异常、系统调用简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。