linux內(nèi)核是什么 Linux驅(qū)動開發(fā)前為什么要配置編譯內(nèi)核?
Linux驅(qū)動開發(fā)前為什么要配置編譯內(nèi)核?最后,驅(qū)動程序以*的形式生成。insmod的本質(zhì)是將Ko文件與正在運(yùn)行的內(nèi)核相鏈接。鏈接過程類似于編譯HelloWorld。必須編譯鏈接以確定所需的外部符號(
Linux驅(qū)動開發(fā)前為什么要配置編譯內(nèi)核?
最后,驅(qū)動程序以*的形式生成。insmod的本質(zhì)是將Ko文件與正在運(yùn)行的內(nèi)核相鏈接。鏈接過程類似于編譯HelloWorld。必須編譯鏈接以確定所需的外部符號(導(dǎo)出)是否存在符號,因?yàn)槟承┓枺ê瘮?shù)或全局變量)在內(nèi)核中。如果在驅(qū)動程序中使用這些符號,則必須保留一個位置。insmod時,必須進(jìn)一步確定這些符號的具體位置(符號綁定)。如果內(nèi)核還沒有編譯,那么如何知道這些符號是否已經(jīng)被編程到內(nèi)核中?有關(guān)這些知識,請參閱IBMdeveloperWorks上面的“Linux可加載內(nèi)核模塊分析”和相關(guān)文章。
Linux為什么還要堅(jiān)持使用宏內(nèi)核?
Linux來自UNIX,您可能知道。UNIX是一類系統(tǒng)的總稱,宏內(nèi)核架構(gòu),有自己的常規(guī)實(shí)現(xiàn)標(biāo)準(zhǔn),如系統(tǒng)調(diào)用方式。最經(jīng)典的UNIX系統(tǒng)是sun的Solaris,它是所有UNIX特性的集合。
Linux遵循UNIX的內(nèi)核體系結(jié)構(gòu)和系統(tǒng)實(shí)現(xiàn)模式,但它是為當(dāng)前PC嵌入式設(shè)備定制和配置的。形象地說,Linux是UNIX的弟弟。它具有UNIX的一些特性。
Red hat是基于Linux內(nèi)核的客戶機(jī)系統(tǒng),它是Linux的一種。此外,還有Fedora、Ubuntu等?;赨NIX的有Solaris、HP-UX、system-5等。
另外,虛擬機(jī)群產(chǎn)品超便宜
windows采用微內(nèi)核架構(gòu),比Linux更先進(jìn)。Linux是內(nèi)核,它是一個垃圾堆。如果你把所有東西都放進(jìn)去,會有更多的人輾轉(zhuǎn)反側(cè),而且開源是相對穩(wěn)定的。
現(xiàn)有的windows體系結(jié)構(gòu)實(shí)際上來自windows NT,NT體系結(jié)構(gòu)來自Dec。Dec architects將大約50人的團(tuán)隊(duì)轉(zhuǎn)移到Microsoft并組織人員進(jìn)行開發(fā)。其中一個團(tuán)隊(duì)成員是一位女士,她什么也不做,只是參加了架構(gòu)技術(shù)會議,記錄了整個開發(fā)過程,還寫了一本書叫《windowsnt技術(shù)內(nèi)幕》,這本書是我20年前讀研究生時讀的。NT有POSIX子系統(tǒng),可以直接運(yùn)行UNIX程序。但是,發(fā)展是不完整的,沒有要求。微軟并沒有把重點(diǎn)放在這一點(diǎn)上。NT是最強(qiáng)大的微內(nèi)核系統(tǒng)和安全機(jī)制。后來為了提高性能,做了一些讓步,將顯示子系統(tǒng)內(nèi)置到內(nèi)核中。
windows最終會完全采用linux內(nèi)核嗎?
1. 學(xué)習(xí)一些操作系統(tǒng)的理論知識和概念。例如:進(jìn)程、內(nèi)存管理、文件系統(tǒng)等。這方面的書太多了,你自己找一本吧。2學(xué)習(xí)x86匯編。盡管Linux使用at&t匯編,但兩者的格式不同。學(xué)習(xí)x86匯編語言有助于理解x86系統(tǒng)結(jié)構(gòu)。這本書推薦王爽的匯編語言。我學(xué)的時候沒用這個。當(dāng)我后來看到這本書時,我覺得我做了“艱苦的工作”。在學(xué)習(xí)了大部分匯編指令后,找一些匯編程序來閱讀,熟悉這些指令的使用。不需要有編寫匯編程序的能力,可以在線閱讀,當(dāng)然會寫得更好3趙炯的《Linux內(nèi)核0.11完整說明》。Linux內(nèi)核版本較低,作者也對此進(jìn)行了詳細(xì)的說明。不過,關(guān)于X86系統(tǒng)的部分,筆者表示非常繁瑣,這部分一定要大致了解,那么后面章節(jié)的內(nèi)容就不會有太大的問題。我先讀了這本書,花了我一個月的時間。后來,我又一個一個地回去學(xué)習(xí),用了兩個月。我之所以讀這本書,是為了讓自己對核心有一個真實(shí)的感受,而不僅僅是理論上的東西。4茅德操的Linux內(nèi)核場景分析。Linux內(nèi)核2.4.0版,這本書很厚,兩卷。我花了兩個月的時間通讀。后來,我又去了一個又一個的書房。現(xiàn)在已經(jīng)用了兩個月了,正在研究中。。。。在我看來,Linux內(nèi)核最困難的部分是內(nèi)存管理。在過去的兩個月里,我只對內(nèi)存頁的周轉(zhuǎn)做了一個大概的了解,但是如果我對這個有了一個清晰的了解,我會對內(nèi)核的整體結(jié)構(gòu)有一個大概的了解,因?yàn)槟呀?jīng)清楚地說明了用戶進(jìn)程和內(nèi)核的其他部分是如何使用內(nèi)存頁的。學(xué)習(xí)Linux內(nèi)核最重要的是堅(jiān)持和思考。這是一個漫長的過程。也許你會發(fā)現(xiàn)學(xué)習(xí)Linux內(nèi)核不會給你帶來任何東西。我覺得我現(xiàn)在什么都做不了。我真的希望有人能給我一些建議!然而,學(xué)習(xí)也是有益的。例如,在閱讀了趙炯的《Linux內(nèi)核0.11的完整注解》之后,你可以去UCOSII,覺得它太簡單了!也許學(xué)習(xí)Linux內(nèi)核會對以后的工作有所幫助!