日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

操作系统与操作系统内核

發(fā)布時(shí)間:2023/12/14 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 操作系统与操作系统内核 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、前言

? ? 最近看了一篇將Unix和Linux歷史的帖子,雖然有點(diǎn)水,但是還是放個(gè)鏈接吧花了一天時(shí)間,終于把unix、linux、ios、android區(qū)別大致聯(lián)系搞清楚,好像很復(fù)雜的,這個(gè)帖子寫的比較口水話,但是對于了解Unix與Linux的發(fā)展與歷史還是蠻有幫助的,看了這篇帖子之后,盡管知道了Unix與Linux從無到有的過程,但是發(fā)現(xiàn)自己對操作系統(tǒng)這個(gè)東西的認(rèn)識(shí)更加模糊了,因?yàn)榍捌诖笾伦x過《深入理解計(jì)算機(jī)系統(tǒng)》和《操作系統(tǒng)》兩本書,了解過一些操作系統(tǒng)的內(nèi)容,但由于是非科班出身,有很多本質(zhì)的概念并不理解,所以這里就回顧了上面兩本書中的一些內(nèi)容,再加上網(wǎng)上的一些資料,對操作系統(tǒng)和操作系統(tǒng)內(nèi)核這兩個(gè)概念進(jìn)行了整理。


二、操作系統(tǒng)理解

? ?一句話理解操作系統(tǒng):操作系統(tǒng)就是為用戶(使用計(jì)算機(jī)的人)提供服務(wù),使用戶能在計(jì)算機(jī)上使用各種應(yīng)用程序(QQ、瀏覽器)來操作計(jì)算機(jī)資源(如QQ需要使用顯示器資源、用瀏覽器下載資料需要硬盤資源,同時(shí)所有這些應(yīng)用程序都需要使用CPU這個(gè)最主要的資源)。

? ? 可以從兩方面理解上面這句話,一方面從操作系統(tǒng)本身來理解。其實(shí)說起操作系統(tǒng)這個(gè)概念,作為非科班出身的我們大多都是比較模糊的,同時(shí)感覺跟這個(gè)東西就很近,因?yàn)樵诿颗_(tái)計(jì)算機(jī)中都有一個(gè)操作系統(tǒng),你運(yùn)行的任何應(yīng)用軟件都離不開操作系統(tǒng),為什么離不開操作系統(tǒng)呢?其實(shí)說白了,一臺(tái)計(jì)算機(jī)就是一組資源,你運(yùn)行在計(jì)算機(jī)上的應(yīng)用程序本質(zhì)上是離不開計(jì)算機(jī)的各種資源(如處理器、內(nèi)存、I/O設(shè)備等),只是為了方便,人們就構(gòu)造了操作系統(tǒng)這種東西,因?yàn)槊恳慌_(tái)計(jì)算機(jī)的各種資源都來自不同的廠家,它們有不同的標(biāo)準(zhǔn),有不同的差別,所以你針對某一類的I/O設(shè)備開發(fā)的應(yīng)用程序就不能在另一臺(tái)裝有不同I/O設(shè)備的計(jì)算機(jī)上運(yùn)行,而操作系統(tǒng)就完美的消除了這種差別與無法擴(kuò)展的缺點(diǎn),所以從邏輯上來說,操作系統(tǒng)位于應(yīng)用程序與計(jì)算機(jī)資源的中間層


? ? 同時(shí),作為中間層,必須要干好中間層的工作,所以總的來說,操作系統(tǒng)有兩個(gè)基本功能

? ? ? ? (1)防止硬件被失控的應(yīng)用程序?yàn)E用;

? ? ? ? (2)向應(yīng)用程序提供簡單一致的機(jī)制來控制復(fù)雜而又通常大相徑庭的低級(jí)硬件設(shè)備

? ?另一方面,從計(jì)算機(jī)CPU(處理器)來看,操作系統(tǒng)實(shí)際上不過是一組計(jì)算機(jī)程序(可以理解成很多個(gè)應(yīng)用程序的集合,而這些應(yīng)用程序基本都是與硬件打交道的),與其他計(jì)算機(jī)程序類似(不管是你自己寫的HelloWord小程序還是像QQ這樣的應(yīng)用程序,以及大型的服務(wù)器程序),它們都給處理器提供指令,然后處理器就執(zhí)行這些指令,完成這些程序的功能,最大的區(qū)別在于操作系統(tǒng)和其他程序的意圖不同:操作系統(tǒng)程序通過控制處理器使用其他計(jì)算機(jī)資源,并控制其他程序的執(zhí)行時(shí)機(jī),這促使處理器完成系統(tǒng)任務(wù)的調(diào)度。但是(剛剛也說明了,操作系統(tǒng)除了和其他程序的意圖不同,其他都一樣,所以)處理器為了做任何一件這樣的事情(指的是執(zhí)行另一個(gè)程序),都必須停止執(zhí)行操作系統(tǒng)程序,轉(zhuǎn)而去執(zhí)行其他程序(這其實(shí)是進(jìn)程切換),因?yàn)榧热徊僮飨到y(tǒng)也是一個(gè)程序(進(jìn)程),而任何處理器同時(shí)只能處理一個(gè)進(jìn)程,所以操作系統(tǒng)同樣和其他程序(進(jìn)程)一樣需要調(diào)度,只是操作系統(tǒng)是處于主動(dòng)調(diào)度的位置,而其他程序是被動(dòng)的由操作系統(tǒng)的控制來實(shí)現(xiàn)調(diào)度。


三、操作系統(tǒng)內(nèi)核

? ? 關(guān)于操作系統(tǒng)和操作系統(tǒng)內(nèi)核這兩個(gè)概念,很多人嘗試去區(qū)分與解釋,但是發(fā)現(xiàn)很難得解釋的完全(包括我自己,這里只是把我自己的理解整理出來,有什么不對的地方,希望大家批評(píng)指正,共同進(jìn)步)。

? ? 查看了一些網(wǎng)上和CS系列書籍中的關(guān)于操作系統(tǒng)內(nèi)核的概念解釋,總結(jié)之后,我的理解是:

? ? ? ? (1)操作系統(tǒng)包括操作系統(tǒng)內(nèi)核(這是必然的),也就是說內(nèi)核程序是操作系統(tǒng)所包含的一組計(jì)算機(jī)程序中的一個(gè)子集,所以內(nèi)核程序也是一組計(jì)算機(jī)程序,而這些內(nèi)核程序是操作系統(tǒng)中最常使用基本模塊,直接與硬件打交道,主要由用于管理存儲(chǔ)器、文件、外設(shè)和系統(tǒng)資源的那些部分組成。

? ? ? ? (2)內(nèi)核程序一直占據(jù)內(nèi)存中的一段內(nèi)存,這樣處理器可以隨時(shí)調(diào)用這些內(nèi)核程序;

? ? ? ? (3)而操作系統(tǒng)除了內(nèi)核程序外,還有包括其他一些基本組件,如文本編輯器、編譯器、用來與用戶進(jìn)行交互的程序等

? ? 對于第(2)點(diǎn),可以引入《深入理解計(jì)算機(jī)系統(tǒng)》這本書中關(guān)于“虛擬存儲(chǔ)器”(P12)解釋的一幅圖來說明,如下:


上圖中,關(guān)于進(jìn)程的虛擬地址空間的說明中,最上面的子區(qū)域“內(nèi)核虛擬存儲(chǔ)器”就是用來存儲(chǔ)內(nèi)核程序和數(shù)據(jù)的,這個(gè)地址空間是一個(gè)固定的結(jié)構(gòu),所以對于每一個(gè)應(yīng)用程序(進(jìn)程)來說,都具有同樣結(jié)構(gòu)的虛擬地址空間,這就可以保證每個(gè)進(jìn)程都能調(diào)用操作系統(tǒng)內(nèi)核程序來完成自己的功能。

? ? 下面再用一幅圖說明操作系統(tǒng)內(nèi)核是操作系統(tǒng)的一組子程


上圖中,操作系統(tǒng)的內(nèi)核包圍硬件,同時(shí),其外層是系統(tǒng)調(diào)用接口,這就是操作系統(tǒng)中除內(nèi)核以外的其他組件。

? ? 下面整理兩個(gè)網(wǎng)友關(guān)于操作系統(tǒng)與操作系統(tǒng)內(nèi)核的解釋,個(gè)人覺得解釋的還是比較好的:

? ? ? ? (1)內(nèi)核,是操作系統(tǒng)的基礎(chǔ)模塊,用于管理系統(tǒng)資源。例如提供對軟件層面的抽象(例如對進(jìn)程、文件系統(tǒng)、同步、內(nèi)存、網(wǎng)絡(luò)協(xié)議等對象的操作和權(quán)限控制),和對硬件訪問的抽象(例如磁盤,顯示,網(wǎng)絡(luò)接口卡(NIC));操作系統(tǒng),在內(nèi)核的基礎(chǔ)上有延伸,包括了提供基礎(chǔ)服務(wù)的系統(tǒng)組件。

? ? ? ? (2)內(nèi)核,就是計(jì)算機(jī)學(xué)科意義上的操作系統(tǒng),直接與硬件交互,提供CPU時(shí)間片管理、中斷、內(nèi)存管理、IO管理等等;一般意義上的操作系統(tǒng)包含的東西要更多一些,至少要有用戶交互的基本程序,比如一個(gè)命令行界面和基本的指令(文件遍歷、進(jìn)程管理等等),或者圖形界面的桌面和文件瀏覽器。


四、總結(jié)

? ? 總的說來,一個(gè)操作系統(tǒng)包含了內(nèi)核(是一個(gè)提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件)以及其他計(jì)算機(jī)系統(tǒng)所必須的組件(如函數(shù)庫、編譯器、調(diào)式工具、文本編輯器、網(wǎng)站服務(wù)器,以及一個(gè)Unix的使用者接口(Unix shell)等,這些都是操作系統(tǒng)的一部分,而且每一個(gè)模塊如編譯器都是一個(gè)單獨(dú)的進(jìn)程,運(yùn)行在操作系統(tǒng)中)。所以一個(gè)內(nèi)核不是一套完整的操作系統(tǒng),拿Linux來說,Linux這個(gè)詞本身只表示Linux內(nèi)核,但現(xiàn)在大家已經(jīng)默認(rèn)的把Linux理解成整個(gè)Linux系統(tǒng),這是由于歷史原因造成的(具體可以看本文前言中提到的那篇文章),也就是說人們已經(jīng)習(xí)慣了用Linux來形容整個(gè)基于Linux內(nèi)核,并且使用GNU 工程各種工具和應(yīng)用程序的操作系統(tǒng)(也被稱為GNU/Linux),而基于這些組件的Linux軟件被稱為Linux發(fā)行版。一般來講,一個(gè)Linux發(fā)行版本出來包括Linux內(nèi)核之外,還包含大量的軟件(套件),比如軟件開發(fā)工具,數(shù)據(jù)庫,Web服務(wù)器(例如Apache),X Window,桌面環(huán)境(比如GNOME和KDE),辦公套件(比如OpenOffice、org)等等。

總結(jié)

以上是生活随笔為你收集整理的操作系统与操作系统内核的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。