<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 多核、虛擬化、多操作系統的軟件趨勢

多核、虛擬化、多操作系統的軟件趨勢

作者:迎九 《電子產(chǎn)品世界》編輯 時(shí)間:2010-02-08 來(lái)源:電子產(chǎn)品世界 收藏

  將原本分散的多處理器系統整合為單一系統并不能通過(guò)簡(jiǎn)單地將多個(gè)系統簡(jiǎn)單地壓縮在一個(gè)系統中來(lái)實(shí)現。系統架構的變化使多個(gè)系統之間的并行運行和通信協(xié)調方式發(fā)生了不小的變化。

本文引用地址:http://dyxdggzs.com/article/105985.htm

  在采用技術(shù)的時(shí)候,操作系統管理內核的基本方式有兩種:第一種是對稱(chēng)多處理(SMP),這是由一個(gè)操作系統來(lái)控制多個(gè)內核。只要有一個(gè)內核空閑可用,操作系統就在線(xiàn)程等待隊列中分配下一個(gè)線(xiàn)程給這個(gè)空閑內核來(lái)運行。第二種是非對稱(chēng)多處理(AMP),每個(gè)內核上都運行各自的操作系統。

  因此,多核系統并不是直接把多個(gè)芯片的多處理器濃縮到單一芯片之中這么簡(jiǎn)單。實(shí)際上,多核系統和多處理器系統之間存在著(zhù)許多重要的區別,導致不能把多處理器系統上的軟件直接移植到多核系統上來(lái)。

  多處理器系統和多核系統的主要區別之一就是,在多處理器系統中,CPU之間的界線(xiàn)是比較清晰的。在典型的多處理器情況下,多個(gè)CPU通過(guò)總線(xiàn)連接起來(lái),即便是共享外部存儲器,這些CPU基本上都是獨立運行的。在多核系統中,情況就有所不同。不論采用何種架構,在多核系統中,被共享的東西非常多,例如中斷控制器、外設以及Cache(高速緩存)等。

  下的Supervisor或Hypervisor

  當你希望運行SMP(同構核)環(huán)境時(shí),多核系統的這種特征通常表現為一種優(yōu)勢,因為所有的內核都由同一個(gè)操作系統來(lái)管理。但是,當你要在多核系統中同時(shí)運行兩種以上的操作系統時(shí),例如同時(shí)運行一套RTOS(實(shí)時(shí)操作系統)和一套通用操作系統,就會(huì )遇到較多的困難。在這種情況下,會(huì )有兩種選擇:第一,在兩個(gè)操作系統之間進(jìn)行頻繁的溝通,例如在它們之間建立主、從關(guān)系;第二,更簡(jiǎn)便的方法是采用Supervisor或者Hypervisor,這是一些少量的代碼,負責管理協(xié)調多個(gè)操作系統。顯然,第二種方式是更徹底、靈活、具有擴展性的多核軟件架構。

  Hypervisor 之所以能夠有效地管理運行在其上的多個(gè)操作系統,得益于分區和的方法??偟膩?lái)說(shuō),系統中有三類(lèi)資源可以被:執行單元(CPU)、內存和設備。執行單元是基于時(shí)間片來(lái)進(jìn)行。內存虛擬化是把物理內存劃分成許多區域。設備虛擬化則是通過(guò)給設備定義接口和API調用來(lái)提高使用靈活性和利用率。

  Hypervisor并不是一個(gè)全新的概念,在服務(wù)器中早已得到廣泛而且成功的應用。不過(guò),系統中經(jīng)常用到的Hypervisor主要是對內存和設備進(jìn)行虛擬化,以便在操作系統之間的資源共享得到完全的保證,而不是對執行單元進(jìn)行虛擬化。這種專(zhuān)用的Hypervisor比較小,而且直接運行在硬件上,不像服務(wù)器中用到的Hypervisor主要運行在完整的操作系統之上并且使用宿主操作系統的資源。

  在Hypervisor中,性能和獨立性是兩大最重要的需求,而后向兼容性(可以讓從屬操作系統不經(jīng)修改即可運行在宿主操作系統之上)是服務(wù)器Hypervisor中非常重要的需求。為了滿(mǎn)足嵌入式系統的特殊需求,這類(lèi)Hypervisor應當采用以下特殊設計:

  •設備盡可能直接映射給從屬操作系統,以便獲得最高的性能,以及實(shí)現最佳的隔離性。

  •應當具有更強的可伸縮性,可以自主選擇對哪些部分進(jìn)行虛擬化,也可以自主選擇虛擬化的目的是提高性能還是提高隔離性。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>