Section 1 - 操作系統(tǒng)引論

Section 1 - 操作系統(tǒng)引論

  • 0.操作系統(tǒng)定義:是一組能有效組織和管理計算機硬件和軟件資源,合理對各類操作進行調(diào)度,以方便用戶使用的程序的集合
  • 1.操作系統(tǒng)的作用

    • OS 作為用戶和電腦硬件系統(tǒng)之間的接口
    • OS 作為計算機系統(tǒng)資源的管理者
    • OS實現(xiàn)了對計算機資源的抽象(個人理解:對計算機的具體實現(xiàn)不關(guān)系,即面向?qū)ο笏枷?
  • 2.操作系統(tǒng)的演變過程

    • 未配置操作系統(tǒng)的計算機系統(tǒng)
      • 人工操作方式(人工傳輸穿孔紙帶)
      • 脫機輸入/輸出(Off-Line I/O)方式(外圍設(shè)備自動傳輸穿孔紙帶)
    • 單道批處理系統(tǒng)
    • 多道批處理系統(tǒng)(作業(yè)保存在外存上排成隊列,按照一定算法調(diào)入內(nèi)存,達到利用 I/O 操作使 CPU 空擋閑置的時間,使 CPU 使用率提升)
    • 分時系統(tǒng)(因為60年代計算機很稀缺,一臺計算機被多人使用,但可以獲得一定的及時響應(yīng))
    • 實時系統(tǒng)(將時間作為關(guān)鍵參數(shù),必須對接收到的信號做出及時的反應(yīng))
    • 微機操作系統(tǒng)的發(fā)展
      • 單用戶單任務(wù)操作系統(tǒng)(只允許一位用戶上機,只允許用戶的一個程序運行,主要是8位/16位為微機上,如 MS-DOS,CP/M)
      • 單用戶多任務(wù)操作系統(tǒng)(只允許一位用戶上機,但允許用戶把程序分成多個任務(wù),使這些任務(wù)并發(fā)執(zhí)行)
      • 多用戶多任務(wù)操作系統(tǒng)(允許多個用戶通過各自的終端,使用同一臺機器,共享主機系統(tǒng)的各種資源,每個用戶的程序又可分為多個任務(wù),并發(fā)執(zhí)行,一般用在大中型機器上,微機上應(yīng)用的是 UNIX OS(Linux OS是 UNIX 一個重要變種,MAC OS 是基于 UNIX 內(nèi)核重新開發(fā)))
  • 3.操作系統(tǒng)的基本特性

    • 并發(fā)

      • 并行與并發(fā)區(qū)別:并行是多個任務(wù)在同一時刻內(nèi)同時發(fā)生,并發(fā)是多個任務(wù)在同一時間內(nèi)間隔進行
      • 引入進程:進程是在系統(tǒng)中獨立運行并作為資源分配的基本單位,由一組機器指令和數(shù)據(jù)、堆棧等組成的,
        • 未引入進程的系統(tǒng)中,屬于同一個應(yīng)用程序的計算程序和 I/O 程序之間只能是順序執(zhí)行
        • 引入進程后,計算程序和 I/O 程序可以并發(fā)進行
        • 極大地提高系統(tǒng)資源的利用率,增加系統(tǒng)的吞吐量
    • 共享

      • 日常生活中的共享:如圖書館的書籍可以共享,但并未限定使用者必須在同一時間和同一地點閱讀
      • OS環(huán)境下的共享:又稱為資源復(fù)用,指系統(tǒng)中的資源可供內(nèi)存中多個并發(fā)執(zhí)行的進程共同使用,既限定了時間(進程在內(nèi)存期間),又限定了地點(內(nèi)存),因為比較復(fù)雜,實現(xiàn) OS 環(huán)境下的共享分為以下兩種:
        • 互斥共享方式
          • 規(guī)定在一段時間內(nèi),只允許一個進程訪問該資源,這種共享類型的資源稱為臨界資源
        • 同時訪問方式
          • 允許在一段時間內(nèi)由多個進程“同時”對它們進行訪問,這個"同時"是指微觀上進程訪問該資源是交替進行的,比較常見的“同時”訪問的資源是磁盤設(shè)備(即硬盤)
    • 并發(fā)和共享的關(guān)系:

      • 是多用戶多任務(wù) OS 的兩個最基本的特征,又是互為存在的條件
    • 虛擬:

      • 將一個物理實體變?yōu)槿舾蓚€邏輯上的對應(yīng)為的功能稱為”虛擬“,前者是實的,即實際存在的,后者是虛的,只是用戶感覺上的東西
      • 時分復(fù)用技術(shù)
        • 利用某設(shè)備為一用戶服務(wù)的空閑時間,轉(zhuǎn)而去為其他用戶服務(wù),使設(shè)備得到最充分的利用
      • 空分復(fù)用技術(shù)
        • 利用存儲器的空閑空間分區(qū)域存放和運行其他的多道程序,使得提高存儲空間的利用率
        • 單純的空分復(fù)用存儲器只能提高內(nèi)存的利用率,并不能實現(xiàn)在邏輯上擴大存儲器容量的功能,還需要引入虛擬存儲技術(shù)
        • 使用了虛擬存儲技術(shù)的例子:如一個100MB 的程序可以在30MB 的內(nèi)存空間上運行
        • 虛擬存儲技術(shù)原理:通過內(nèi)存的分時復(fù)用,每次只把用戶程序的一部分調(diào)入內(nèi)存中運行,完成后把該部分取出,再換入另一部分到內(nèi)存中運行
    • 異步:

      • 進程的異步性,進程是以人們不可預(yù)知的速度向前推進的。即內(nèi)存中的每個進程,在何時能獲得處理機運行,何時又提出某種資源請求而暫停,以及進程以怎樣的速度向前推進,都是不可預(yù)知的
  • 4.操作系統(tǒng)的主要功能
    • 處理機的管理管理功能
      • 進程控制:為任務(wù)創(chuàng)建進程、撤銷(終止)已結(jié)束的進程,以及控制進程在運行過程中狀態(tài)轉(zhuǎn)換
      • 進程同步:為了保證多個進程有條不紊的運行,系統(tǒng)中必須設(shè)置相應(yīng)的進程同步機制。協(xié)調(diào)的方式有兩種:
        • 進程互斥方式:主要是對臨界資源的訪問。最簡單的互斥方式,是通過為每個臨界資源配置一把進程鎖
        • 進程同步方式:指相互合作去完成共同任務(wù)的諸進程間,由同步機構(gòu)對它們的執(zhí)行次序加以協(xié)調(diào)。
      • 進程通信:一組相互合作的進程去完成一個共同的任務(wù)時,進程之間需要交換信息。
      • 調(diào)度:
        • 作業(yè)調(diào)度:從后備隊列中按照一定算法選出若干個作業(yè),為他們分配資源,將這些作業(yè)調(diào)入內(nèi)存后,再分別為他們建立進程,使他們成為可能獲得處理機的就緒進程,并插入就緒隊列中
        • 進程調(diào)度:是從進程的就緒隊列中按照一定算法選出一個線程,分配處理機,設(shè)備運行現(xiàn)場,運行它
    • 存儲器管理功能:
      • 內(nèi)存分配:
        • 主要任務(wù):
          • 1.為每道程序分配內(nèi)存空間
          • 2.提高存儲器的利用率,盡量減少不可用的內(nèi)存碎片
          • 3.允許正在運行的程序申請附加的內(nèi)存空間,以適應(yīng)程序和數(shù)據(jù)動態(tài)增長的需要
        • 內(nèi)存分配方式:
          • 1.靜態(tài)分配:運行過程中不允許為該作業(yè)再申請新的內(nèi)存空間,也不允許作業(yè)在內(nèi)存中"移動"
          • 2.動態(tài)分配:允許運行過程中為該作業(yè)再申請新的附加內(nèi)存空間,也允許作業(yè)在內(nèi)存中"移動"
      • 內(nèi)存保護:
        • 主要任務(wù):
          • 確保每道用戶程序都僅在自己的內(nèi)存空間內(nèi)運行,彼此互不干擾
          • 決不允許用戶程序訪問操作系統(tǒng)的程序和數(shù)據(jù),也不允許用戶程序轉(zhuǎn)移到非共享的其他用戶程序中去執(zhí)行
        • 實現(xiàn)原理:通過設(shè)置內(nèi)存保護機制
        • 一個簡單的實現(xiàn):通過設(shè)置兩個界限寄存器,分別用于存放正在執(zhí)行程序的上界和下界。程序運行期間,對每條指令所要訪問的地址進行 check,若發(fā)生越界,便發(fā)出越界終端請求,結(jié)束該程序的執(zhí)行
      • 地址映射:
        • 因為在多道程序環(huán)境下,每道程序經(jīng)編譯和鏈接后形成的可裝入程序地址都是從0開始的,但不能講它們從”0“地址裝入內(nèi)存,所以導致各程序段的地址空間內(nèi)的邏輯地址與它在內(nèi)存空間內(nèi)的地址不一致,為了保證程序的正常運行,存儲器管理需要提供地址映射功能,即將地址空間內(nèi)的邏輯地址轉(zhuǎn)換為內(nèi)存空間中與之對應(yīng)的物理地址
      • 內(nèi)存擴充:
        • 該功能呢并非物理上的擴充內(nèi)存,而是利用虛擬存儲技術(shù),通過內(nèi)存的分時調(diào)用來實現(xiàn)
    • 設(shè)備管理功能:
      • 緩存管理:在 I/O 設(shè)備與 CPU 之間引入緩存,來緩和 CPU 與 I/O 設(shè)備速度不匹配的矛盾,提高 CPU 利用率,有但緩存機制、雙緩存機制等
      • 設(shè)備分配:根據(jù)用戶進程的 I/O 請求,系統(tǒng)現(xiàn)有資源情況以及按照某種設(shè)備分配策略,為之分配需要的設(shè)備
      • 設(shè)備處理:設(shè)備處理程序又稱為設(shè)備驅(qū)動程序。任務(wù)是用于實現(xiàn) CPU 和設(shè)備控制器之間的通訊。由 CPU 向設(shè)備控制器發(fā)出 I/O 指令,要求設(shè)備控制器完成指定的 I/O 操作;反之 CPU 接收設(shè)備控制器發(fā)來的終端請求,并給出相應(yīng)和處理
    • 文件管理功能:
      • 文件存儲空間的管理:為文件分配必要的外存空間,實施統(tǒng)一管理,并具有存儲空間分配和回收的功能
      • 目錄管理:為每個文件建立一個目錄項,方便用戶按照一定規(guī)則存取
      • 文件的讀/寫管理和保護
        • 讀寫管理:根據(jù)用戶請求從外存中讀取數(shù)據(jù),或?qū)?shù)據(jù)寫入外存
        • 文件保護:防止文件被非法竊取和破壞
    • 操作系統(tǒng)與用戶之間的接口
      • 用戶接口:
        • 聯(lián)機用戶接口:為聯(lián)機用戶提供,由一組鍵盤操作命令及命令解釋程序組成,即命令行操作
        • 脫機用戶接口
        • 圖形用戶接口:將 OS 的各種功能和應(yīng)用程序用icon 直觀逼真的表示出來
      • 程序接口 :
        • 是為了用戶程序在執(zhí)行中訪問系統(tǒng)資源而設(shè)置的,是用戶取得操作系統(tǒng)服務(wù)的唯一途徑,方便應(yīng)用程序開發(fā)者使用
    • 現(xiàn)代操作系統(tǒng)的新功能
      • 系統(tǒng)安全
      • 網(wǎng)路的功能和服務(wù)
      • 支持多媒體
  • 5.OS 結(jié)構(gòu)化設(shè)計
    • 5.1 傳統(tǒng)的操作系統(tǒng)結(jié)構(gòu):
      • 5.1.1 無結(jié)構(gòu)操作系統(tǒng):一組解決問題的代碼的無序的組合
      • 5.1.2 模塊化結(jié)構(gòu) OS:按照功能詳細劃分為多個具有一定獨立性和解決具體問題的模塊,模塊與模塊間通過預(yù)留的接口進行交互,局限性在于開發(fā)時的問題,主要是接口使用的問題和開發(fā)是齊頭并進的,但需要互相調(diào)用時,無法保證調(diào)用的代碼是正確的,會有很多測試上的問題
      • 5.1.3 分層式機構(gòu):設(shè)計 a0層,調(diào)用底層硬件,在經(jīng)過繁多測試后,保證 ao 么有問題后,再設(shè)計 a1層,調(diào)用 a0層,以此類推,雖然解決了模塊化 OS 結(jié)構(gòu)的問題,但具有效率上的問題
    • 5.2 客戶/服務(wù)器模式
      • 簡稱為 C/S(Client/Server)模式,在上世紀90年代后開始風靡全球,廣泛采用這個模式
      • 組成:
        • 客戶機:可處理一些本地業(yè)務(wù),也可用通過 LAN 向服務(wù)器發(fā)送請求,請求某項服務(wù),如查看文件等
        • 服務(wù)器:一般為一個較大的機器,存儲一些重要的文件和數(shù)據(jù)庫系統(tǒng),接收客戶機的請求,做出相應(yīng)的相應(yīng)
        • 網(wǎng)絡(luò)系統(tǒng):用于連接客戶機和服務(wù)器
    • 5.3 面向?qū)ο蟮某绦蛟O(shè)計
    • 5.4 微內(nèi)核 OS 結(jié)構(gòu)
      • 基本概念:
        • 足夠小的內(nèi)核:不是完整的 OS,但是 具有OS 最基本的功能,如①與硬件聯(lián)系最緊密的部分②一些較基本的功能③客戶機與服務(wù)器之間的通信
        • 基于客戶機/服務(wù)器模式:在單機微內(nèi)核操作系統(tǒng)中無一例外都采取了C/S 模式,在單機下,通過向微內(nèi)核外的服務(wù)器發(fā)送請求,獲得相應(yīng),實現(xiàn)大部分的功能,如向進程管理服務(wù)器,文件管理服務(wù)器等發(fā)送請求,這些都是作為進程來實現(xiàn)的
        • 應(yīng)用"機制與策略分離"原理:機制->實現(xiàn)某一功能的執(zhí)行機構(gòu)(放在內(nèi)核中),策略->在機制基礎(chǔ)上,利用一些參數(shù)和算法優(yōu)化該功能(不再內(nèi)核中)
        • 采用面向?qū)ο蠹夹g(shù):采用面向?qū)ο蠹夹g(shù)來設(shè)計
    • 5.5 微內(nèi)核的基本功能:
      • 進程(線程)管理:進程的調(diào)度->機制部分,對于進程如何分類,優(yōu)先級的確認,都屬于策略,不放在內(nèi)核中
      • 低級存儲器管理:如實現(xiàn)將用戶空間的邏輯地址轉(zhuǎn)換為內(nèi)存空間的物理地址的頁表機制和地址變換機制,這一部分是依賴硬件,放在微內(nèi)核
      • 中斷和陷入處理:捕獲中斷和陷入事件,進行相應(yīng)的前期處理,如中斷保護和識別中斷和陷入的類型
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容