乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      什么是微內(nèi)核

       懶人葛優(yōu)癱 2019-03-17
      1 微內(nèi)核系統(tǒng)調(diào)度技術(shù) 與傳統(tǒng)的操作系統(tǒng)內(nèi)核相比,微內(nèi)核調(diào)度系統(tǒng)中最突出的特征是增加了處理機(jī)和處理機(jī)集及線程的管理,并且向用戶提供了靈活的手段來控翩自己的程序在處理機(jī)上的運(yùn)行.這{羊,微內(nèi)核系統(tǒng)就能很好地支持多處理機(jī)體系結(jié)構(gòu).同時(shí),線程為用戶提供了細(xì)粒度的并行處理機(jī)制,使得同一個(gè)用戶任務(wù)中的不同線程可以同時(shí)在多個(gè)處理機(jī)上運(yùn)行. 與進(jìn)程相比,線程中所帶的資源很少,因此,創(chuàng)建線程和撤消線程的開銷就比進(jìn)程小.線程也稱為“輕進(jìn)程.在系統(tǒng)調(diào)度中,線程的切換開銷也比進(jìn)程步,但是不同任務(wù)中的線程切換會(huì)引起任務(wù)的切換,在這種情況下,線程和進(jìn)程的調(diào)度開銷就變成一樣了.為了優(yōu)化系統(tǒng)效率,減步由于線程切換而弓I起的任務(wù)切換,在調(diào)度算法中加入了以下代碼: IF (所選中的線程和當(dāng)前運(yùn)行的城程屬于同一十任務(wù)) THEN 不做任務(wù)切換} ELSE進(jìn)行任務(wù)切換操作} 顯然,這種方法在某種情況下會(huì)對(duì)系統(tǒng)性能有所幫助,但是這種方法在很大程度上屬于一種“被動(dòng)的,或者說是一種“碰運(yùn)氣”的方法.另外,單純以線程為主的調(diào)度算法對(duì)用戶任務(wù)有失公平性,以線程為主的調(diào)度算法是完全參照傳統(tǒng)操作系統(tǒng)中的調(diào)度算法設(shè)計(jì)而成的.當(dāng)線程投入運(yùn)行時(shí),系統(tǒng)為它分配周定大小的時(shí)間片,系統(tǒng)中線程按時(shí)間片輪轉(zhuǎn).這樣,就產(chǎn)生了公平性問題:如果一個(gè)任務(wù)中有兩個(gè)線程,那么,從理論上講,它將比只用一個(gè)線程實(shí)現(xiàn)的任務(wù)多獲得近1倍的處理機(jī)時(shí)間.在傳統(tǒng)的進(jìn)程調(diào)度系統(tǒng)中,一個(gè)用戶可以通過創(chuàng)建多個(gè)進(jìn)程來獲得更多的處理機(jī)調(diào)度機(jī)會(huì),但是,它是建立在增加了創(chuàng)建進(jìn)程和進(jìn)程間通訊的系統(tǒng)開銷代價(jià)的基礎(chǔ)上的相比之下,創(chuàng)建線程的開銷非常小,同一任務(wù)間的線程之閉通訊開銷也很小為了解決上述問題,我們提出并實(shí)現(xiàn)了一種將傳統(tǒng)的任務(wù)和新的線程調(diào)度機(jī)翩相結(jié)合的方法:以任務(wù)為單位分配時(shí)間片(這樣可以保證調(diào)度的公平性),在線程調(diào)度時(shí),當(dāng)一個(gè)線程不是由于任務(wù)時(shí)間片用完的原因而放棄處理機(jī)時(shí),只要系統(tǒng)中沒有高優(yōu)先級(jí)線程,就從本任務(wù)中選取線程,從而使得由線程切換而引起的任務(wù)切換操作開銷達(dá)到最?。?從目前的發(fā)展來看,用戶任務(wù)的并行粒度越來越小,即用戶任務(wù)中的線程越來越多,而每個(gè)線程所執(zhí)行的操作會(huì)越來越步.因此,使用線程+任務(wù)的方法可以有效地減少單純的以線程為主的系統(tǒng)調(diào)度所引起的系統(tǒng)開銷. 2 微內(nèi)核虛擬存儲(chǔ)管理技術(shù) 微內(nèi)核虛擬存儲(chǔ)管理系統(tǒng)弓『入了存儲(chǔ)對(duì)象(Memory Object)的概念,將物理內(nèi)存看成外部存儲(chǔ)對(duì)象的(如磁盤)高速緩存(Cache),實(shí)現(xiàn)了虛擬存儲(chǔ)器寫時(shí)拷貝(Copy onWrite)技術(shù),引入了lazy evaluation技術(shù).定義了虛擬存儲(chǔ)器和硬件存儲(chǔ)管理機(jī)制的接口(Pmap),實(shí)現(xiàn)了與機(jī)器無關(guān)的虛擬存儲(chǔ)系統(tǒng). 虛擬存儲(chǔ)器寫時(shí)拷貝算法是微內(nèi)核虛擬存儲(chǔ)管理系統(tǒng)的核心算法.它的弓f入使得虛擬存儲(chǔ)器管理的效率大大提高了一步.但是,它的實(shí)現(xiàn)依賴于硬件存儲(chǔ)管理機(jī)制的頁(yè)面保護(hù)機(jī)制,對(duì)于一個(gè)具有寫時(shí)拷貝共享屬性的存儲(chǔ)區(qū),其頁(yè)面保護(hù)被設(shè)置成寫保護(hù).多個(gè)用戶可以共享的方式對(duì)它進(jìn)行讀操作,但是,當(dāng)用戶試圖對(duì)這塊區(qū)域進(jìn)行寫操作時(shí),將產(chǎn)生寫保護(hù)故障,頁(yè)面故障管理程序?qū)橛脩暨M(jìn)程復(fù)制物理頁(yè)面.從而達(dá)到寫時(shí)拷貝的目的. 在I386體系結(jié)構(gòu)下,只有用戶態(tài)頁(yè)面允許寫保護(hù),在其他機(jī)器狀態(tài)下,硬件存取機(jī)制將繞過頁(yè)面保護(hù)機(jī)翩,直接對(duì)頁(yè)面進(jìn)行寫操作.在這種狀態(tài)下,寫時(shí)拷貝算法將失效.而在微內(nèi)核體系結(jié)構(gòu)中,可能有各種狀態(tài)下的服務(wù)器,如在內(nèi)核態(tài)下運(yùn)行的服務(wù)器.為了解決這個(gè)問題。我們引入了寫時(shí)拷貝和訪問時(shí)拷貝(Copy oil Reference)相結(jié)合的算法. 即在用戶態(tài)上使用寫時(shí)拷貝算法,在其他狀態(tài)下使用訪問時(shí)拷貝算法來替換寫時(shí)拷貝算法,以解決寫時(shí)拷周算法失效的問題.訪問時(shí)拷貝算法的實(shí)現(xiàn)依賴于頁(yè)面保護(hù)機(jī)制的映頁(yè)機(jī)制.這樣,在其他狀態(tài)下,在設(shè)置頁(yè)面保護(hù)時(shí)將寫保護(hù)改成映頁(yè)即可.新的方法在效率上比寫時(shí)拷貝算法低,但是比完全拷貝的方法高出許多,特別是與lazy evaluation技術(shù)相配合時(shí) 效率會(huì)更高.由于微內(nèi)核提供的寫時(shí)拷貝算法是對(duì)用戶透明的,即對(duì)于用戶編寫的任何狀態(tài)下的服務(wù)器都將使用寫時(shí)拷貝算法.因此,在I386體系結(jié)構(gòu)下,在非用戶態(tài)上運(yùn)行的用戶服務(wù)器有可能出錯(cuò),新的算法解決了這個(gè)問題. 3 微內(nèi)核計(jì)時(shí)模型 在傳統(tǒng)操作系統(tǒng)中,為統(tǒng)計(jì)出每個(gè)進(jìn)程的處理機(jī)時(shí)間使用量的單元.系統(tǒng)計(jì)時(shí)一般是放在處理機(jī)時(shí)鐘中斷服務(wù)程序中.系統(tǒng) IF (當(dāng)前盎程處于用戶態(tài)) 增加當(dāng)前進(jìn)程的用戶奮處理機(jī)時(shí)間使用量 在每個(gè)進(jìn)程結(jié)構(gòu)中都沒有統(tǒng)計(jì)進(jìn)程使用處理機(jī)時(shí)間 般采用如下代碼段來進(jìn)行用戶進(jìn)程的時(shí)間統(tǒng)計(jì). ELSE 增加當(dāng)前進(jìn)程的系統(tǒng)態(tài)處理機(jī)時(shí)聞使用量 由于在傳統(tǒng)的操作系統(tǒng)中,操作系統(tǒng)提供的服務(wù)完全由操作系統(tǒng)內(nèi)核來完成。用戶通過系統(tǒng)調(diào)用進(jìn)入內(nèi)核來取得服務(wù).因此,采用上述方法能比較準(zhǔn)確地統(tǒng)計(jì)出用戶所用的處理機(jī)時(shí)間.但是,這種計(jì)時(shí)方法是一種比較粗糙的計(jì)時(shí)方法.每次時(shí)鐘中斷時(shí),它就將一個(gè)固定的時(shí)間片(時(shí)鐘中斷周期)加入披中斷的進(jìn)程中,而不管該進(jìn)程是否完全使用了這些處理機(jī)對(duì)向.由于這種方法實(shí)現(xiàn)起來非常簡(jiǎn)單,系統(tǒng)開銷很小,幾乎所有的操作系繞都采用了這種方法.在新的操作系統(tǒng)中引入了細(xì)粒度的并行執(zhí)行部件—— 線程。對(duì)于線程的計(jì)時(shí)也采用了和進(jìn)程相同的方法.為了取得精確的處理機(jī)時(shí)同統(tǒng)計(jì)精度.一些新型操作系統(tǒng)弓『入了新的計(jì)時(shí)機(jī)制.如MACH 3.0中引^了基于時(shí)間戳的精確計(jì)時(shí)機(jī)制.在微內(nèi)核體系結(jié)構(gòu)下.傳統(tǒng)的操作系統(tǒng)功能是通過服務(wù)器的方式來實(shí)現(xiàn)的.服務(wù)器和用戶任務(wù)一樣,也作為一個(gè)進(jìn)程運(yùn)行.當(dāng)用戶進(jìn)程調(diào)用操作系統(tǒng)服務(wù)時(shí),微內(nèi)核通過消息將系統(tǒng)服務(wù)的參數(shù)傳遞給操作系統(tǒng)服務(wù)器,由操作系統(tǒng)服務(wù)器來完成用戶請(qǐng)求,并將結(jié)果通過消息傳遞給用戶進(jìn)程.這樣,如果采用傳統(tǒng)的方法來進(jìn)行進(jìn)程的處理機(jī)時(shí)問統(tǒng)十。就會(huì)將操作系統(tǒng)為用戶提供服務(wù)所用的處理機(jī)時(shí)間記入服務(wù)器中.而不是用戶進(jìn)程中. 為了解決這個(gè)問題,我們引^了委托線程的概念,建立了新的用戶進(jìn)程計(jì)時(shí)模型.在客戶/服務(wù)器模型中,用戶通過消息請(qǐng)求服務(wù)器的服務(wù),服務(wù)器接收用戶的消息完成用戶的請(qǐng)求,再通過消息將結(jié)果傳給用戶.在這種體系結(jié)構(gòu)下,可看成用戶將自己的一部分工作委托給服務(wù)器完成,服務(wù)器是在為委托線程服務(wù).當(dāng)用戶線程向服務(wù)器發(fā)出請(qǐng)求時(shí),將用戶線程標(biāo)識(shí)傳遞給服務(wù)器,當(dāng)服務(wù)器中的某個(gè)線程處理這個(gè)請(qǐng)求時(shí),將用戶線程標(biāo)識(shí)記^服務(wù)器線程結(jié)構(gòu)中的委托線程域中.在系統(tǒng)時(shí)鐘中斷服務(wù)程序中增加為委托線程計(jì)時(shí)的代碼。就可將操作系統(tǒng)服務(wù)器為用戶進(jìn)程限務(wù)的時(shí)同計(jì)算到用戶進(jìn)程中. IF(當(dāng)前線程結(jié)構(gòu)中有委托線程) IF(當(dāng)前線程赴于用戶態(tài)) 增加委托線程的用戶態(tài)赴理機(jī)時(shí)間使用量 ELSE 增加委托線程的系統(tǒng)態(tài)處理機(jī)時(shí)間使用量 在多服務(wù)器體系結(jié)構(gòu)下,一個(gè)用戶請(qǐng)求往往需要多個(gè)服務(wù)器的協(xié)同服務(wù),如一個(gè)文件讀操作,需要文件服務(wù)器的服務(wù),如果文件服務(wù)器發(fā)現(xiàn)數(shù)據(jù)存放在磁盤中,它就需要請(qǐng)求設(shè)備服務(wù)器的眼務(wù),設(shè)備服務(wù)器實(shí)際上是在為用戶線程服務(wù).因此,在多服務(wù)器情況下,當(dāng)一個(gè)服務(wù)器向另一個(gè)服務(wù)器發(fā)出請(qǐng)求時(shí),必須將自己的委托線程標(biāo)識(shí)號(hào)傳遞給目標(biāo)服務(wù)器.這樣,操作系統(tǒng)為一個(gè)線程提供所有服務(wù)所使用的處理機(jī)時(shí)間都將計(jì)算到用戶線程中擊.為了完成以上功能,必須對(duì)微內(nèi)核的消息傳遞機(jī)制進(jìn)行擴(kuò)充,使用戶在請(qǐng)求服務(wù)時(shí)能將線程的標(biāo)識(shí)傳遞給服務(wù)器,服務(wù)器在接收消息時(shí)能接收到委托線程標(biāo)識(shí).所有這些操作必須對(duì)用戶透明.微內(nèi)核的消息傳遞機(jī)制由消息發(fā)送和消息接收兩部分組成.通過在這兩個(gè)原語(yǔ)中加入以下邏輯來實(shí)現(xiàn)委托線程標(biāo)識(shí)的發(fā)送和接收. SEND : IF(當(dāng)前線程結(jié)構(gòu)中有委托線程標(biāo)識(shí)) 將委托線程標(biāo)識(shí)傳遞出去 ELSE 將當(dāng)前線程的標(biāo)識(shí)傳遞出擊 RECEIVE: IF(當(dāng)前線程是服務(wù)器) 將委托線程號(hào)放凡服務(wù)器線程結(jié)構(gòu) 在發(fā)送原語(yǔ)中,可將委托線程標(biāo)識(shí)從一個(gè)服務(wù)器傳遞到另一個(gè)服務(wù)器.在接收邏輯中,通過增加服務(wù)器標(biāo)識(shí)的判斷可以避免非服務(wù)器線程之間的偶發(fā)通訊而導(dǎo)致的用戶線程的計(jì)時(shí)錯(cuò)誤. 4 結(jié)論 微內(nèi)核技術(shù)是當(dāng)今操作系統(tǒng)發(fā)展的最新成果.在體系結(jié)構(gòu)方面,它采用了面向?qū)ο蠹夹g(shù)來描述操作系統(tǒng)內(nèi)核對(duì)象,提出并實(shí)現(xiàn)了基于客戶服務(wù)器體系結(jié)構(gòu)的操作系統(tǒng).在算法方面,提出了許多高教新穎的算法,如線程及處理機(jī)調(diào)度算法、寫時(shí)拷貝算法、與硬件無關(guān)的存儲(chǔ)管理算法以及精確計(jì)時(shí)算法等等.在國(guó)產(chǎn)微內(nèi)核操作系統(tǒng)COSIX2.0的研制過程中,通過對(duì)國(guó)外微內(nèi)核技術(shù)的消化和研究,提出并實(shí)現(xiàn)了一些新的算法和模型,改進(jìn)了系統(tǒng)的性能,提高了系統(tǒng)的可靠性,做到了有所繼承,有所刨新目前,我們正在進(jìn)行基于微內(nèi)核的JAVA虛擬機(jī),支持服務(wù)質(zhì)量(Quality of Services)的調(diào)度系統(tǒng)微內(nèi)核熱重啟(Hot Restart)技術(shù)的研究.以上內(nèi)容是我們一部分研究工作的總結(jié).

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多