版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、開(kāi)發(fā)LinuxLinux兼容內(nèi)核的策略與路線(xiàn)LinuxLinuxkerneldevelopmentstrategiescompatiblewiththeline毛德操M(fèi)audoperation筆者自從提出Linux兼容內(nèi)核的構(gòu)想以后,聽(tīng)到了不少反響。SinceIproposedtheideaofLinuxcompatiblekernellaterIheardalotofrepercussions.其中支持者固然不乏其人,如開(kāi)源軟件推進(jìn)聯(lián)
2、盟主WhichiscertainlynoshtageofsuppterssuchastheOpenSourceSoftwarePromotionUnion席陸首群Ilthefirstgroup先生、倪光南院士、還有OSDL的平野正信先生,都是支持的。Mr.NiGuangnanacademiciansaswellasOSDLsMr.Hiranoisbelievedaresuppted.但是無(wú)庸諱言,對(duì)此不以為然的意見(jiàn)也有不少。Needle
3、sstosayhoweverdonotagreewiththeviewstherearemany.有趣的是,這些不以為然的意見(jiàn)往往分成兩個(gè)極端。Interestinglytheseviewsdisagreeoftendividedintotwoextremes.一個(gè)極端說(shuō),Linux兼容內(nèi)核要達(dá)到的目標(biāo)已經(jīng)達(dá)到了,因此根本就不用多此一舉。AnextremethatLinuxcompatiblekerneltoachievehasbeen
4、achievedsothereisnoneedredundant.說(shuō)已經(jīng)達(dá)到,是因?yàn)樵谟脩?hù)空間我們已經(jīng)有了Wine,而NdisWrapper則已經(jīng)解決了把Windows設(shè)備驅(qū)動(dòng)裝入Linux內(nèi)核的問(wèn)題。SaidtohavebeenreachedbecausewealreadyhaveintheuserspaceWinebutithasbeenresolvedNdisWrapperWindowsdevicedrivertoloadLinu
5、xkernelproblem.另一個(gè)極端呢,則是說(shuō)兼容內(nèi)核的難度太大,根本就不可能成功,所以只是一個(gè)“夢(mèng)”。Theotherextremeitiscompatiblewiththekernelisthattoodifficultsimplycannotsucceedsoonlya“dream.“顯然,在談?wù)撻_(kāi)發(fā)路線(xiàn)圖之前首先應(yīng)該回答這兩種意見(jiàn)。Obviouslytalkingabouttheroadmapshouldbeanswered
6、befethefirstofthesetwoviews.幸好它們正好互相構(gòu)成回答。Ftunatelytheyarejustanotherfmanswer.首先,正如筆者在另幾篇文章中所說(shuō),Wine只是在邏輯上、功能上基本解決了用Linux內(nèi)核來(lái)模擬仿真Windows內(nèi)核的問(wèn)題,但是性能上是無(wú)法令人滿(mǎn)意的,而且說(shuō)基本上解決其實(shí)也很勉強(qiáng)。FirstasIhavesaidinotherarticlesWineisonlylogicalfunc
7、tionbasicallysolvedwiththeLinuxkerneltosimulateSimulationWindowskernelproblembutperfmanceisnotsatisfactythatbasicallysolutionisactuallyveryreluctant.至于NdisWrapper,它所解決的是一些網(wǎng)絡(luò)設(shè)備(網(wǎng)卡)的驅(qū)動(dòng),而不是普遍意義上的設(shè)備驅(qū)動(dòng)。AsNdisWrapperitsolvedso
8、mewkdevice(NIC)drivernotthegeneralsenseofthedevicedriver.更何況NdisWrapper設(shè)備驅(qū)動(dòng)的上層只能是Linux的Socket,而不能與諸多文件操作的系統(tǒng)調(diào)用掛上鉤。MeovertheupperNdisWrapperdevicedrivercanonlybeLinuxSocketnotwithalotoffilemanipulationsystemcallsprocessisl
9、inked.實(shí)際上,退一步說(shuō),即使NdisWrapper和Wine真的已經(jīng)分黑盒子中,光憑幾本書(shū)能得到多少信息、如何就能開(kāi)發(fā)出跟Windows兼容的內(nèi)核?ToodifficultfthepeoplethatthereisaconcernthatisWindowsthecodeisnotpublichiddenintheblackboxevenwiththefewbookstogetmuchinfmationhowcandevelopco
10、mpatiblewiththeWindowskernel這種顧慮當(dāng)然也有一些道理,但是ReactOS又在這方面給我們提供了參考。ThisconcernofcoursethereissometruthbutinthiscontextReactOShasprovideduswithinfmation.ReactOS以零為起點(diǎn)從頭開(kāi)發(fā),Wine只在內(nèi)核外面做文章,尚且都能在一定程度上達(dá)到設(shè)計(jì)目標(biāo),而我們站在它們的肩膀上,又有Linux內(nèi)核作為
11、原材料,至少條件比他們好多了。ReactOStozeroasastartingpointfromscratchWineonlymakeanissueoutofthekernelyetitcanbetosomeextenttomeetthedesigngoalswestontheirshouldersanotherLinuxkernelasarawmaterialatleastmuchbetterconditionsthantheyare
12、.當(dāng)然,把Wine、NdisWrapper和ReactOS作為參考意味著我們需要吃透、或者至少基本上理解它們的代碼。OfcoursetheWineNdisWrapperReactOSasareferencemeansthatweneedtounderstwellatleastbasicallyundersttheircode.為此筆者將陸續(xù)寫(xiě)一些分析文章在本網(wǎng)站上推出,起個(gè)拋轉(zhuǎn)引玉的作用。TodothisIwillgraduallywr
13、iteanalyticalarticlesonthissitelaunchsincetheroleofaparabolicquotedYu.總之,兼容內(nèi)核的開(kāi)發(fā)既不是唾手可得,也不是難于上青天,既不能一蹴而就,也不至于遙遙無(wú)期。Inshtneithercompatiblewiththedevelopmentofthekernelisaneasynisitimpossiblefthecountywecannotbedoneovernigh
14、tyouwillnotbeputoffindefinitely.說(shuō)起來(lái)還是那句老話(huà):戰(zhàn)略上藐視困難,戰(zhàn)術(shù)上重視困難。Thatitisanoldsayinggoes:strategicdefianceofdifficultiestacticallydifficult.后發(fā)跟進(jìn)、逐步逼近后發(fā)跟進(jìn)、逐步逼近FollowupFollowupafterafterthethehairhairgraduallygraduallyapproaching
15、approaching我們開(kāi)發(fā)兼容內(nèi)核不能采取一步到位、而應(yīng)采取逐步逼近的策略。Wehavedevelopedcompatiblewiththekernelcannottakeonestepbutshouldadoptagradualapproachofthestrategy.以系統(tǒng)調(diào)用界面為例,我們完全可以先擱置那些用于GUI、即win32k.sys的擴(kuò)充系統(tǒng)調(diào)用,即便是對(duì)于248個(gè)常規(guī)系統(tǒng)調(diào)用也可以分期分批地實(shí)現(xiàn)。Thesystem
16、callinterfacefexamplewecansetasidethoseusedfthefirstGUIthewin32k.sysexpansionofsystemcallsevencallsftheconventionalsystem248canalsobeachievedinstages.實(shí)際上,我們甚至并無(wú)必要追求一個(gè)完整的實(shí)現(xiàn)。Infactweevendonotneedtopursueacompleteimplementa
17、tion.工程上有一個(gè)所謂2080原理,說(shuō)是20%的工作量往往可以實(shí)現(xiàn)80%的功能,而剩下的20%功能卻往往需要80%的工作量才能實(shí)現(xiàn)。Wksonasocalled2080principlethatis20%ofthewkloadcanoftenachieve80%ofthefunctionwhiletheremaining20%ofthefeaturesareoftenrequiredtoachieve80%ofthewkload.如
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Linux內(nèi)核移植與USB驅(qū)動(dòng)開(kāi)發(fā).pdf
- linux內(nèi)核
- linux0.11內(nèi)核研究與內(nèi)核編程實(shí)踐
- Linux內(nèi)核開(kāi)發(fā)者協(xié)作模式研究.pdf
- 基于Linux內(nèi)核的打印機(jī)輔助系統(tǒng)的研究與開(kāi)發(fā).pdf
- 基于數(shù)字簽名的Linux兼容內(nèi)核上應(yīng)用程序的安全機(jī)制.pdf
- 基于ep9315的linux2.6內(nèi)核的bsp開(kāi)發(fā)
- 基于Linux內(nèi)核的無(wú)線(xiàn)視頻傳輸軟件平臺(tái)的研究與開(kāi)發(fā).pdf
- linux內(nèi)核(kemel)版本
- 基于Linux內(nèi)核的實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)發(fā)平臺(tái)的軟件研究與開(kāi)發(fā).pdf
- 基于Linux內(nèi)核的多進(jìn)程應(yīng)用程序的開(kāi)發(fā).pdf
- 內(nèi)核調(diào)為ie8(兼容)
- linux內(nèi)核源代碼漫游
- 實(shí)驗(yàn)5 linux內(nèi)核的裁剪移植
- Linux內(nèi)核實(shí)時(shí)性的研究與改進(jìn).pdf
- Linux內(nèi)核實(shí)時(shí)性的研究與實(shí)踐.pdf
- 基于linux內(nèi)核手機(jī)低功耗的研究與實(shí)現(xiàn)
- Linux內(nèi)核安全測(cè)試的研究.pdf
- Linux操作系統(tǒng)內(nèi)核分析與研究.pdf
- 深入分析linux內(nèi)核鏈表
評(píng)論
0/150
提交評(píng)論