下篇和下下篇在這裡
二 作業系統的啟動、中斷、異常、系統呼叫
三 計算機體系結構,位址空間、連續記憶體分配(四)非連續記憶體分配:分段,分頁
五 覆蓋和交換,虛擬記憶體
index:
1-2 什麼是作業系統
1-3 為什麼學習os
1-4 怎麼學習作業系統
1-5 作業系統例項
1-6作業系統歷史
1-7作業系統的結構
1-2 什麼是作業系統
沒有清晰的定義,主要實現2個功能:○1管理,支援應用軟體,○2呼叫分配資源
層次在硬體之上,應用程式之下。
shell linux,windows,android的介面 如gui
kernel 核心 是作業系統的重點,功能包括4部分:
cpu(cpu排程,程序,執行緒管理)
記憶體(物理記憶體,虛擬記憶體)
檔案 disk(磁碟塊),較為底層,抽象為檔案系統 (檔案系統管理)
中斷處理和外設裝置驅動
kernel 的特徵:
1. 併發:多個執行的程式需要os管理和排程
---併發:在一段時間內有多個程式可以執行
並行:在乙個時間點上有多個程式 需要有多個cpu
2. 共享:分時,互斥共享,同時對乙個資源只有乙個程式可以訪問,但可以通過隔離成兩塊,達到「同時」訪問
3. 虛擬:作業系統面對的是硬體。將cpu虛擬化成程序,磁碟虛擬化成檔案,記憶體—>虛擬空間,每個應用程式/使用者覺得有乙個計算機專門為他服務
4. 非同步:乙個cpu的情況下,只能有乙個程式在跑,程式的執行不是一貫到底,而是走走停停,但只要執行環境相同,os保證程式執行的結果相同。
1-3 為什麼學習os
os是一門綜合課程,基礎包括程式語言,資料結構,演算法,計算機體系結構,所以放在後面學習。學概念,原理,源**,自己實現。
作業系統很powerful 很底層 很cool
只要做大型系統軟體的開發,就繞不開。
作業系統是電腦科學研究的基石之一。
頂級會議,sosp,usenix。
為什麼作業系統很cool很重要?
**量巨大,windows xp 4500萬行;
併發,非同步,使程式設計很容易出錯;
管理原始硬體,應對非法行為,時間依賴;
核心,**要求高效可靠,低耗,穩定性強(系統安全)
課本滯後:併發和排程演算法,只是作業系統的一小部分,i/o磁碟排程,已經交給硬體去管理,程序排程,磁碟排程已經是關注度比較小的點了。
1-4怎麼學習作業系統?
coding和讀**
1-5作業系統例項
unix家族 unix bsd(伯克利軟體發行版) 寫c的那倆
bsd由伯克利在unix基礎上改編,尤其網路協議方面有獨到之處。
開源,產業界。惠普,蘋果
linux家族 乙個學生搞出來的 紅帽子,deforo ,suse
安卓終端是linux核心,移動端佔據最多
dos-> windows家族 桌面龍頭 伺服器和終端是linux最大
使用者友好
1-6作業系統歷史
早期只是監控器和載入作用,紙帶機上輸入-計算-輸出,序列過程1-7作業系統的結構cpu高速了,順序執行,批處理,併發的特徵
記憶體容量大,cpu執行多個程式,重用cpu,減少i/o開銷,多道程式來回切著跑
為了和使用者互動,提出分時系統。程式a占用千分之一秒,程式b占用千分之一秒,使使用者認為自己「獨享」一台機器。外設時鐘定期產生time interrupt
cpu 電晶體 越來越便宜,個人電腦作業系統,硬體**在下降,效能提公升一倍,**下降一倍,逐漸轉成了使用者介面和api,很多需求都轉變了。
2個趨勢,乙個是積體電路發展越來越快,乙個cpu中整合多個cpu核,普遍是多核多處理;二是網路得到飛速發展,分布式作業系統,很多操作放到資料中心完成,前端->後端,松(通過internet互動,及時有效)、緊耦合(資料中心,緊密的整合系統完成計算)
之後會怎麼樣?會有更多的嵌入式裝置,多個服務乙個人,主機型計算->普適性計算,多個計算機圍繞著乙個人服務
早期簡單,ms-dos,沒有模組化,組合語言
unix面對的是伺服器,有layer的概念,c語言,可移植
微核心的設計,盡量把核心縮小,檔案和網路之類都放到外圍,通過訊息傳遞來耦合(松耦合)內外界,可擴充套件。但效能下降了。學術界還有一種,核心分兩塊,一塊處理硬體,完成複製,稱為exokernel即外核,另一塊為內部os,和具體應用打交道。因為應用和內部os是緊耦合,速度會快。
虛擬機器 vms 跑在傳統os之下,在一台物理機器下,每個虛擬機器介面是乙個原始計算機系統的由副本並完成所有的處理器指令。
|————| |————|
|—vm1—| .. |—vm9—|
|————| |————|
———虛擬機器監視器——
物理機硬體
cpu越來越強,硬體能力過剩,
1-8 第一課小結
課程概述,作業系統是什麼,為什麼要學,咋學,例項,歷史演變,結構設計
清華大學作業系統公開課筆記(向勇 陳渝)
核心功能 物理記憶體管理 虛擬記憶體管理 檔案系統管理 中斷處理和io裝置驅動 底層硬體 核心特徵 併發 指一段時間內多個程式執行 而並行是指乙個時間點上多個程式執行,要求多個cpu 計算機系統中同時存在多個執行的程式,需要os管理和排程 共享 同時 訪問或互斥共享 虛擬利用多道程式設計技術,讓每乙...
作業系統筆記 清華大學陳渝
分頁page 記憶體塊大小固定 幀 頁表 page frame 解決頁表過大 最不常用演算法 least frequently used,lfu 將訪問次數最少的資料換出 belady現象,分配更多物理記憶體,缺頁反而更多的現象,如fifo 全域性頁面置換演算法 抖動 thrashing 記憶體嚴重...
作業系統筆記 清華大學陳渝
分頁page 記憶體塊大小固定 幀 頁表 page frame 解決頁表過大 最不常用演算法 least frequently used,lfu 將訪問次數最少的資料換出 belady現象,分配更多物理記憶體,缺頁反而更多的現象,如fifo 全域性頁面置換演算法 抖動 thrashing 記憶體嚴重...