作業系統基礎筆記

2021-10-21 06:18:16 字數 2901 閱讀 5061

作業系統:控制和管理整個計算機系統的硬體和軟體資源,並合理組織排程計算機工作和資源的分配,以提供給使用者和其他軟體方便的介面和環境,它是計算機系統中最基本的系統軟

件\color

系統軟體

。程序:程序是乙個程式執行過程。執行前需要將該程式放到記憶體中,才能被cpu處理。

1.1.2.1作為系統資源的管理者的功能:處理機管理、儲存器管理、檔案管理、裝置管理;目標:安全高效

1.1.2.2作為使用者和計算機硬體之間的介面:命令介面、程式介面、gui;目標:方便使用者使用

**命令介面:**允許使用者直接使用,分為聯機命令介面和離線命令介面。

聯機命令介面:使用者說一句,系統做一句(互動式命令介面);離線命令介面:使用者說一堆,系統做一堆(批處理命令介面)

**程式介面:**允許使用者通過程式間接使用。(也叫系統呼叫,系統呼叫命令,廣義指令)

命令介面和程式介面統稱為使用者介面

**gui:**現代作業系統中最流行的圖形使用者介面。

1.1.2.3作為最接近硬體層次:實現對硬體機器的拓展

沒有任何軟體支援的計算機稱為裸機,把覆蓋了軟體的機器稱為擴充機器,又稱之為虛擬機器。

這些事件巨集觀上

是同時發

生的

\color

巨集觀上是同時

發生的,但微觀上

是交替發

生的

\color

微觀上是交替

發生的. 操作系

統的併發

性\color

作業系統的並

發性是指計算機系統中同時存在著多個執行著的程式。

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

共享分為:互斥共享方式和同時共享方式

互斥共享方式

巨集觀上互斥,乙個大時間段內只允許乙個程序訪問該資源。攝像頭不能同時由兩個程式同時使用。

1.2.2.2同時共享方式

使用者感受到的記憶體大於實際電腦的記憶體——「空分復用技術」,併發性也用到了

單核cpu,但開啟了5個程式,感覺是5個cpu同時工作——「分時復用技術」,本質上就是併發性

在多道程式環境下,允許多個程式併發執行,但由於資源有限,程序的執行不是一貫到底的,而是走走停停,以不可預知的速度向前推進,這就是程序的非同步性。只有系統擁有併發性,才有可能導致非同步性。

1.3.1.1兩種指令:特權指令和非特權指令

**特權指令:**不允許使用者程式使用,例如記憶體清零指令。

**非特權指令:**允許使用者程式使用,例如普通的運算指令。

1.3.1.2兩種處理器狀態:核心態和使用者態

**使用者態(目態):**差此時cpu只能執行非特權指令。

**核心態(管態):**特權指令、非特權指令都可執行。

用狀態暫存器(psw)中的某標識位來標識當預處理器處於什麼狀態。

1.3.1.3兩種程式:核心程式和應用程式

**核心程式:**作業系統的核心程式是系統的管理者,既可以執行特權指令,也可以執行非特權指令,執行在核心態。

**應用程式:**為了保證系統能安全執行,普通應用程式只能執行非特權指令,執行在使用者態。

1.3.2.1核心中與硬體關聯緊密的模組

**時鐘管理:**實現計時功能

**中斷處理:**負責實現中斷機制

**原語:**是一種特殊的程式,處於作業系統最底層,是最接近硬體的部分,這種程式的執行具有原理性——其執行只能一氣呵成,不可中斷,執行時間較短、呼叫頻繁。

1.3.2.2對系統資源進行管理的功能(有些系統不歸為核心功能)

程序管理、儲存器管理、裝置管理

1.3.3.1大核心

**概念:**將作業系統的主要功能模組都作為系統核心,執行在核心態。

**優點:**高效能。**缺點:**核心**龐大,結構混亂,難以維護。

1.3.3.2微核心

**概念:**只把最基本的功能保留在核心。

**優點:**核心功能少,結構清晰,方便維護。**缺點:**需要頻繁地在核心態和使用者態之間切換,效能低。

(1)當中斷發生時,cpu立刻進入核心態

(2)當中斷發生後,當前執行的程序暫停執行,並由作業系統核心對中斷進行處理

(3)對於不同的中斷訊號,會進行不同的處理

只有中斷使cpu從使用者態切換到核心態,使作業系統獲得計算機的控制權。切換是通過執行乙個特權指令,將狀態字(psw)的標誌位設定為「使用者態」。有了中斷,才能實現多道程式的併發執行。

(1)內中斷的一種分類

自願中斷——指令中斷或強迫中斷:硬體中斷(例如缺頁)或軟體中斷(例如整除0)

(2)內中斷的另一種分類

**陷阱、陷入:**有意而為之的異常,如系統呼叫。

**故障:**由錯誤條件引起的,可能被故障處理程式修復,如缺頁。

**終止:**不可恢復的致命錯誤造成的結果,終止處理程式不再將程式返回給引發終止的應用程式,如整除0。

外設請求(i/o操作完成發出的中斷訊號)或人工干預(使用者強制終止乙個程序)

(1)執行完每個指令之後,cpu都要檢查當前是否有外部中斷訊號

(2)如果檢測到外部中斷訊號,則需要保護被中斷程序的cpu環境(如程式狀態字psw,程式計數器pc、各種通用暫存器)

系統呼叫的相關處理需要在核心態下進行

**裝置管理:**完成裝置的 請求/釋放/啟動 等功能

**檔案管理:**完成檔案的 讀/寫/建立/刪除 等操作

**程序控制:**完成程序的 建立/撤銷/阻塞/喚醒 等功能

**程序通訊:**完成程序之間的 訊息傳遞/訊號傳遞 等功能

**記憶體管理:**完成記憶體的 分配/** 等功能

傳遞系統呼叫引數->執行陷入指令(使用者態)->執行系統呼叫相應服務程式(核心態)->返回使用者程式

**注意:**陷入指令是在使用者態執行的,執行陷入指令之後立即引發乙個內中斷,從而cpu進入核心態。發出系統呼叫的請求是在使用者態,而對系統呼叫的相應處理在核心態下進行。

作業系統學習筆記 作業系統基礎

先看下面的一張圖 你會聯想到什麼?沒錯這是整個計算機啊。我們講計算機是用來幫助人們解決一些實際問題的工具 那我們不妨先 一下,在螢幕上輸入 hello 計算機內部都會進行哪些工作吧。輸出 hello 的工作 cpu發指令給記憶體,把記憶體位址為300的地方東西拿出來,寫入到777視訊記憶體位址。螢幕...

作業系統基礎

乙個計算機系統主要包括處理器 記憶體 硬碟 鍵盤 滑鼠等輸入輸出裝置。但是硬體的操作十分複雜繁瑣,程式設計師無法全部掌握,因此需要使用作業系統處理這些硬體。作業系統位於計算機硬體和應用軟體之間,本質是乙個軟體。它有作業系統的核心以及系統呼叫兩部分構成。核心 執行於核心態,管理硬體資源 系統呼叫 執行...

作業系統基礎

作業系統 當系統執行起來時,記憶體首先載入bios,完成加電自檢 檢測有哪些裝置可用 然後載入作業系統核心,剩下的記憶體用來分配給其他應用程式的。這裡有乙個問題,比如乙個應用程式啟動需要2mb,過一會需要載入一些東西,又需要2mb,然後又重新申請空間,而這兩部分記憶體是不連續的,這就造成了碎片 sh...