新聞中心

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

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

        作者:迎九 《電子產品世界》編輯 時間:2010-02-08 來源:電子產品世界 收藏

          將原本分散的多處理器系統整合為單一系統并不能通過簡單地將多個系統簡單地壓縮在一個系統中來實現。系統架構的變化使多個系統之間的并行運行和通信協調方式發生了不小的變化。

        本文引用地址:http://www.104case.com/article/105985.htm

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

          因此,多核系統并不是直接把多個芯片的多處理器濃縮到單一芯片之中這么簡單。實際上,多核系統和多處理器系統之間存在著許多重要的區別,導致不能把多處理器系統上的軟件直接移植到多核系統上來。

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

          下的Supervisor或Hypervisor

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

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

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

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

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

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

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 盘锦市| 灵石县| 梧州市| 衢州市| 曲周县| 云霄县| 岱山县| 海林市| 化德县| 西城区| 张家川| 疏附县| 长葛市| 郓城县| 密云县| 钟山县| 玉龙| 德清县| 汾阳市| 吉首市| 东辽县| 黄梅县| 宜兴市| 通城县| 安岳县| 建水县| 特克斯县| 巩义市| 开平市| 兴山县| 宁津县| 芦山县| 改则县| 花莲县| 沁水县| 东乡族自治县| 龙江县| 舒兰市| 米脂县| 乐昌市| 安达市|