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