操作系統-第一章-概述


1.1 操作系統的概念、功能和目標

概念

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

功能和目標

①操作系統是系統資源的管理者

②向上提供方便易用的服務

③是最接近硬件的一層軟件


①操作系統是系統資源的管理者(管理功能)

作為系統資源的管理者,其目標是安全、高效,提供的功能有:

  • 處理機管理
    • 管理處理機的分配與運行,解決沖突問題,可以理解為對進程的管理
    • 進程管理:進程控制、進程同步、進程通信、死鎖處理、處理機調度
  • 存儲器管理
    • 為了提高多道程序運行效率,方便用戶使用
    • 內存分配、地址映射、內存保護、共享和內存擴充
  • 文件管理
    • 操作系統負責管理文件的系統稱為文件系統
    • 文件存儲空間的管理、目錄管理、文件讀寫管理和保護
  • 設備管理
    • 完成用戶的IO請求,方便用戶使用設備,提高設備的利用率
    • 緩沖管理、設備分配、設備處理、虛擬設備

②向上提供方便易用的服務(接口功能)

操作系統為用戶和軟件提供服務,通過提供接口來完成:

  • 命令接口
    • 聯機控制方式:交互式命令接口,適用於分時或者實時系統,就像人與機器對話一樣。(用戶說一句,系統跟着做一句)
    • 脫機控制方式:批處理命令接口,提交一組作業,系統進行處理,用戶不能干預作業的運行。(用戶說一堆,系統跟着做一堆)
  • 程序接口
    • 由一組系統調用命令組成(也稱作系統調用或者廣義指令)
    • 可以在程序中進行系統調用來使用程序接口。普通用戶不能直接使用程序接口,只能通過程序代碼間接使用。

此外還有GUI圖形用戶界面,可以說 命令接口和GUI是直接給用戶使用的,而程序接口是給軟件或是程序員使用的。


③是最接近硬件的一層軟件(擴充機器)

作為最接近硬件的一層軟件,操作系統需要實現對硬件機器的擴展,將CPU、內存、磁盤、顯示器、鍵盤等硬件合理地組織起來,讓各種硬件能夠相互協調配合,實現更多更復雜的功能。

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

1.2 操作系統的特征

四個基本特征:並發共享、虛擬、異步

並發

並發:指兩個或者多個事件在同一時間間隔內發生。
並行:指兩個或者多個事件在同一時刻同時發生。

  • 並發使得系統具有處理和調度多個程序同時執行的能力
  • 操作系統的並發是通過分時實現的

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

重要考點:

  • 單核CPU同一時刻只能執行一個程序,各個程序只能並發地執行
    • 對於單處理機來說,宏觀上程序是並發的,微觀上程序是交替執行的
  • 多核CPU同一時刻可以同時執行多個程序,多個程序可以並行地執行

共享

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

有兩種資源共享方式:

  • 互斥共享方式
    • 一個時間段只允許一個進程對資源進行訪問,例如打印機,磁帶
    • 這種資源稱作:臨界資源或者獨占資源
  • 同時訪問方式
    • 一個時間段內允許多個進程對資源進行訪問,例如磁盤資源

並發和共享的關系(互為存在條件)

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

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

如果失去並發性,則系統中只有一個程序正在運行,則共享性失去存在的意義;

如果失去共享性,則兩個程序不能同時訪問硬盤資源,就無法實現同時發送文件,也就無法並發。

虛擬

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

一個物理上的實體變為若干邏輯上的對應物,這種技術也被稱為虛擬技術,可分為:

  • 時分復用技術
    • 如虛擬處理器:采用多道程序並發的方式,讓每個終端用戶感覺到有多個處理器
  • 空分復用技術
    • 如虛擬存儲器:將物理存儲變為虛擬存儲器,邏輯上擴充存儲器用

並發和虛擬的關系

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

異步

異步:在多道程序環境下,允許多個程序並發執行,但由於資源有限,進程的執行不是一貫到底的,多道程序走走停停,進程以不可預知的速度向前進

並發和異步的關系

只有系統擁有並發性,才有可能導致異步性。


小結:並發和共享互為存在條件,沒有並發和共享,就談不上虛擬和異步,因此並發共享是操作系統的兩個最基本的特征


1.3 操作系統的發展與分類


  1. 手工操作階段

程序的裝入、運行、結果的輸出都需要人為的干預

缺點:資源利用率低、CPU利用不充分、人機速度矛盾


  1. 批處理階段

為了解決人機矛盾以及CPU和I/O設備之間速度不匹配的矛盾

單道批處理系統(引入脫機輸入輸出技術)

內存中始終保存一道作業,作業成批進行

特點:

  • 自動性:一批作業自動執行不需要人工干預
  • 順序性:各道作業依次執行
  • 單道性:僅有一道程序執行

優點:

緩解了一定程度的人機速度矛盾,資源利用率有所提升

缺點:

  • 高速CPU等待I/O設備的完成,資源利用率依然很低
  • 內存中僅能有一道程序運行,只有該程序運行結束之后才能調入下一道程序

多道批處理系統(操作系統開始出現)

多道批處理系統的產生標志着操作系統正式誕生。

允許多個程序在CPU中交替運行,程序共享各種硬件和軟件資源。

特點:

  • 多道:計算機中同時存放多道相互獨立的程序
  • 宏觀上並行:多道程序都會開始運行,但都沒有運行完畢
  • 微觀上串行:多道程序輪流占有CPU,交替執行

優點:

  • 資源利用率高
  • 多道程序並發執行,共享計算機資源
  • CPU和其他資源更能保持“忙碌”狀態,系統吞吐量增大

缺點:

  • 設計復雜,要考慮各種資源調度問題
  • 響應時間過長,沒有人機交互功能

  1. 分時操作系統

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

  • 用戶請求可以被即時響應,解決了人機交互問題
  • 允許多個終端用戶同時使用一台計算機,並且用戶對計算機的操作相互獨立,互不干擾。

主要缺點:

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

  1. 實時操作系統

保證在規定時間內完成某項任務。

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

硬實時系統:必須在絕對嚴格的規定時間內完成處理,如導彈控制,自動駕駛

軟實時系統:能接受偶爾違反時間規定,如12306訂票

主要特點是及時性和可靠性。


其他幾種操作系統

  • 網絡操作系統:是伴隨着計算機網絡的發展而誕生的,能把網絡中各個計算機有機地結合起來,實現數據傳送等功能,實現網絡中各種資源的共享(如文件共享)和各台計算機之間的通信。(如:Windows NT 就是一種典型的網絡操作系統,網站服務器就可以使用)
  • 分布式操作系統:主要特點是分布性和並行性。系統中的任意兩台計算機之間沒有主從之分,相互交換信息,並行工作、協同完成任務。
  • 個人計算機操作系統:如Windows XP、MacOS,方便個人使用,廣泛應用於文字處理、電子表格、游戲等。

1.4 操作系統的運行機制

兩種指令:

指令就是處理器CPU能識別、執行的最基本命令,指二進制機器指令。

  • 特權指令:如內存清零指令
  • 非特權指令:如普通的運算指令

兩種程序:

  • 應用程序
    • 用戶自編的程序
    • 為了保證系統能安全運行,普通應用程序只能執行非特權指令,運行在用戶態
  • 內核程序
    • 很多內核程序組成了操作系統內核,簡稱內核Kernel
    • 是系統的管理者,可以執行特權指令和非特權指令,運行在核心態

兩種處理器狀態:核心態(內核態)和用戶態

  • 處於內核態時,說明此時正在運行的是內核程序,此時可以執行特權指令
  • 處於用戶態時,說明此時正在運行的是應用程序,此時只能執行非特權指令

狀態切換:

內核態→用戶態:執行修改程序狀態字寄存器PSW的特權指令

內核態→用戶態:由中斷引起,硬件自動完成


內核

時鍾管理:操作系統對用戶提供標准時間,根據時鍾對進程進行管理,實現進程切換。

中斷機制:初衷是為了提高多道程序運行環境中的CPU利用率,保護和恢復中斷現場的信息,轉移控制權到相關程序。

原語:處於系統的最底層,是最接近硬件的部分,運行具有原子性,即只能一氣呵成,運行時間短、調用頻繁。

大內核:

  • 將操作系統的主要功能模塊都作為系統內核,運行在核心態
  • 優點:各個管理模塊之間共享信息,能夠有效利用相互之間的有效特效,有性能優勢
  • 缺點:內核代碼龐大,層次交互關系復雜,層次接口難以定義,難以維護

微內核:

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

1.5 中斷和異常

為了進行核心態和用戶態的切換,引入了中斷機制。

中斷是讓操作系統內核奪回CPU使用權的唯一途徑。

內中斷(異常):

  • trap、fault、abort
  • 與當前執行的指令有關,中斷信號來源於CPU內部
  • 異常不能被屏蔽

外中斷(中斷):

  • 時鍾中斷、I/O中斷請求
  • 與當前執行的指令無關,中斷信號來源於CPU外部

基本實現原理:

  • 檢查中斷信號
    • 內中斷:CPU在執行指令時會檢查是否有異常發生
    • 外中斷:在每個指令周期末尾,CPU都會檢查是否有外中斷信號需要處理
  • 找中斷處理程序
    • 不同的中斷信號,需要用不同的中斷處理程序來處理。
    • 當CPU檢測到中斷信號后,會根據中斷信號的類型去查詢“中斷向量表”,以此來找到相應的中斷處理程序在內存中的存放位置。

1.6 系統調用

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

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

系統調用按功能可分為:

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


免責聲明!

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



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