操作系統
1、操作系統概念、功能、目標
常見的操作系統:
-
Windows
windows系統是微軟公司開發的,從上世紀80年的windows1.0開始,到現在的windows10,經歷了漫長的30多年。windows系統的電腦,在個人電腦中占據着絕對主流的地位,全球市場占有率高達85%左右。最為典型的代表有:windows98、windowsXP、windows7、windows10。基本上4-5年會出現一個精品。windows電腦的優勢:操作簡單、入門快速、應用軟件眾多;windows電腦的缺點:吃內存厲害、對硬件要求高。
-
Mac Os
mac Os系統是蘋果公司開發的一款高性能的電腦操作系統,深受一些專業人士的喜愛和追捧。Mac Os 系統在圖形設計、影視制作等領域有着自己獨特的優勢,所以,我們在一些專業設計公司,大多看到的是mac Os系統的蘋果電腦。mac Os系統目前的市場占有率達到8%左右,是目前電腦市場的第二大操作系統。現在,mac Os也可以在普通的PC電腦上安裝使用,如果只是想體驗一下,可能通過windows系統的虛擬機來進行安裝。
-
Linux
Linux系統,對於絕大多數人來說,是比較陌生的。早期的Linux系統,跟微軟的dos系統一樣,是命令行字符操作模式,沒有圖片界面,所以,只有一些專業領域的高手才會涉及到,如:網站運維。后來,Linux系統也慢慢推出了圖形模式,開始在個人電腦上也能使用了,如:deepin深度系統,centos都提供有圖形界面。相對於windows系統,Linux系統占用硬件資源比較少,所以,大多數網站服務器會使用Linux作為操作系統。Linux系統是開源免費的。
-
Unix
Unix系統,是一款付費系統,是資格最老的一款電腦操作系統,誕生於上世紀70年代。Unix系統的安全性,在這幾個操作系統中是最高的。目前, Unix系統只有命令行界面,沒有圖形界面,現在大多用在企業級別的服務器上,如:銀行、電信等,很多公司的研發系統也是使用Unix系統平台的。還有一些操作系統是基於Unix系統開發的,如:蘋果的mac Os系統。
-
Android
1.1、概念
裸機 -- > 操作系統 -- > 應用程序 -- > 用戶
操作系統:
-
負責管理協調硬件、軟件等計算機資源的工作
-
為上層的應用程序、用戶提供簡單易用的服務
-
操作系統是系統軟件,而不是硬件
操作系統是指控制和管理整個計算機系統的硬件和軟件資源,並合理地組織調度計算機的工作和資源的分配,以提供給用戶和其他軟件方便的接口和環境,它是計算機系統中最基本的系統軟件。
①操作系統作為系統資源的管理者(這些資源包括軟件、硬件、文件等),需要提供什么功能?
補充知識:進程是一個程序的執行過程。執行前需要將該程序房貸內存中,才能被CPU處理、
例如:
- 找到QQ相應文件夾 (文件管理)
- 雙擊打開QQ.exe (需要把該程序相關數據存放到內存當中)
- QQ程序正常運行 (對應的進程被處理機CPU處理)
- 開始視頻聊天 (設備管理,需要將攝像頭設備分配給進程)
②操作系統作為用戶與計算機硬件之間的接口,要為上層的用戶、應用程序提供簡單易用的服務,需要實現什么功能?
命令接口:允許用戶直接使用 包括:聯機命令接口、脫機命令接口
程序接口:允許用戶通過程序間接使用 由一組系統調用組成(程序接口=系統調用)
GUI:線代操作系統中最流行的圖形用戶接口 用戶可以使用形象的圖形界面進行操作,而不需要再記憶復雜的指令。
聯機命令接口=交互式命令接口
特點:用戶說一句,系統做一句
脫機命令接口=批處理命令接口
特點:用戶說一堆,系統做一堆
③操作系統作為最接近硬件的層次,需要在純硬件的基礎上實現什么功能?
需要提供的功能和目標:實現對硬件機器的拓展
沒有任何軟件支持的計算機稱為裸機。在裸機上安裝的操作系統,可以提供資源管理功能和方便用戶的服務功能,將裸機改造成功能更強、使用更方便的機器。
通常把覆蓋了軟件的機器稱為擴展機器,又稱之為虛擬機。
1.2、特征
四個特征:並發、共享、虛擬、異步
並發和共享是最基本的,二者互為存在條件
並發:指兩個或多個事件在同一時間間隔內發生。這些事件宏觀上是同時發生的,但在微觀上是交替發生的。
並行:指兩個或多個事件在同一時刻同時發生。
一個單核處理機(CPU)同一時刻只能執行一個程序,因此操作系統會負責多個程序交替執行(並發)
事實上,操作系統是伴隨着“多道程序技術”而出現的。因此,操作系統和程序並發是一起誕生的。
共享:即共享資源,是指系統中的資源可供內存中多個並發執行的進程共同使用。
互斥共享方式:系統中的某些資源,雖然可以提供給多個進程使用,但一個時間段內只允許一個進程訪問該資源
同時共享方式:系統中的某些資源,允許一個時間段內由多個進程"同時"對他們進行訪問
所謂“同時”,是指在宏觀上,微觀上是交替地對該進程進行訪問的。(分時共享)
並發和共享的關系:
並發性指計算機系統中同時存在多個運行着的程序。
共享性指系統中的資源可供內存多個並發執行的進程共同使用。
虛擬是指把一個物理上的實體變為若干個邏輯上的對應物,物理實體是實際存在的,而邏輯上對應物是用戶感受到的。
一個程序需要放入內存並給它分配CPU才能執行
時分復用技術(虛擬處理器):虛擬技術中的"時分復用技術",微觀上處理機在各個微小的時間段內交替着為各個進程服務。
空分復用技術(虛擬存儲器技術):
沒有並發性就談不上虛擬性。
異步:是指在多道程序環境下,允許多個程序並發執行,但由於資源有限,進程的執行不是一貫到底的,而是走走停停,以不可預知的速度向前推進,這就是進程的異步性。
顯然,如果失去了並發性,則系統只能串行地處理各個進程,每個進程的執行會一貫到底。只有系統擁有並發性,才有可能導致異步性
1.3、發展與分類
(1)手工操作階段
主要缺點:用戶獨占全機,人機速度矛盾導致計算機資源利用率極低。
(2)批處理階段
單道批處理系統:引入脫機輸入/輸出技術,並監督程序負責控制作業的輸入、輸出
主要優點:緩解了一定程度的人及速度矛盾,資源利用率有所提升。
主要缺點:內存中僅能有一道程序運行,只有該程序運行結束之后才能調入下一道程序。CPU有大量的時間是在空閑等待 I/O完成。資源利用率依然很低。
多道批處理系統:
主要優點:多道程序並發執行,共享計算機資源。資源利用率大幅提升,CPU和其他資源保持忙碌狀態,系統吞吐量增大。
主要缺點:用戶響應時間長,沒有人機交互功能(用戶提交自己的作業之后就只能等待計算機處理完成,中間不能控制自己的 作業執行)
分時操作系統:計算機以時間片為單位輪流為各個用戶/作業服務,各個用戶可以通過終端與計算機進行交互。
主要優點:用戶請求可以被即時響應,解決了人機交互問題。允許多個用戶同時使用一台計算機,並且用戶對計算機的操作相 互獨立,感受不到別人的存在。
主要缺點:不能優先處理一些緊急任務。操作系統對各個用戶/作業都是完全公平的,循環的為每個用戶/作業服務一個時間 片,不區分任務的緊急性。
實時操作系統:
主要優點:能夠優先響應一寫緊急任務,某些緊急任務不需時間片排隊。
在實時操作系統的控制下,計算機系統接收到外部信號后及時進行處理,並且要在嚴格的時限內處理完事件。實時操作系統的主要特點是及時性和可靠性。
1.4、運行機制和結構
什么是指令?
一條高級代碼翻譯過來可能對應多條指令。指令就是處理器(CPU)能識別、執行的最基本命令。
兩種指令:
特權指令:如內存清零指令(不允許用戶程序使用的一些高級指令)
非特權指令:如普通的運算指令
兩種處理器狀態:用程序狀態字寄存器(PSW)中的某些標志位來識別當前處理器處於什么狀態。如0為用戶態,1為核心態
用戶態(目態):此時CPU只能執行非特權指令
核心態(管態):此時CPU可以執行特權、非特權指令
兩種程序:
內核程序:操作系統的內核程序是系統的管理者,既可以執行特權指令,也可執行非特權指令,運行在核心態。
應用程序:為了保證系統的安全運行,普通應用程序只能執行非特權指令,運行在用戶態。
操作系統中哪些功能應該由內核程序實現呢?