定義
- 沒有一個完整赏参,精確,公認的定義沿盅。
- 從功能和特點來介紹操作系統(tǒng)把篓。
從用戶角度看,操作系統(tǒng)是一個控制軟件腰涧。
可以控制操作系統(tǒng)上面的軟件韧掩,應用程序怎么來運行。限制不同的程序來占用不同的資源窖铡。
管理應用程序疗锐。
為應用程序提供服務坊谁。
從計算機內部看:
資源管理。操作系統(tǒng)是資源分配的分配器滑臊。 在我們的計算機內口芍,CPU,內存都是資源雇卷。
管理外設阶界,分配資源。
操作系統(tǒng)可以把CPU抽象為進程聋庵,把磁盤抽象為文件膘融,把內存抽象為地址空間:
操作系統(tǒng)屬于一種軟件。
操作系統(tǒng)直接面向硬件祭玉。
在軟件角度:
應用軟件:辦公軟件氧映,視頻播放軟件。
操作系統(tǒng)位于應用軟件之下脱货,為應用軟件提供服務支撐岛都。
Linux, Windows, Android 的界面屬于外殼(Shell),而不是內核(kernel)Kernel是我們的研究重點振峻,在Shell之下臼疫。
這一層Shell,就相當于操作系統(tǒng)對外暴露出的接口。
Shell分為:GUI類型Shell和命令行類型Shell扣孟。
我們操作系統(tǒng)這門課主要是學習kernel烫堤。
操作系統(tǒng) = Kernel + Shell
操作系統(tǒng)作用
主要是管理計算機資源。
計算機資源分類
主要分為:CPU凤价,內存鸽斟,磁盤三類資源。
計算機資源還有:網卡利诺,聲卡富蓄,顯卡等。
這些都是在計算機操作系統(tǒng)管理范圍之內慢逾。
Kernel
Kernel是操作系統(tǒng)內部組件立倍,包括:
CPU調度器
物理內存管理
虛擬內存管理
文件系統(tǒng)管理
中斷處理與設備驅動
OS Kernel的特征:
a.并發(fā)
計算機系統(tǒng)中同時存在多個運行的程序
需要OS管理和調度
注意:并發(fā)和并行的區(qū)別。
并發(fā):在一段時間內可以有多個程序運行侣滩,這段時間可長可短口注;
并行:在一個時刻上面,有多個程序運行胜卤。
并行的條件是允許計算機內部存在多個CPU疆导,如果計算機內部只有一個CPU赁项,那么是不能完成并行工作的葛躏,不能讓一個程序在一個時刻都在跑澈段。
b.共享(都是針對資源)
『同時』訪問,這里的同時不是同一時刻舰攒,而是很短的時間段败富,讓你看起來像是多個程序在訪問。
互斥共享摩窃。
c.虛擬
利用多道程序設計技術兽叮,讓每個用戶都覺得有一個計算機專門為他服務。
操作系統(tǒng)直面的是硬件猾愿,直接將硬件虛擬化了鹦聪,比如說,我們把CPU虛擬為進程蒂秘,把磁盤虛擬為文件泽本,把內存虛擬化為地址空間,帶來的好處是姻僧,每一個應用程序规丽,每一個用戶感覺自己都獨立擁有一臺計算機。
d.異步
程序的執(zhí)行不是一貫到底撇贺,而是走走停停赌莺,向前推進的速度不可預知
但是只要運行環(huán)境相同,OS需要保證程序運行的結果也要相同