1.1.4類別
1.1.5os kernel的特徵
1.2為什麼學習系統
1.3如何學習作業系統
1.4作業系統例項
1.5作業系統的歷史
1.6作業系統結構
作業系統(operation system,簡稱os)是管理計算機硬體與軟體資源的電腦程式。作業系統需要處理如管理與配置記憶體、決定系統資源供需的優先次序、控制輸入裝置與輸出裝置、操作網路與管理檔案系統等基本事務。
作業系統是乙個可以管理cpu、記憶體和各種外設,並管理和服務應用軟體的軟體程式管理、資源管理、裝置管理、檔案管理cpu
每個 cpu 都有一組可以執行的特定指令集。因此,x86 的 cpu 不能執行 arm 的程式並且 arm 的 cpu 也不能執行 x86 的程式。由於訪問記憶體獲取執行或資料要比執行指令花費的時間長,因此所有的 cpu 內部都會包含一些暫存器來儲存關鍵變數和臨時結果。
記憶體多執行緒不會提供真正的並行處理。在乙個時刻只有乙個程序在執行。
儲存器系統採用一種分層次的結構,頂層的儲存器速度最高,但是容量最小,成本非常高,層級結構越向下,其訪問效率越慢,容量越大,但是造價也就越便宜。
儲存器的頂層是 cpu 中的暫存器,訪問時間最短,但是容量最小。
位於暫存器下面的是快取記憶體,主存被分割成快取記憶體行(cache lines)為64位元組,使用最頻繁的快取記憶體行儲存在位於 cpu 內部或非常靠近 cpu 的快取記憶體中。
隨機儲存器(ram):記憶體中最重要的一種,也叫主存,是與cpu直接交換資料的內部儲存器。它可以隨時讀寫(重新整理時除外),而且速度很快,通常作為作業系統或其他正在執行中的程式的臨時資料儲存介質。ram工作時可以隨時從任何乙個指定的位址寫入(存入)或讀出(取出)資訊。它與rom的最大區別是資料的易失性,即一旦斷電所儲存的資料將隨之丟失。ram在計算機和數字系統中用來暫時儲存程式、資料和中間結果。現代 cpu 設計了兩種快取。第一級快取或者說是 l1 cache 總是位於 cpu 內部,用來將已解碼的指令調入 cpu 的執行引擎。對於那些頻繁使用的關鍵字,多數晶元有第二個 l1 cache 。典型的 l1 cache 的大小為 16 kb。另外,往往還設有二級快取,也就是 l2 cache,用來存放最近使用過的關鍵字,一般是兆位元組為單位。l1 cache 和 l2 cache 最大的不同在於是否存在延遲。訪問 l1 cache 沒有任何的延遲,然而訪問 l2 cache 會有 1 - 2 個時鐘週期的延後。
在上面的層次結構中再下一層是主存,這是記憶體系統的主力軍,主存通常叫做 ram(random access memory)
除了主存之外,許多計算機還具有少量的非易失性隨機訪問儲存器。它們與 ram 不同,在電源斷電後,非易失性隨機訪問儲存器並不會丟失內容。rom(read only memory) 中的內容一旦儲存後就不會再被修改。它非常快而且便宜。
rom (read only memory):唯讀儲存器是一種半導體儲存器,其特性是一旦儲存資料就無法改變或刪除,且內容不會因為電源關閉而消失。在電子或電腦系統中,通常用以儲存不需經常變更的程式或資料。
下乙個層次是磁碟(硬碟)
固態硬碟(solid state disk, ssd)不是磁碟
外設任何複雜的東西都可以加一層**來解決,這是計算機或者人類社會很普世的乙個解決方案
每種型別的裝置控制器都是不同的,所以需要不同的軟體進行控制。專門與控制器進行資訊交流,發出命令處理指令接收響應的軟體,稱為 裝置驅動程式(device driver)。
作業系統位於應用軟體之下,為應用軟體提供服務支援。
面向外部稱為:shell(外殼)(如gui、命令列)
面向內部稱為:kernel(核心)
kernel是研究重心,位於外殼之下。
1.1.4.1kernel–作業系統內部元件
主要包括:
cpu排程器
物理記憶體管理
虛擬記憶體管理
檔案系統管理
中斷管理與裝置驅動
1.併發
計算機系統中同時存在多個執行的程式,需要os管理和排程
併發與並行的區別
併發:一段時間,多個程式同時執行
並行:乙個時間點
2.共享
「同時」訪問
互斥共享
同時共享
3.虛擬
利用多道程式設計技術,讓每個使用者都覺得有乙個計算機專門為他服務
4.非同步
程式的執行不是一貫到底的,而是走走停停,向前推進的速度不可預知,但只要執行環境相同,os需要保證程式執行的結果也相同
*程式語言
*資料結構
*演算法*計算機體系結構
*材料*作業系統概念和原理,源**
*技能*作業系統的設計和實現
1.2.2.1需求
作業系統在不停發展中,在工控等領域有強烈的需求
作業系統**必須可靠、高效
作業系統出錯,所造成的損失很大
作業系統是系統安全的基礎
1.2.2.2作用
作業系統很酷,很有用,很有挑戰,能力提公升
挑戰性:
**量大,目標是要掌握核心
作業系統管理併發
作業系統**管理的是硬體
良好的硬體管理
合理的資源分配
了解工作原理
作業系統需要權衡:
空間與時間
效能和可**性
公平和效能
1.2.2.3重要性
電腦科學研究的基石之一
計算機系統的基本組成部分
由硬體的發展和應用需求所驅動
1.2.2.4學術和工業的持續推進
頂級會議:
sosp
usenix
了解概念與原理
實踐:閱讀**
具體取決於自己的需要
windows家族
具體應用:分析氣象、工控領域等系統
持續的發展:
電晶體、cpu、硬體、外設、網路的研發和發展
早期計算機使用紙帶傳輸程式和資料,作業系統只起到載入的作用
由順序處理到多程式處理
為了更好地利用計算機資源,並更好的與使用者進行互動,出現了分時系統
個人電腦作業系統的出現
多核多處理
雲端操作
主機性運算–>個人機計算–>網路計算–>普適計算(雲計算、移動計算)
(1)簡單的作業系統:ms-dos 不分模組的單體核心 (內部通過函式呼叫訪問,缺點,複雜,緊耦合,易受攻擊)
(2)微核心:盡可能把核心功能移植到使用者空間,缺點效能低。
(3)外核,核心分為一塊,一塊負責和硬體打交道,另一部分和應用打交道。
(4)虛擬機器
vms(虛擬機器)->vmm(虛擬機器監視器)->物理機硬體,多作業系統共享硬體資源
vmm(虛擬機器監控器),也稱為管理程式,虛擬出所有的硬體資源。
作業系統概述(1)
1 作業系統的概念 作業系統 operating system,簡稱os 是管理和控制計算機硬體與軟體資源的電腦程式,是直接執行在 裸機 上的最基本的系統軟體,任何其他軟體都必須在作業系統的支援下才能執行。作業系統是使用者和計算機的介面,同時也是計算機硬體和其他軟體的介面。作業系統的功能包括管理計算...
作業系統(1) 概述
碼文不易,希望支援,謝謝 支援原創 作業系統作業系統 英語 operating system,縮寫 os 是管理計算機硬體與軟體資源的電腦程式,同時也是計算機系統的核心與基石。作業系統 維基百科 簡單來說,為使用者使用計算機提供介面,有效的組織管理硬體軟體資源。基本觀點 碼文不易,希望支援,謝謝 支...
作業系統概述 1
1.單處理機系統中,可並行的是 程序與程序 處理機與裝置 處理機與通道 裝置與裝置 解析 此處要理解並行的概念 並行性 是指兩個或兩個以上的事件在同一時刻執行。併發性 是指兩個或兩個以上的事件在同一時間間隔執行。對於單處理機,2個程序之間只能併發,而不能並行。2.下列選項中,作業系統提供給應用程式的...