成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

操作系統(tǒng) OS 與內(nèi)核 Kernel 有什么區(qū)別?

系統(tǒng) Linux
實際上我們熟悉的Linux只是內(nèi)核而不能稱得上是操作系統(tǒng),Ubuntu則可以認為是操作系統(tǒng),其內(nèi)核是Linux;RedHat也是操作系統(tǒng),其內(nèi)核同樣是Linux;我們可以看到,盡管Ubuntu和RedHat是不同的操作系統(tǒng),但其內(nèi)核可以是相同的。

Canoo公司有一項核心技術(shù)專利,這就是它們的通用電動底盤技術(shù),長得是這個樣子,非常像一個滑板:

這個帶輪子、有電池、能動的滑板已經(jīng)包含了一輛車最核心的組件,差的就是一個外殼。

這個看起來像滑板的東西就是所謂的電池系統(tǒng)和底盤一體化技術(shù),Canoo公司在它們的通用底盤上加裝不同的外殼就能制造出不同的車型。

什么是內(nèi)核?

在上面這個示例中,包含輪子以及電池系統(tǒng)的底盤就好比內(nèi)核,而套上外殼加上椅子以及內(nèi)飾后的整體成品就好比操作系統(tǒng)。

內(nèi)核僅僅是操作系統(tǒng)的一部分,是真正與硬件交互的那部分軟件,與硬件交互包括讀寫硬盤、讀寫網(wǎng)盤、讀寫內(nèi)存以及任何連接到系統(tǒng)中的硬件。

除了與硬件交互外,內(nèi)核還負責分配資源,分配什么資源呢?所謂資源就是硬件,比如CPU時間、內(nèi)存、IO等等,這些都是資源。

現(xiàn)在我們知道了內(nèi)核負責分配資源,那么問題來了,要怎么分配這些資源呢?答案就是以進程的形式來分配資源。

怎么分配呢?

一句話:虛擬大法好。

每個進程都認為自己在獨占CPU,這通過CPU時間片來實現(xiàn),內(nèi)核讓CPU在各個進程之間快速切換,這樣程序員寫好程序員后直接運行即可,即使在單核系統(tǒng)中運行成百上千個進程都沒有問題。

每個進程都認為自己在獨占內(nèi)存,這通過虛擬內(nèi)存來實現(xiàn)。

有的同學可能會問,為什么都要虛擬化呢?

答案顯而易見,因為計算機系統(tǒng)內(nèi)的資源是有限的,我們只有幾個CPU核心、幾個G的內(nèi)存,但卻要同時運行幾百幾千個進程,除此之外我們別無它法。

如果你還知道有其它更高效的方法那么趕緊放下手機,馬上將你的思想寫成論文發(fā)表出來,下一屆的圖靈獎非你莫屬,當然在發(fā)表獲獎感言的時候一定要記得表示是受到了【碼農(nóng)的荒島求生】這個公眾號的啟發(fā)才想到的。

因此,內(nèi)核的職責就是以進程的形式來分配CPU時間,以虛擬內(nèi)存的形式來分配物理內(nèi)存,以文件的形式來管理IO設(shè)備。

什么是操作系統(tǒng)?

然而只有一個內(nèi)核實際上是做不了什么真正有用的事情,就像上面示例中那個通用底盤一樣,這個底盤確實能跑起來,但你沒辦法開著這樣一個底盤出去浪,因為這個底盤很難用。

因此,你不得不加裝上方向盤、座椅以及車身外殼等,同樣的道理,內(nèi)核是給人用的,為了與內(nèi)核交互,發(fā)明了命令行以及圖形界面GUI。

圖片圖片

除了給普通用戶提供使用的接口之外,操作系統(tǒng)還需要給程序員提供編寫程序的接口,當我們寫的程序依賴內(nèi)核提供的服務(wù)時是該怎么辦呢?

有的同學說我們需要依賴內(nèi)核提供的服務(wù)嗎?

想一想,進行網(wǎng)絡(luò)編程時你有沒有自己編寫過處理TCP/IP協(xié)議棧數(shù)據(jù)的代碼?你有沒有自己寫代碼從網(wǎng)卡上收發(fā)數(shù)據(jù)?都沒有,實際上你需要做的僅僅是簡單的調(diào)用一些socket接口就可以了。

網(wǎng)絡(luò)編程僅僅是其中的一項,其它還包括文件IO、創(chuàng)建進程、創(chuàng)建線程等等等等,這些是內(nèi)核提供的,那么我們該怎么使用呢?

答案就是通過所謂的系統(tǒng)調(diào)用,system call。

通過系統(tǒng)調(diào)用,我們可以像使用普通函數(shù)那樣向操作系統(tǒng)請求服務(wù),當然,直接使用系統(tǒng)調(diào)用是非常繁瑣的,因此通常會在這之上提供一層封裝。

圖片圖片

在Windows平臺就是給程序員提供編程接口的是Windows API,這層API包羅萬象,不但包括上文提到對系統(tǒng)調(diào)用的封裝,還包括其它功能,像創(chuàng)建帶有圖形界面的應(yīng)用程序等等。

但在Linux世界你找不到一種類似Windows API的東西,畢竟Windows是微軟自家產(chǎn)品,什么都可以打包起來,Linux只是一個開源的內(nèi)核,如果一定要找一個類似的東西話那就是libc,也就是C標準庫,這里同樣包括了對系統(tǒng)調(diào)用的封裝以及一些庫函數(shù),但libc不包含創(chuàng)建帶有圖形界面應(yīng)用程序的功能。

現(xiàn)在我們知道了,操作系統(tǒng)需要提供兩種接口:

  • 給用戶提供操作接口。
  • 給程序員提供編程接口。

這些就是好比汽車的外殼,我們(用戶和程序員)看得見摸得著,外殼加上底盤——也就是內(nèi)核,才是功能完善的操作系統(tǒng)。

各種各樣的操作系統(tǒng)

實際上我們熟悉的Linux只是內(nèi)核而不能稱得上是操作系統(tǒng),Ubuntu則可以認為是操作系統(tǒng),其內(nèi)核是Linux;RedHat也是操作系統(tǒng),其內(nèi)核同樣是Linux;我們可以看到,盡管Ubuntu和RedHat是不同的操作系統(tǒng),但其內(nèi)核可以是相同的。

這就好比它們可以基于同樣的底盤打造出不同的車型。

而我們熟悉的Windows也是操作系統(tǒng),其內(nèi)核是Windows NT內(nèi)核。

責任編輯:武曉燕 來源: 碼農(nóng)的荒島求生
相關(guān)推薦

2021-06-17 08:19:37

操作系統(tǒng)OS Kernel

2023-10-13 15:48:17

OT系統(tǒng)

2023-02-01 08:11:40

系統(tǒng)調(diào)用函數(shù)

2018-07-20 14:00:51

LinuxmacOS內(nèi)核

2020-12-22 13:46:48

APISKD

2011-08-08 14:09:55

dhcpbootp

2018-07-13 17:05:22

SQLMySQL數(shù)據(jù)庫

2009-04-03 15:19:15

2020-09-06 09:51:57

SNMP TrapSyslog網(wǎng)絡(luò)協(xié)議

2019-02-27 15:22:15

混合云云計算多云

2021-05-16 15:28:59

沙箱容器惡意軟件

2024-06-24 21:24:12

云計算云網(wǎng)絡(luò)

2022-09-14 09:45:15

指標標簽

2012-07-25 15:45:28

ERPSCM

2022-11-22 10:21:23

5GLTE

2024-02-21 14:37:56

2020-07-13 23:39:16

物聯(lián)網(wǎng)IoT萬物互聯(lián)

2014-11-26 17:42:00

亞馬遜互聯(lián)網(wǎng)阿里巴巴

2023-06-27 14:49:34

數(shù)據(jù)中心IT 設(shè)備

2021-01-13 09:27:31

微服務(wù)API分布式
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产999精品久久久久久绿帽 | 亚洲久久在线 | 久久精品一区二 | 91免费观看视频 | 国产一级在线视频 | 日韩手机视频 | 精品国产视频 | 国产精品一级 | 日韩欧美一二三区 | 国产日韩欧美精品一区二区 | 五月综合激情在线 | 中文字幕在线视频免费观看 | 91xx在线观看 | 日本视频免费 | 亚洲一区二区视频在线播放 | 99精品免费久久久久久久久日本 | 91精品国产麻豆 | 综合久| 超碰在线播 | 一区二区三区免费 | 久草在线在线精品观看 | 欧美极品在线观看 | 欧美日韩国产一区二区三区 | 国产成人精品久久 | 中文字幕欧美一区 | 亚洲播放| 久久涩涩 | 手机在线一区二区三区 | 在线亚洲欧美 | 超碰人人爱 | 色婷婷av777 av免费网站在线 | 日韩一区二区三区在线观看视频 | 日韩在线一区二区三区 | 二区在线视频 | 妞干网福利视频 | 久久亚| 亚洲精品一区二区 | 久久久久久久av | 一区二区视频 | 国产欧美在线 | 欧美激情 一区 |