操作系統筆記(一、緒論)

—————目錄—————
緒論
進程與調度 -》CPU
存儲管理 -》內存
設備管理 -》外設
文件管理 -》文件 -》外存
———————————

第一章 緒論
1.1 什麼是操作系統(4種觀點)
1.2操作系統的系統需求
1、OS的功能性需求(用戶接口)
2、OS的非功能性強
3、OS對硬件平臺的依賴
4、OS的重要概念(作業、進程、線程、虛擬存儲、文件’)
1.3 OS的演變、類型及特徵
1、操作系統升級的原因
2、OS的演變(無操作系統,單道批處理、多道批處理、分時、實時)
3、多道批處理出現的問題的解決辦法?
4、多道批處理與分時的比較
5、現代OS的類型
6、現代OS的特徵(併發、資源共享)
1.4 OS體系結構
1、系統的設計步驟?
2、常見的操作系統的總體結構風格?
3、基礎平臺子系統(分層/分級/分塊)
4、雙模式平臺子系統(單/多/雙模式,用戶/內核模式)
———————————
第一節
1.1 、什麼是操作系統?
四種觀點
①用戶環境觀點:用戶使用計算機的接口
②虛擬機器觀點:爲應用程序提供虛擬機器,通過軟件提升硬件性能
③資源管理器觀點:管理系統軟硬件資源(分配/回收/控制)
【本書觀點】
④作業組織觀點:組織作業,協調作業運行次序

計算機層次 用戶
應用程序 用戶
開發工具、程序開發平臺 程序員
操作系統 基於操作系統的程序設計
計算機硬件 操作系統設計者

第二節
1.2、操作系統的功能性需求?
1、

OS功能需求 解釋
計算機用戶需要的用戶命令 普通用戶使用,所有用戶命令構成的集合稱爲用戶接口,比如圖形界面、鼠標點擊
應用軟件需要的系統調用 程序接口或者應用程序編程接口API

2、非功能性需求?
性能:①系統吞吐量,單位時間系統完成的任務。②響應時間。③用戶數的支持量,比如買車票,用戶量不足,系統崩潰了。④公平性 ⑤可靠性 ⑥安全性 ⑦可伸縮性,可配置性,可擴展性,這是對於硬件設備的要求 ⑧可移植性
3、操作系統對硬件平臺的依賴?
①分時系統需要計時器、②中斷、③直接存儲器存取DMA、④特權指令通過硬件支撐快準狠、⑤存儲保護的機制(地址轉換),有沒有地址越界,MMU地址存儲單元
4、基本概念
①作業 :一次上機過程,計算機所做工作的集合。分爲聯機作業和脫機的作業。
②線程 :程序的一次相對獨立的運行過程,線程是系統調度的最小單位。CPU被線程佔用,CPU是線程的資源,顯示器被線程佔用,顯示器是線程資源
③進程: 系統分配資源的基本對象,擁有資源的最小實體
④虛擬存儲 ; 進程的邏輯地址空間,把外存的一部分虛擬成內存
⑤文件 : 命名的字節流
此圖引用:http://c.biancheng.net/view/1261.html
在這裏插入圖片描述
第三節
1、操作系統升級原因?
①有漏洞,需要修改完善系統, 修改(打補丁)②提供新的服務(升級),比如有數碼相機了,操作系統就要加這個功能 ③硬件升級,現在的硬件包含驅動程序 ④性能要求,併發模擬並行,操作系統擴充硬件沒有的功能。
2、操作系統的演變

OS演變 解釋
串行系統/無操作系統 手動調度,用手扳按鈕
單道批處理、簡單批處理系統 ”Monitor住在內存裏面(監督程序常駐內存),負責把外存的Job調到內存裏面,代替手動調度。之所以叫單道,因爲內存裏面只有一個JOB 。 等待I/O時,運行效率低
多道批處理 多道用戶程序進內存,需要內存管理,需要CPU調度 宏觀上多任務同時運行,微觀上多任務在CPU上交替運行。問題:競爭資源,如何高效使用資源。 多道程序可能相互影響,如何協調並正確運行(同步)
分時系統 在多道上面,給每個進程固定的時間,到點了,把資源給別人用。先排隊,再分時。 適合交互式系統,要求響應時間短。分時系統是爲了在基於多道程序系統下面處理多個交互式作業。一個進程到點了,接着來了一箇中斷,中斷要消耗時間,所以中斷多了系統開銷大。又比如打印不能中斷,所以分時系統是在某種需求的情況下才會提供。
實時系統 分時系統

3、多道批處理出現的問題的解決辦法?
①保證系統內部正確的同步。CPU內部的部分進程要同步,在操作系統中相互協調叫同步。比如打印進程去打印發現計算進程還沒計算好,那麼返回去繼續計算,再打印。
②數據的互斥。讀寫、寫寫、寫讀,可能會出現互斥。
③操作的不確定性,CPU 內部的線程可能相互影響
④死鎖
4、多道批處理與分時的比較

多道批處理 分時系統
主要目標 處理器的利用率提高 響應時間儘量短
提交命令的方式 有作業控制語言來提交相應的命令 用戶通過終端來提交相應的命令

5、現在OS的基本類型
按硬件平臺分:
①單機OS : 一個操作系統管理一臺計算機
②並行OS : 硬件平臺是並行的,多個CPU實現並行機,這樣的情況下需要並行的OS,任務來了,上哪個CPU,CPU和CPU之間的問題
③網絡OS : 更強調網絡資源的問題。單說網絡操作系統的不多了,Windows具不具備網絡資源管理功能?在一個局域網裏面,很多電腦共用一個打印機,也是有網絡操作功能,現在很多操作系統都兼顧了網絡功能
④分佈式OS : 分佈式系統不知道任務發給誰,請求的任務誰誰完成的。DNS 域名解析一層層,接收到了結果,但不知道到哪一層解析完的
本課程介紹的是單機OS
按功能特徵分:
① 批處理系統:批處理系統強調有一批作業能運行,強調吞吐量要大。
②分時系統:使用戶感覺到響應時間很快
③實時系統 :實時系統又分爲 實時信息處理系統 和 實時控制系統
6、現代OS兩個基本特徵
①任務共行:宏觀上看,多個任務同時運行;從微觀上看,任務共行使單處理機系統中的任務併發。任務共行也指多處理機下的任務並行。具體由任務管理器管理
②資源共享:宏觀上同時使用資源,微觀上交替互斥使用資源。讀寫磁盤靠磁頭,多個磁頭就可以一起使用硬件資源。具體由資源管理器管理
③任務管理模型:
Task : 是個計算過程。在現代OS,任務使用線程和進程這兩個基本概念共同表是。任務管理模型是由線程狀態轉換圖表示。
④資源管理模型;
資源是指由程序和數據組成的軟件資源,以及包含CPU,存儲器,i/O設備等在內的硬件資源。 通常情況下,軟件資源採用互斥(競爭)的機制,對硬件資源,系統採用分配的機制。資源管理,進程申請資源,系統看到有空閒資源,分配給他,進程使用這個資源,等他使用完了,告訴OS,OS儘快回收。高效資源使用就是儘快分配儘快回收。

第四節 OS的體系結構
1、系統的設計步驟?
需求分析 ->系統設計 ,確定體系結構 ,軟件部件設計->編碼實現 ->產品測試
2、常見的操作系統的總體結構風格?
①用戶接口子系統:(用戶使用)用戶接口子系統提供計算機用戶需要的用戶命令。
②基礎平臺子系統:(程序員使用)提供應用軟件需求的系統調用。
③聯繫:用戶接口子系統與基礎平臺子系統之間的關係是單向性,具體地說,用戶接口子系統對基礎平臺子系統是調用關係。基礎平臺子系統是支撐上面的用戶接口子系統。關係如下:
在這裏插入圖片描述
3、基礎平臺子系統

結構風格 介紹 優缺點
分層結構 嚴格分層,依賴直接下層 分層困難,逐層訪問效率低,嚴格分層結構實現困難
分級結構 分級不太嚴格,依賴其下各層 優缺點介於分層和分塊之間
分塊結構 Linux、 模塊化設計,可任意調用其他模塊 修改一個模塊可能影響其他模塊,關係複雜

4、雙模式平臺子系統
①單模式:
使用單模式結構的基礎平臺子系統,應用軟件和基礎平臺子系統在同一CPU特權模式下運行.DOS
②多模式:
提供多個保護級別,多個模式需要切換,會降低系統性能
③雙模式:
win、Linux都用雙模式。提供2種保護特權,訪問前會判斷是否有相應權限。關於模式切換:用戶模式訪問系統模式需要通過一些規則。黑客就是繞過軟中斷,繞過規則,進到系統模式裏面。

雙模式 介紹
核外子系統 運行用戶程序
核心系統 運行操作系統內核

④微核結構 : 剔除內核中的多餘成分,只留下最必要的部分。設備驅動系統、文件系統、虛擬存儲管理器、安全系統 可以拿到核外

附:本篇文章參考電子科技大學OS慕課和學校老師整理的筆記

老師的金句總結:

第1句:操作系統是管理計算機軟硬件資源的系統軟件。操作系統的功能有處理器管理(管理CPU、進程運行)、存儲管理(管理內存)、設備管理(管理I/O設備)、文件管理(管理文件、磁盤) 【重點 】

第2句:操作系統爲用戶提供接口來使用計算機,爲普通用戶提供用戶命令,爲程序員提供系統調用

第3句:進程是資源分配的基本單位,線程是調度的基本單位

第4句:3種基本操作系統是批處理操作系統、分時操作系統、實時操作系統。其中批處理強調週轉時間和吞吐量;分時系統強調交互性和響應時間;實時系統強調實時性和可靠性。 【重點 】

第5句:併發是指一段時間內多個任務(進程)同時執行。宏觀上是同時的,微觀上是交替運行的。單CPU只能是併發執行。

第6句:系統爲了安全性考慮,分爲用戶模式和內核模式。用戶進程運行在用戶模式,操作系統進程運行在內核模式。從用戶模式進入內核模式要進行安全性檢查。

其中第1句和第4句是重中之重。

下一篇: 第二章 進程管理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章