網絡消費網 >  5G > > 正文
        改進Minix 3進程間通信
        時間:2022-02-11 06:22:01

        1、引言

        早期的操作系統都是基于宏內核的思想實現的[5],例如UNIX、Linux、Solaris等。設計者將進程管理、文件系統、設備驅動程序、存儲管理等功能全部放在內核中完成。隨著技術的發展,操作系統性能不斷的提升的同時,也帶來了大量的錯誤[1]。把所有這些功能都放在具有最高特權級的內核中使得內核變得異常龐大,可靠性、安全性下降,可擴展性也變的十分困難[3]。因此,微內核的思想被提出。

        微內核只提供基本的操作系統功能服務,采用了機制與策略分離的設計思想,相關的驅動與一些服務被移出內核,策略則由用戶層來實現,使得系統中各進程相對獨立,互不干擾[4],提高了系統的安全性,可靠性。但是,這種思想的實現對性能方面卻產生了一些影響。在微內核中,困擾性能的兩大因素主要是進程通信以及任務切換。

        相比較宏內核而言,微內核將大部分實現操作系統功能的服務移出了內核,內核僅僅實現不可避免的機制。這使得內核成了服務的中轉站,因此加大了信息處理的開銷,客戶進程與服務進程間的通信多了道門檻,地址空間的切換也急劇增加。

        隨著技術的發展,微內核技術已發展到第二代。Minix3[3]就是第二代微內核的典型代表。在保持著性能的最小損失的同時,實現了高可靠性與高穩定性。

        2、對Minix3改進

        2.1 Minix3存在的缺陷

        Minix最初是由Tanenbaum教授為了教學而寫的一個操作系統,發展到現在已經是第三代,它采用微內核模式,由服務器和驅動程序等進程模塊和內核組成,大大提高了操作系統的可靠性[3]。

        由于Minix 3采用了第二代微內核技術,用戶進程及服務器進程和驅動進程都擁有自己的地址空間,它們之間相互獨立且相互不可見。為了能夠進行進程間通信,內核成了服務的中轉站,因為只有內核才進入各進程的地址空間中。經過代碼的閱讀,我們認為:Minix 3的編寫者為了提高效率,實現簡單,僅僅使用了分段機制。這直接導致了Minix3存在以下的缺陷:

        1. 分段機制并不能充分利用物理內存。將導致物理內存存在大量的浪費。

        2. 微內核必須緊緊結合硬件結構,這是為了能夠提升微內核的性能,而支持分段結構的CPU僅僅是Intel的IA32系列,這就大大將局限Minix3在別的CPU體系的發展。

        3. 采用分段機制,并沒有真正實現將各進程的地址空間相隔離。如果采用分頁機制與虛擬內存,將使得每個用戶進程,服務器進程與驅動進程真正的相隔離,每個進程都有自己的地址空間,更加符合微內核操作系統的設計思想。

        Minix3中為了使得內核能夠進入所有進程的地址空間而沒有采用分頁機制,僅僅使用了分段機制,這對系統的可靠性和穩定性帶來了一定的隱患,并且沒有分頁機制的操作系統也不是一種好的設計體系,并不能有效的使用物理內存。所以必須對Minix 3進行改進,引入分頁機制。

        高性能和高靈活性的要求決定微內核必須盡可能縮到最小,這就將大量的服務放到了內核之外,服務進程與用戶進程、內核之間將產生大量的進程間通信和任務切換,這是導致微內核性能降低的主要因素。而采用分頁機制后,由于引進了頁目錄和頁表,這必將導致內核的性能進一步下降。其次,Minix 3對分段機制下的進程間通信采取了一定的優化,但這些優化并不適用于分頁機制中。因此,必須在分頁機制下對進程間通信加以優化,提高操作系統的效率。

        2.2 內存快速映射技術

        Minix 3的進程間的通信采用了聚合的方式(rendzvous),使用固定大小的消息通信(見圖1)。因此,Minix 3中的進程間通信完全通過消息完成。用戶進程也用這種方式與操作系統組件進行通信。聚合原則使得消息的傳遞不用任何中間緩沖。

        每個進程都有自己的地址空間,進程之間相互不能看見另外進程的地址空間,這就大大提高了系統的安全性和可靠性。然而,在進程間通信時,需要將A進程的消息傳遞給B進程時就出現了問題。在Minix 3中,由于采用的是分段機制,內核地址空間分布在物理內存中的不同的邏輯段中,通過內核,可以將A進程的消息一次直接復制到B進程中去。不需要在內核中設置消息緩沖。

        在采用了分頁機制后,也可以通過類似的方法復制消息,內核將進程A中的消息復制到內核共有的共享消息緩沖區中,在將消息復制給進程B。這樣就實現了消息的傳遞。即用戶進程A的地址空間→內核地址空間→用戶進程B的地址空間,由于內核可以根據各進程的頁目錄和頁表看到所有進程的地址空間,所以這種方法是可行的(見圖2)。也只有通過內核,才能使消息在不同的地址空間內傳遞。

        關鍵詞: 通信 進程 Minix 改進

        版權聲明:
            凡注明來網絡消費網的作品,版權均屬網絡消費網所有,未經授權不得轉載、摘編或利用其它方式使用上述作品。已經本網授權使用作品的,應在授權范圍內使用,并注明"來源:網絡消費網"。違反上述聲明者,本網將追究其相關法律責任。
            除來源署名為網絡消費網稿件外,其他所轉載內容之原創性、真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考并自行核實。
        熱文

        網站首頁 |網站簡介 | 關于我們 | 廣告業務 | 投稿信箱
         

        Copyright © 2000-2020 www.fnsyft.com All Rights Reserved.
         

        中國網絡消費網 版權所有 未經書面授權 不得復制或建立鏡像
         

        聯系郵箱:920 891 263@qq.com

        備案號:京ICP備2022016840號-15

        營業執照公示信息

        亚洲国产高清在线| 亚洲av午夜国产精品无码中文字| 亚洲第一se情网站| 中文字幕亚洲精品无码| 亚洲Av无码一区二区二三区| 亚洲精品免费在线视频| 亚洲色大成网站www永久| 亚洲伊人tv综合网色| 亚洲国产精品lv| 亚洲欧洲免费视频| 亚洲制服中文字幕第一区| 久久精品国产亚洲精品2020| 亚洲色偷偷偷网站色偷一区| 亚洲色图国产精品| 亚洲精品无码久久久久久久| 亚洲同性男gay网站在线观看| 亚洲国产成人综合| 亚洲欧洲另类春色校园网站| 在线观看亚洲AV日韩A∨| 亚洲人成色77777在线观看| 亚洲AV无码一区二区三区网址 | 亚洲AV无码成人精品区日韩 | 亚洲AV永久无码精品成人| 亚洲av无码国产精品夜色午夜| 亚洲AV人无码激艳猛片| 91亚洲导航深夜福利| 亚洲人妖女同在线播放| 亚洲人成77777在线播放网站不卡| 亚洲性无码AV中文字幕| 在线91精品亚洲网站精品成人| 四虎亚洲国产成人久久精品| 亚洲欧洲国产成人综合在线观看 | 亚洲精品一级无码中文字幕| 最新精品亚洲成a人在线观看| 国产亚洲综合色就色| 老司机亚洲精品影院| 亚洲一区二区三区播放在线| 亚洲欧美成人综合久久久 | 中文字幕亚洲综合久久| 亚洲第一区二区快射影院| 久久久久亚洲精品无码网址色欲 |