資源描述:
《基于minix的進(jìn)程間通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、萬(wàn)方數(shù)據(jù)2010年第19卷第7期計(jì)算機(jī)系統(tǒng)應(yīng)用基于Minix的進(jìn)程間通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)①陸冠群胡光涂時(shí)亮(復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院上海200433)摘要:進(jìn)程間通信作為操作系統(tǒng)中最重要的原語(yǔ)之一,提供了在多個(gè)隔離的進(jìn)程之間相互通信交流的可能性.提出了一種適用于微內(nèi)核操作系統(tǒng)的進(jìn)程間通信系統(tǒng)。并在具體的Minix操作系統(tǒng)平臺(tái)之上予以實(shí)現(xiàn),解決了Minix系統(tǒng)中由于進(jìn)程間通信模塊的缺失而導(dǎo)致開發(fā)人員無(wú)法順利移植其他平臺(tái)的實(shí)用程序的問(wèn)題。實(shí)驗(yàn)數(shù)據(jù)表明,該進(jìn)程間通信系統(tǒng)具有高效的特點(diǎn);同時(shí)由于該系統(tǒng)的設(shè)計(jì)原則,它
2、保持著易擴(kuò)展的特點(diǎn)。該系統(tǒng)的實(shí)現(xiàn)雖然是基于Minix平臺(tái),但該設(shè)計(jì)同樣適用于其他微內(nèi)核的系統(tǒng)。對(duì)其他操作系統(tǒng)具有借鑒意義。關(guān)鍵詞:進(jìn)程間通信:共享內(nèi)存:信號(hào)量;同步:虛擬內(nèi)存:操作系統(tǒng):Minix;微內(nèi)核DesignandImplementationofInter-ProcessCommunicationonMinixLUGuan-Qun,HUGuang,TUShi—Liang(SchoolofComputerScienceandEngineering,FudanUniversity,Shanghai20043
3、3,China)Abstract:Inter-processcommunication(iPc),asoneofthemostimportantprimitivesintheoperatingsystem,providesthepossibilityofexchangingdatawithseveraldifferentprocesses.Thispaperproposesanewdesignoftheinter-processcommunicationsystem.Andthissystemisimpleme
4、ntedonMinixoperatingsystemwhichlacksthesupportofIPCbefore.Withtheimplementation,iteasesthedevelopers’portinganddevelopingusefulprogramsbasedonthisfeature.Itisextensibleandefficient舔seenfromtheexperiment.Thedesignofthisinter-processcommunicationsystemCallbest
5、udiedforotheroperatingsystem.Keywords:inter-processcommunication;sharedmemory;semaphore;synchronization;virtualmemory;operatingsys·tem:Minix;micro-kernel進(jìn)程間通信作為操作系統(tǒng)中最重要的原語(yǔ)之一,提供了在多個(gè)隔離的進(jìn)程之間進(jìn)行通信交流的可能性。Minix3作為一個(gè)正在快速發(fā)展中的微內(nèi)核操作系統(tǒng),十分遺憾地尚缺乏符合POSlX標(biāo)準(zhǔn)的進(jìn)程間通信系統(tǒng)。該功能的缺乏直接
6、導(dǎo)致了某些重要的應(yīng)用程序(比如PostgreSQL)無(wú)法成功地移植到Minix3平臺(tái)中,另外使得在該平臺(tái)上開發(fā)多進(jìn)程合作的程序變得異常復(fù)雜。本文的項(xiàng)目基于與阿姆斯特丹的vrije大學(xué)合作,設(shè)計(jì)開發(fā)了基于Minix3操作系統(tǒng)且完全符合POSIX標(biāo)準(zhǔn)的進(jìn)程間通信系統(tǒng)。本文立足于進(jìn)程間通信系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),同時(shí)①收稿時(shí)間:2009-11-06;收到修改稿時(shí)間:2009-12-19展示了如何在微內(nèi)核的架構(gòu)上實(shí)現(xiàn)具有良好語(yǔ)義規(guī)范的進(jìn)程問(wèn)通信系統(tǒng),并且比較了微內(nèi)核與宏內(nèi)核在實(shí),現(xiàn)同樣功能上的差異。主要的研究意義基于下面幾點(diǎn)
7、:(1)研究如何高效實(shí)現(xiàn)基于微內(nèi)核的進(jìn)程間通信。(2)研究如何有效利用微內(nèi)核的安全機(jī)制來(lái)保障進(jìn)程間通信的安全。(3)研究進(jìn)程間通信所能夠解決的諸多現(xiàn)實(shí)問(wèn)題。通過(guò)本文所闡述的工作,基于本文開發(fā)的所有代碼以及相應(yīng)移植程序都已經(jīng)成功進(jìn)入到Minix3系統(tǒng)的主干代碼倉(cāng)庫(kù)。本文的結(jié)構(gòu)組織如下:在第一部分中,將對(duì)Minix系統(tǒng)做相應(yīng)的背景介紹:在第二部分中,將詳細(xì)闡述萬(wàn)方數(shù)據(jù)計(jì)算機(jī)系統(tǒng)應(yīng)用2010年第19卷第7期所提出的進(jìn)程問(wèn)通信系統(tǒng)的總體架構(gòu),并在接下來(lái)的篇幅中分別對(duì)共享內(nèi)存模塊以及信號(hào)量集模塊的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行描述;在第
8、三部分中,則會(huì)通過(guò)實(shí)例分析對(duì)該系統(tǒng)做進(jìn)一步的驗(yàn)證。最后一部分進(jìn)行總結(jié)并簡(jiǎn)述進(jìn)一步可研究的方向。1Minix背景介紹Minix系統(tǒng)是由Vrije大學(xué)的AndrewTanen-baum領(lǐng)導(dǎo)開發(fā)的一個(gè)操作系統(tǒng)。追根溯源,Minix系統(tǒng)在二十多年前就開始了它的雛形,曾經(jīng)還有過(guò)Minix的開發(fā)者和Linux的開發(fā)者之間關(guān)于微內(nèi)核與宏內(nèi)核優(yōu)劣的激烈論戰(zhàn)?,F(xiàn)在Minix已經(jīng)開發(fā)至第三代。Minix3