<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
        My Github

      操作系統(tǒng)核心原理-2.一些基本概念

      一、計(jì)算機(jī)硬件基礎(chǔ)

      1.1 總線結(jié)構(gòu)

        從概念上講,計(jì)算機(jī)的結(jié)構(gòu)是總線型的:布置一根總線將各種硬件設(shè)備掛在總線(Bus)上

       ?。?)所有的設(shè)備都有一個(gè)控制設(shè)備,外部設(shè)備通過(guò)控制器與CPU進(jìn)行通信。

       ?。?)所有的設(shè)備之間的通信也需要通過(guò)總線。

      1.2 流水線結(jié)構(gòu)

        為了提高計(jì)算機(jī)的效率,人們又設(shè)計(jì)出了流水線結(jié)構(gòu):仿照工業(yè)流水裝配線,將計(jì)算機(jī)的功能部件分為多個(gè)梯級(jí),并將計(jì)算機(jī)的每條指令拆分為同樣多個(gè)步驟,使每條指令在流水線上流動(dòng),到流水線最后一個(gè)梯級(jí)時(shí)指令執(zhí)行完畢。

        下圖展示了5個(gè)梯級(jí)的流水線結(jié)構(gòu),流水線上的每個(gè)梯級(jí)都可以容納一條指令并同時(shí)執(zhí)行。

        在流水線的基礎(chǔ)之上,為了進(jìn)一步提高效率,人們又發(fā)明了多流水線、超標(biāo)量計(jì)算和超長(zhǎng)指令字等多指令發(fā)射機(jī)制。

      1.3 存儲(chǔ)結(jié)構(gòu)

        除了指令執(zhí)行單元外,計(jì)算機(jī)中的另一個(gè)重要部件是指令的存放單元,被稱為存儲(chǔ)架構(gòu)。存儲(chǔ)架構(gòu)包括了緩存、主存、磁盤(pán)、磁帶等。下圖展示了一個(gè)包括寄存器在內(nèi)的5級(jí)存儲(chǔ)介質(zhì)構(gòu)成的存儲(chǔ)架構(gòu)。

        從寄存器到磁帶,每一級(jí)存儲(chǔ)媒介的訪問(wèn)延遲和容量均依次增大,而價(jià)格卻依次降低。從圖中可以看出,寄存器的訪問(wèn)速度最快,容量最小,但成本卻最高;磁帶的訪問(wèn)速度最慢,容量最大,但是成本卻最低。通過(guò)合理搭配,可以形成一個(gè)性價(jià)比頗高的存儲(chǔ)架構(gòu)。

      1.4 中斷機(jī)制

        中斷是計(jì)算機(jī)里面的一個(gè)最為重要的機(jī)制,它也是操作系統(tǒng)獲得計(jì)算機(jī)控制權(quán)的根本保證。其基本原理是:設(shè)備在完成自己的任務(wù)后向CPU發(fā)出終端,CPU判斷優(yōu)先級(jí),然后確定是否響應(yīng)。如果響應(yīng),則執(zhí)行中斷服務(wù)程序,并在中斷服務(wù)程序執(zhí)行完后繼續(xù)執(zhí)行原來(lái)的程序。下圖簡(jiǎn)單地描述了中斷機(jī)制:

      二、抽象

        所謂抽象,就是在根本上存在但現(xiàn)實(shí)中不存在的東西。抽象來(lái)源于具體,但又超越具體。

        操作系統(tǒng)提供的抽象來(lái)源于顯示,就是具體的計(jì)算機(jī)硬件,如CPU、內(nèi)存、I/O設(shè)備等等。但又超出這些現(xiàn)實(shí),給人提供了強(qiáng)于現(xiàn)實(shí)的東西,使人和應(yīng)用軟件感覺(jué)到更多、更好的硬件存在。

        抽象不只是操作系統(tǒng)提供給用戶的一個(gè)存在,它也存在于操作系統(tǒng)內(nèi)部。操作系統(tǒng)內(nèi)部分為不同的功能模塊,而不同功能塊之間互相提供的也是抽象。想想在我們得實(shí)際開(kāi)發(fā)中,是不是也遵循著這樣類(lèi)似的原則?針對(duì)抽象編程?面向接口編程?依賴于抽象而不依賴于具體?

      三、內(nèi)核態(tài)與用戶態(tài)

      殘酷的現(xiàn)實(shí):世界上的人并非都是平等的,有些人生來(lái)占有的資源就多,而有的人占有的資源就很少。當(dāng)有些人來(lái)了,其他人就得讓出資源。程序亦是如此。

        操作系統(tǒng)作為計(jì)算機(jī)的管理者,享有著更多的方便或權(quán)限。為了區(qū)分不同的程序的不同權(quán)限,人們發(fā)明了內(nèi)核態(tài)和用戶態(tài)的概念。

      3.1 兩種狀態(tài)的概念

        內(nèi)核態(tài)就是擁有資源多的狀態(tài)(或訪問(wèn)資源多的狀態(tài)),也稱為特權(quán)態(tài)。而用戶態(tài)則是非特權(quán)態(tài),在用戶態(tài)下訪問(wèn)的資源會(huì)受到限制。例如,要訪問(wèn)OS的內(nèi)核數(shù)據(jù)結(jié)構(gòu),如進(jìn)程表等,則需要在特權(quán)態(tài)下才能做到。如果只需要訪問(wèn)用戶程序里的數(shù)據(jù),則在用戶態(tài)下就可以了。

      3.2 兩種狀態(tài)的優(yōu)勢(shì)

        內(nèi)核態(tài):訪問(wèn)資源多,但可靠性、安全性要求高,維護(hù)管理都比較復(fù)雜;

        用戶態(tài):訪問(wèn)資源有限,但可靠性、安全性要求低,維護(hù)起來(lái)比較簡(jiǎn)單;

        那么,一個(gè)程序到底應(yīng)該運(yùn)行在內(nèi)核態(tài)還是用戶態(tài)呢?這取決于其對(duì)資源和效率的需求;下圖展示了Windows操作系統(tǒng)的內(nèi)核態(tài)與用戶態(tài)的界限,我們可以看到哪些需要在內(nèi)核態(tài)下運(yùn)行,哪些只在用戶態(tài)下運(yùn)行。

      3.3 兩種狀態(tài)的本質(zhì)

        計(jì)算機(jī)對(duì)于內(nèi)核態(tài)和用戶態(tài)的識(shí)別是通過(guò)CPU的一個(gè)狀態(tài)位來(lái)實(shí)現(xiàn)的,這個(gè)狀態(tài)位是CPU狀態(tài)字里面的一個(gè)字位。所謂的用戶態(tài)、內(nèi)核態(tài)實(shí)際是CPU的一種狀態(tài),而不是程序的狀態(tài)。通過(guò)設(shè)置該狀態(tài)字,可以使CPU處于內(nèi)核態(tài)、用戶態(tài)或者其他的子態(tài)(有的CPU有更多種子態(tài))。

        換句話說(shuō):一個(gè)程序運(yùn)行時(shí),CPU是什么態(tài),這個(gè)程序就運(yùn)行在什么態(tài)。

        那么,知道了是怎么實(shí)現(xiàn)的,那又是如何對(duì)用戶態(tài)的訪問(wèn)進(jìn)行限制的呢?在對(duì)用戶態(tài)下程序執(zhí)行的每一條指令進(jìn)行檢查,這種檢查又被稱為地址翻譯,即對(duì)程序發(fā)出的每一條指令都要經(jīng)過(guò)這個(gè)地址翻譯過(guò)程(你可以將其理解為我們?cè)趯?shí)際開(kāi)發(fā)中所作的權(quán)限管理,對(duì)用戶發(fā)出的每個(gè)操作請(qǐng)求首先都經(jīng)過(guò)一個(gè)Filter進(jìn)行過(guò)濾),通過(guò)對(duì)翻譯的控制,就可以限制程序?qū)Y源的訪問(wèn)。

      四、操作系統(tǒng)結(jié)構(gòu)

      4.1 單一體結(jié)構(gòu)

        單一體結(jié)構(gòu)是最早期的結(jié)構(gòu),這時(shí)整個(gè)OS是一個(gè)巨大的單一體,運(yùn)行在內(nèi)核態(tài)下,為用戶提供服務(wù),如下圖所示。

        但單一體結(jié)構(gòu)各功能塊之間關(guān)系復(fù)雜,修改困難,牽一發(fā)而動(dòng)全身,且容易形成循環(huán)調(diào)用造成死鎖,于是有了下面的層次關(guān)系。

      4.2 層次化結(jié)構(gòu)

        將操作系統(tǒng)的功能分成不同的層次,低層次的功能為緊鄰其上一個(gè)層次的功能提供服務(wù),而高層次的功能又為更高一個(gè)層次的功能提供服務(wù),如下圖所示。

      4.3 微內(nèi)核結(jié)構(gòu)

        從單一體和層次化結(jié)構(gòu)的圖中可以看出,操作系統(tǒng)的所有功能都在內(nèi)核態(tài)下運(yùn)行。但是,從用戶態(tài)轉(zhuǎn)為內(nèi)核態(tài)是有時(shí)間成本的,這樣就會(huì)造成OS的效率低下。于是,人們將操作系統(tǒng)的核心中的核心才放在內(nèi)核態(tài)運(yùn)行,其他功能都遷移到用戶態(tài)運(yùn)行,于是就有了下面的微內(nèi)核結(jié)構(gòu)。

      五、進(jìn)程、內(nèi)存和文件

      5.1 進(jìn)程

      process

        進(jìn)程是OS中的核心概念,它指的是一個(gè)運(yùn)動(dòng)中的程序。一個(gè)程序一旦在計(jì)算機(jī)里運(yùn)行起來(lái),它就稱為一個(gè)進(jìn)程。進(jìn)程與進(jìn)程之間可以進(jìn)行通信、同步、競(jìng)爭(zhēng),并在一定情況下可能形成死鎖。

      5.2 內(nèi)存

        內(nèi)存是另一個(gè)核心概念,它是進(jìn)程的存放場(chǎng)所。OS要做的就是對(duì)內(nèi)存進(jìn)行管理,使得數(shù)據(jù)讀寫(xiě)高效、安全、簡(jiǎn)單。

      5.3 文件

        文件是操作系統(tǒng)提供的外部存儲(chǔ)設(shè)備的抽象,它是程序和數(shù)據(jù)的最終存放地點(diǎn)。OS要做的就是讓用戶的數(shù)據(jù)存放變得容易、方便和可靠。

      六、系統(tǒng)調(diào)用

        操作系統(tǒng)是一個(gè)系統(tǒng)程序,即為別的程序提供服務(wù)的程序。那么,操作系統(tǒng)的服務(wù)是通過(guò)什么方式提供的呢?答案就是:系統(tǒng)調(diào)用(System Call)。

        所謂系統(tǒng)調(diào)用就是:操作系統(tǒng)提供的API,用戶通過(guò)調(diào)用這些API即可獲得操作系統(tǒng)的服務(wù)。(想想是不是跟我們現(xiàn)在所作的什么Web Service、WCF、WebAPI、開(kāi)放API之類(lèi)的一致?)例如,如果用戶程序需要進(jìn)行讀磁盤(pán)的操作,在C程序代碼中可以使用如下語(yǔ)句來(lái)操作:

          result = read(fd, buffer, nbytes);

        這個(gè)read函數(shù)是C語(yǔ)言提供的庫(kù)函數(shù),而這個(gè)庫(kù)函數(shù)本身則是調(diào)用的操作系統(tǒng)的read系統(tǒng)調(diào)用。具體的系統(tǒng)調(diào)用過(guò)程不是我們討論的重點(diǎn),但我們還是可以通過(guò)下圖來(lái)看看這個(gè)read系統(tǒng)調(diào)用的過(guò)程。

      參考資料

      鄒恒明,《操作系統(tǒng)之哲學(xué)原理》,機(jī)械工業(yè)出版社

       

      posted @ 2015-11-28 01:36  EdisonZhou  閱讀(14953)  評(píng)論(4)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产亚洲久久久久久久| 亚洲av免费成人精品区| 国产一区二区三区不卡在线看| 果冻传媒一区二区天美传媒| 亚洲人成电影在线天堂色| 伊人中文在线最新版天堂| 风韵丰满妇啪啪区老老熟女杏吧| 国产精品久久久久久亚洲色| 欧美最猛性xxxxx大叫| 久久精品国产清自在天天线| 西西人体大胆444WWW| 国产99青青成人A在线| 国产精品国产三级国产午| 日韩全网av在线| 国产精品制服丝袜白丝| 久久综合综合久久综合| 国产乱码日韩亚洲精品成人| 亚洲av成人无码精品电影在线| 四虎国产精品永久在线| 亚洲日本国产精品一区| 综合色久七七综合尤物| 国产精品一二三区蜜臀av| 国产麻豆md传媒视频| 久热这里只有精品蜜臀av| a级黑人大硬长爽猛出猛进| 国产精品亚洲二区在线播放| 亚洲精品人成网线在线播放va| 国产精品国产精品偷麻豆| 久久精品国产亚洲av麻豆小说| 亚洲免费观看视频| 国产精品国三级国产专区| 久久中文字幕一区二区| 成人国产精品日本在线观看| 久久精品高清一区二区三区| 乱中年女人伦av三区| 精品久久久久久无码不卡| 日本免费精品| 深夜福利啪啪片| 免费网站看av片| 人人爽人人爽人人片a免费| 日本黄页网站免费大全|