1.1作業系統做什麼
作業系統負責程式的啟動過程,負責程式的執行過程,同時在執行過程中不斷為使用者程式的執行提供各種各樣的支援。比如說建立程序,分配記憶體,執行程序等。
1.2作業系統是什麼
作業系統是計算機系統中的乙個系統軟體,是一些程式模組的集合:
(1)組織和管理計算機的軟硬體資源;
(2)組織計算機的工作流程,控制程式的執行並向使用者提供各種服務功能。
作業系統的管理須有效、合理、方便使用,即提高資源利用率和系統效率,軟硬體資源分配合理。
作業系統的作用:
(1)自底向上——資源的管理者:
a.跟蹤記錄資源的使用狀況,使用資料結構記錄空閒資源,分配給誰使用,允許時間等;
b.確定資源分配策略——演算法:靜態分配策略,有可能導致資源浪費;動態分配策略,資源高效利用;
c.實施資源的分配和**;
d.提高資源利用率;
e.保護資源的使用;
f.協調多個程序對資源請求的衝突。
資源管理的五大基本功能:
a.程序/執行緒管理(cpu管理):程序執行緒狀態,控制,同步互斥,通訊,排程
b.儲存管理:分配/**,位址轉換,儲存保護,記憶體擴充
c.檔案管理:檔案目錄,檔案操作,磁碟空間,檔案訪問控制
d.裝置管理:裝置驅動,分配**,緩衝技術
e.使用者介面:系統命令,程式設計介面。
硬體資源:cpu,記憶體,裝置;軟體資源:檔案、管理資訊等。
(2)各種系統服務的提供者:程序的建立、執行,檔案和目錄的操作,i/o裝置的使用;
(3)對硬體機器的擴充套件,是硬體之上的第一層軟體。作業系統在應用程式與硬體之間建立乙個等價的擴充套件機器(虛擬機器),對硬體抽象,提高可以執行;比底層硬體更易於程式設計。
1.3作業系統的主要特徵
(1)併發:處理多個同時性活動的能力。
在計算機系統中同時存在多個程式執行,單cpu上:巨集觀:程式同時執行;微觀:任何時刻只有乙個程式真正在執行,在cpu上輪流執行。
相似概念:並行:與併發相似,但多指不同程式同時在多個硬體部件上執行。
(2)共享:作業系統與多個使用者的程式共同使用計算機系統中的資源(共享有限的系統資源),分為互斥共享和同時共享。
作業系統要對系統資源進行合理分配和使用,資源在乙個時間段內交替被多個程序所用。
(3)虛擬:乙個物理實體對映為若干個對應的邏輯實體——分時或分空間。
虛擬是作業系統管理系統資源的重要手段,可提高資源利用率。
(4)隨機:作業系統必須隨時對以不可**的次序發生的時間進行響應並處理。
1.4典型作業系統的架構
1、windows系統
(2)核心態:系統服務分發器,核心態可呼叫介面,執行體,核心,裝置驅動程式,硬體抽象層(hal),圖形與視窗;
(3)硬體;
2、unix作業系統
3、linux作業系統
4、android作業系統
1.5作業系統分類——傳統分類和tenenbaum分類
作業系統隨計算機硬體技術、應用需求的發展、軟體新技術的出現而發展,其最終目標是:充分利用硬體,提供更好的服務。
傳統操作分類:
(1)批處理作業系統——提高資源利用率,增加作業處理吞吐量,其問題為輸入輸出時,cpu處於等待狀態,可採用衛星機,將輸入輸出暫存在磁帶或磁碟。
(2)分時作業系統
分時作業系統有一台主機,連線許多終端,終端無儲存,無cpu,使用者在終端敲入命令等待主機回答,即一台主機同時要為多個終端服務
時間片:作業系統將cpu的時間劃分為若干個片段,稱為時間片。作業系統以時間片為單位,輪流為每個終端使用者服務,每次服務乙個時間片。追求目標為:及時響應。
(3)通用作業系統——將分時系統和批處理系統結合
原則:分時優先,批處理在後。「前台」:需要頻繁互動的作業;「後台」:時間性要求不強的作業。
(4)實時作業系統——計算機能及時響應外部事件的請求,在規定的嚴格時間內完成對該事件的處理,並控制所有實施裝置和實時任務協調一致的工作。
a.實時過程控制:工業控制、航空軍事控制
b.實時通訊處理:電訊、銀行、飛機訂票
追求目標——a.對外部請求在嚴格時間範圍內做出響應
b.高可靠性
(5)個人計算機作業系統——在某一時間內為單使用者服務
追求目標——a.介面友好,使用方便
b.豐富的軟體
(6)網路作業系統——基於計算機網路在各種計算機作業系統上按網路體系結構協議標準開發的軟體。
功能:網路管理,通訊,安全,資源共享和各種網路應用。
追求目標:相互通訊,資源共享。
(7)分布式作業系統——或以計算機網路為基礎,或以多處理機為基礎,基本特徵是處理分布在不同計算機上。
特徵:是乙個統一的作業系統,允許若干個計算機可相互協作共同完成一項任務。作業系統可將各種系統任務在分布式系統中任何處理機上執行,自動實現全系統範圍內的任務分配,自動排程,均衡各處理機的工作負載。
優點:處理能力增強,速度快,可靠性增強,具有透明性。
(8)嵌入式作業系統——執行在嵌入式系統環境中,對整個嵌入式系統以及它所操作、控制的各種部件裝置等資源進行統一協調、排程、指揮和控制的系統軟體。通常工作在反應時或對處理時間有較嚴格要求的環境中。
tanenbaum分類:(1)大型機作業系統(2)伺服器作業系統(3)多處理機作業系統(4)個人計算機作業系統(5)掌上計算機作業系統(6)嵌入式作業系統(7)感測器節點作業系統(8)實時作業系統(9)智慧卡作業系統:智慧卡——一種包含有一塊cpu晶元的卡片,嚴格的執行能耗和儲存空間的限制。
了解作業系統
發行版其實就是在核心的基礎上,新增特定的桌面環境和常用的軟體。最大的好處就是省去了組裝的麻煩。安裝virtualbox 安裝centos 6.8 網路配置 1.切換目錄 cd etc sysconfig network scripts 2.備份檔案 cp ifcfg eth0 ifcfg eth0 ...
了解FreeRTOS作業系統
1 與freertos核心有關的檔案數量為3個,分別是list.c queue.c tasks.c 該檔案位於freertos source 2 與記憶體分配有關的檔案共有5個,分別是heap 1.c,heap 2.c,heap 3.c,heap 4.c,heap 5.c。5個檔案只需選擇其中的1個...
作業系統 了解CPU cache
cache一詞源自法語,其原意為 藏匿處,隱藏的地方 cache被應用於電腦科學之後,專指cpu與主記憶體之間的儲存器高速緩衝器 cache的出現 是為了緩解cpu的儲存需求與主記憶體的訪問效能之間越來越大的差距.現代cpu的cache都是整合在片內的,越靠近cpu 流水線的cache由於需要極其快...