### 作業系統
- 作業系統是指為程式的生存提供乙個通用的土壤, 他為多個程式並存提供了條件, 同時避免每個程式都需要自己創造執行空間的精力,如果把程式比喻為人,那麼系統就是自然,人只有在自然中才能生存,假設人類要移民火星,人類首先要做的就是在火星上構建自然這個系統,然後人類才能生存,這個自然也可以理解為作業系統。
### 作業系統底層的硬體支援
- 圖靈機 記憶體 磁碟 鍵盤 滑鼠 路由器等其他裝置
### 程式執行的本質
- 圖靈機模型:乙個控制器 乙個控制演算法 乙個無限長的紙帶 乙個紙帶訪問器
- 圖靈機原理:控制器通過紙袋訪問器得到紙袋第乙個行的內容,然後將內容放入控制演算法中得到下一步的指令,將指令傳送給紙帶訪問器,紙帶訪問器向紙帶寫入字元或者移動紙帶, 不斷迴圈直到獲取結果。
- 現代計算機中, cpu就是控制器, 記憶體就是訪問器, 程式就是演算法, 硬碟 磁碟 網路 鍵盤 滑鼠都是紙帶。
### 為什麼需要作業系統
- 作業系統遮蔽了底層硬體的差異性, 如果沒有作業系統 程式就需要為每一台計算機單獨編寫**,因為計算機內部的硬體是不同的。
- 同時作業系統提供簡單的系統呼叫,是的程式不需要去關心複雜的硬體概念。
### 作業系統提出的解決方案
##### 程式只是乙個程序
- 作業系統將程式執行抽象為乙個程序, 程序可以理解為乙個party,party將內部與外部隔離開來, 通過將外部無意義的物體聚合到內部以完成一系列有意義的操作。
- 因為作業系統允許同時執行多個程式,這使得程序並行成為了可能,為了避免某個程序卡住 阻塞了其他程序的執行,作業系統提出了 分時並行的概念。
- 程式內部有可能會因為處理io導致整個程式的阻塞, 於是提出了執行緒的概念,執行緒與程序類似,程式可以將耗時的任務放入其他執行緒裡,而主線程負責響應使用者輸入。
##### 虛擬記憶體
- 作業系統可以同時執行的程式的數量受限於記憶體的大小, 為了突破記憶體的限制, 作業系統提出了虛擬記憶體的概念, 在程序被切入或者切出的時候 程序所屬的記憶體塊 也會被切入到記憶體或者切出到硬碟。
##### 檔案管理
- 磁碟只是乙個儲存資料的盤子,它本身沒有任何邏輯分類, 如果使用者希望獲取某個資訊,他要到磁碟中去尋找猶如大海撈針, 作業系統創造出了檔案管理的概念, 這樣使用者可以根據目錄尋找到指定檔案。
##### io
- 作業系統需要與其他硬體互動, 包括硬碟 滑鼠 印表機等, 這些硬體都會存在專門為該作業系統編寫的驅動, 這樣作業系統就可以通過驅動來控制這些硬體,
##### 死鎖
- 死鎖表示作業系統的組成部分, 而是作業系統的病症, 因為存在多個程序並行, 當出現競爭性資源的時候 就會出現死鎖。
### 作業系統架構
- 使用者
- 使用者程式 shell 編輯器
- 系統呼叫介面/標準庫函式 open/read/write
- 核心 程序管理/記憶體管理/檔案系統
- 硬體 cpu 硬碟
### 總結
- 現代作業系統在使用上越來越複雜, 並不是作業系統本身複雜, 而是因為作業系統上面裝了非常多的滿足不同場景的使用者程式, 非常多的使用者程式 使得電腦的使用越來越複雜 可以滿足的場景越來越多, 但是使用者看到的介面並不是作業系統而是簡單的作業系統與多個使用者程式的結合。實際上普通使用者根本看不到作業系統, 普通使用者使用的所有東西都是使用者程式。
作業系統總結
老師每次都要求我們考試之後,要再次看書,去做到真正的學習。我們在前一段時間的學習都是都是在積累,還沒有真正的收穫,這次我嚴格按照要求做到,也算是督促自己能夠養成好的習慣吧。這次我看書花費了乙個小時,但感覺很有收穫。先說一下再看之後的總體感受吧,考完之後忽然就覺得世界亮了 這裡說的有點誇張了 心裡總算...
作業系統概論總結
1.作業系統角色 管理者 魔術師和服務者 2.作業系統資源管理技術 復用 虛擬和抽象 復用 空分復用共享 時分復用共享 虛擬 把少變多 把多變少 作業系統中的基礎抽象 程序抽象 虛存抽象和檔案抽象 3.作業系統功能和特性 功能 處理器管理 儲存管理 裝置管理 檔案管理 聯網與通訊管理 特性 併發性 ...
作業系統總結一
pcb是作業系統感知程序存在的唯一標誌。程序與pcb一一對應,所有pcb被作業系統放在記憶體的固定區域形成程序表。程序表大小固定,這就是作業系統併發度,最多有多少個程序可以執行。掛起與啟用,掛起與阻塞 當作業系統負載調節時,先將一部分就緒的程序掛起,將其狀態資訊放到磁碟上,啟用時再拿回來。在調節,需...