作業系統知識點彙總前兩章

2022-09-04 22:51:17 字數 3694 閱讀 8757

第一章   作業系統引論

一、作業系統目標和作用

目標:有效性、方便性、可擴充性、開放性。

有效性:1.提高系統資源利用率、2.提高系統吞吐量

作業系統作用

os作為使用者與計算機硬體系統之間的介面(命令、系統呼叫、圖表視窗)

os作為計算機系統資源的管理者

os實現了對計算機資源的抽象

二.發展過程

1)多道批處理系統:在該系統中, 使用者所提交的作業都先存放在外存上並排成乙個佇列,稱為「後備佇列」;然後,由作業排程程式按一定的演算法從後備佇列中選擇若干個作業調入記憶體,使它們共享cpu和系統中的各種資源。

好處:(1)    提高cpu的利用率

(2)    可提高記憶體和i/o裝置的利用率

(3)    增加系統吞吐量

缺點:(1) 平均周轉時間長

(2) 無互動能力

需解決的問題:

(1) 處理機管理問題

(2) 記憶體管理問題

(3) i/o裝置管理問題

(4) 檔案管理問題

(5) 作業管理問題

2)分時系統:最關鍵的問題是如何使使用者能與自己的作業進行互動。即使有多個使用者同時通過自己的鍵盤鍵入命令,系統也應能全部地及時接收並處理。

使用者需求:人—機互動 、共享主機 、便於使用者上機

特徵:多路性、獨立性、及時性、互動性

3)實時系統:及時(或即時)響應外部事件的請求,在規定的時間內完成對該事件的處理,並控制所有實時任務協調一致地執行。

需求:實時控制、實時資訊處理

(1)    按任務執行時是否呈現週期性來劃分:週期性實時任務、非週期性實時任務。

(2)    根據對截止時間的要求來劃分:硬實時任務、軟實時任務。

三、作業系統基本特性

1.併發:在多道程式環境下,併發性是指在一段時間內,巨集觀上有多個程式在同時執行。

1)引入程序:在作業系統中引入程序的目的,是為了使多個程式能併發執行。

系統必須分別為每個程式建立程序

2).引入執行緒

通常都是把程序作為分配資源的基本單位,而把執行緒作為獨立執行和獨立排程的基本單位。

2.共享

方式:(1)互斥共享方式          (2)同時訪問方式

臨界資源(獨佔資源):在一段時間內只允許乙個程序訪問的資源。

3.虛擬:是指通過某種技術把乙個物理實體變為若干個邏輯上的對應物。

4.非同步性:程序是以人們不可預知(每次執行時系統中有其他哪些程序是不同的)的速度向前推進,此即程序的非同步性。

四、作業系統功能

1)處理機管理功能程序控制、程序同步、程序通訊、排程

2)儲存器管理的主要功能:記憶體分配、記憶體保護、位址對映、記憶體擴充

3)裝置管理功能:緩衝管理、裝置分配、裝置處理

4)檔案管理功能:檔案儲存空間的管理、目錄管理、檔案的讀寫管理和保護。

5)使用者介面:命令、程式、圖形。

五、作業系統的結構設計

1.微核心os結構:將作業系統劃分為兩部分:微核心和多個伺服器。

1)足夠小的核心2)客戶/伺服器模式

3)應用「策略與機制分離」原理4)採用物件導向技術

2.微核心功能:程序管理、低階儲存器管理、中斷和陷入管理。

3.微核心問題:在完成一次客戶對os提出的服務請求時,需要利用訊息實現多次互動和進行使用者/核心模式及上下文的多次切換。

第二章:程序管理

一、程序的基本概念:

1.程式的順序執行,特徵:順序性、封閉性、可再現性。

2. 前趨圖:描述程序之間的執行的前後關係。

3. 程式的併發執行及其特徵:間斷性、失去封閉性、不可再現性。

4.1)程序的特徵與狀態:特徵:結構特徵、動態性、併發性。獨立性、非同步性。

程序定義:程序是程序實體的執行過程,是系統進行資源分配和排程的乙個獨立單位。

2)程序的基本狀態:就緒、執行、阻塞。

3)掛起狀態:掛起是指把乙個程序從記憶體換到外存。掛起就緒和掛起阻塞。

4)建立狀態和終止狀態

5.程序控制塊pcb

1)程序控制塊的作用:使乙個在多道程式環境下不能獨立執行的程式(含資料),成為乙個能獨立執行的基本單位,乙個能與其它程序併發執行的程序。pcb是程序存在的唯一標誌。

2)程序控制塊中的資訊:

(1)程序識別符號(2)處理機現場資訊(3)程序排程資訊(4)程序控制資訊

3)程序控制塊的組織方式:鏈結方式、索引方式

二、程序控制

主要任務:建立程序、撤銷程序、實現程序狀態的轉換

程序的建立:(1)程序圖、(2)引起建立程序的事件(3)程序的建立

程序的終止:正常結束、異常結束、外界干預。

程序的阻塞與喚醒:

1)引起事件:請求系統服務、啟動某種操作、新資料尚未到達、無新工作可做

2)程序阻塞過程:程序呼叫阻塞原語block把自己阻塞。程序的阻塞是程序自身的一種3)主動行為。

程序喚醒過程:呼叫喚醒原語wakeup(),將等待該事件的程序喚醒。

程序的掛起與啟用

1) 掛起 當出現了引起程序掛起的事件時,系統將利用掛起原語suspend( )將指定程序或處於阻塞狀態的程序掛起。

2) 啟用 當發生啟用程序的事件時,系統將利用啟用原語active( )將指定程序啟用。

三、程序同步

1.基本概念:

①    兩種制約關係:間接、直接

②    臨界資源

③    臨界區

④    同步機制應遵循的規則

2.訊號量機制

整型訊號量、記錄型訊號量、and型訊號量、訊號量集

四、程序同步的問題

1.生產者消費者問題

①.利用記錄型訊號量解決生產者—消費者問題

②.利用and訊號量解決生產者—消費者問題

2.哲學家進餐問題

①.利用記錄型訊號量解決

②.利用and訊號量解決

3.讀者寫者問題

①.利用記錄型訊號量解決

②.利用and訊號量解決

五、程序通訊

1, 程序通訊的型別

共享儲存器系統、訊息傳遞系統、管道系統:①互斥②同步③確定對方是否存在

訊息傳遞通訊的實現方法

1) 直接通訊方式

2) 間接通訊方式

(1)信箱的建立和撤消 (2)訊息的傳送和接收

3.訊息傳遞系統實現中的若干問題

1)通訊鏈路

2)訊息的格式

3)程序同步方式

4)訊息緩衝佇列通訊機制

六、執行緒

1. 引入執行緒的目的

1)執行緒目的:為使程式能併發執行,系統還必須進行以下的一系列操作:建立。撤銷、切換程序。

2)執行緒的屬性

輕型實體;獨立排程分派、獨立執行的基本單位;併發執行;共享程序資源。

3)執行緒的建立

4)多執行緒os中的程序

2.核心支援執行緒和使用者級執行緒

1)核心支援執行緒

2)使用者級執行緒

3.執行緒控制

1)核心支援執行緒的實現

①    執行時系統②核心控制線程

作業系統知識點彙總

1.2 狀態轉換 1.3 程序排程 1.4 中斷 1.5 程序併發 1.6 程序死鎖 1.7 程序的通訊方式 2 使用者態和核心態 3 批處理系統和分時系統 4 程式記憶體結構 程序是系統進行分配和排程的基本單位 程序 程式 資料 pcb pcb 程序控制模組 執行緒減少系統管理的開銷,使併發更快 ...

作業系統知識點

tcp的擁塞控制由4個核心演算法組成。https 把資料進行非對稱加密,然後客戶端從第三方伺服器獲取證書 加密後的公鑰 http完整請求 建立tcp連線,傳送http命令請求頭,web伺服器應答,關閉tcp連線 tcp 三次握手 缺陷 洪氾攻擊 解決辦法 四次揮手 長連線 短連線 程序 執行緒 併發...

作業系統知識點

協程 coroutines 是一種比執行緒更加輕量級的存在,正如乙個程序可以擁有多個執行緒一樣,乙個執行緒可以擁有多個協程。協程不是被作業系統核心所管理的,而是完全由程式所控制,也就是在使用者態執行。這樣帶來的好處是效能大幅度的提公升,因為不會像執行緒切換那樣消耗資源。程序與執行緒見 分頁與分段 分...