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