操作系統基礎知識總結(連載)
-------------------------------------------------------第一章------------------------------------------------------------------
- 操作系統的定義:控制和管理計算機軟硬件資源、合理組織計算機工作流程,以方便用戶使用計算機的程序的集合。
- 操作系統的目標:方便性、有效性、可擴充性、開放性
- 操作系統的五個基本功能:存儲管理、處理機管理、設備管理、文件管理、用戶接口
- 操作系統的發展過程:
未配置操作系統的計算機系統:人工操作方式、脫機輸入輸出方式
批處理系統:
分時系統:分時系統的特征:多路性,交互性,獨立性,及時性
實時系統:實時任務的類型:周期性實時任務/非周期性實時任務、硬實時任務/軟實時任務
實時系統的特征:多路性、交互性、獨立性、及時性、可靠性
微機操作系統:單用戶單任務操作系統、單用戶多任務操作系統、多用戶多任務操作系統
多處理機操作系統:模式:非對稱多處理模式、對稱多處理模式
網絡操作系統:模式:客戶-服務器模式(CS模式)、對等模式(P2P模式)
分布式操作系統:與網絡OS的比較:分布性、並行性、透明性、共享性、健壯性
嵌入式操作系統
- 操作系統的五個基本特征:並發性、共享性、虛擬性、異步性、隨機性
- 操作系統結構:傳統結構:無結構OS(第一代)、模塊化OS(第二代)、分層式結構OS(第三式)
現代結構:微內核結構OS
-------------------------------------------------------第二章------------------------------------------------------------------
- 前趨圖:有向無環圖
- 程序順序執行:特征:順序性、封閉性、可再現性
- 程序並發執行:只有不存在前趨關系的程序之間才有可能並發執行。
特征:間斷性、失去封閉性、不可再現性
- 進程:一個具有一定獨立功能的可並發執行的程序,在一個數據集合上的運行過程。
- 進程的特征:動態性、並發性、獨立性、制約性、異步性、結構特征
- 進程的結構特征:進程=程序+數據+PCB
- 進程控制塊(PCB):為了使參加並發執行的每個程序(含數據)都能獨立的運行,在操作系統中為之配置的一個專門的數據結構。PCB是進程存在的唯一標誌。
PCB的組織方式:線性方式、鏈接方式、索引方式
- 進程的三種基本狀態:就緒狀態(Ready)、執行狀態(Running)、阻塞狀態(Block)
新引入狀態:創建狀態(New)、終止狀態(Teminated)
新操作引入:掛起、激活。新操作的引入使得:就緒->活動就緒、靜止就緒
阻塞->活動阻塞、靜止阻塞
- 引起進程創建的事件:用戶登錄、作業調度、提供服務、應用請求
- 進程的創建:申請空白PCB、為新進程分配資源、初始化PCB、將新進程插入就緒隊列
- 進程的終止:正常結束、異常結束、外界幹預
- 線程的定義:進程中的一個實體,是能夠被系統獨立調度和分配的基本單位。線程是進程的一個組成部分,線程由進程創建,一個進程中至少存在一個線程,線程還可以創建其他線程。可以當作輕型進程為線程,重型進程為進程。
- 線程的組成(NT為例):唯一的標識:客戶ID、一組處理及狀態寄存器、分別在用戶態和核心態下使用的兩個堆棧、一個私用寄存器。
- 線程的實現方式:內核支持線程KST、用戶級線程ULT、組合方式
-------------------------------------------------------第三章------------------------------------------------------------------
- 進程同步:對多個相關進程在執行次序上進行協調,使並發執行的諸進程之間能按照一定的規則或時序共享系統資源。
- 進程關系:間接制約/互斥關系、直接制約/同步關系
- 臨界資源:一次僅允許一個進程使用的資源。死鎖就是在進程申請同時使用多個臨界資源時候,臨界資源處理不當的情況。
- 臨界區:進程中訪問臨界資源的代碼成為臨界區
- 同步機制應遵循的規則:空閑讓進、忙則等待、有限等待、讓權等待
- 互斥問題的解決辦法:可以將臨界區的標準看成是一個鎖,顯然為了防止多個進程同時測試大鎖為打開的情況,測試和關鎖必須是連續的,不允許分開進行。
軟件方法:有一定難度並且有局限性
關中斷:實現互斥最簡單辦法
TS實現互斥:借助一條硬件指令,這條指令可以看作一個函數過程,執行過程不可分割及一條原語。
利用Swap指令進行互斥:有效,但是其他訪問不停地進行測試,處於忙等狀態,不符合讓權等待的原則。
操作系統基礎知識總結(連載)