日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux内核指南

發(fā)布時間:2023/12/9 linux 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内核指南 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載:https://www.cnblogs.com/yangv/p/5627316.html

linux 內(nèi)核郵件列表
第一節(jié) - 一般性問題

  • 為什么有些時候使用“GNU/Linux"而另一些時候使用“Linux”?
  • 答:在這個FAQ中,我們嘗試使用“l(fā)inux”或者“l(fā)inux kernel”來表示內(nèi)核,而GNU/Linux用于表示整個GNU/GPL的操作系統(tǒng)軟件。我們需要分清:)

    FAQ的目的是提供linux內(nèi)核更多的信息并避免語義上的歧義。更多GNU軟件和linux關(guān)系的討論可以在http://www.gnu.org/gnu/linux-and-gnu.html獲取。看上去很多人都忽視了linux內(nèi)核郵件列表是一個討論內(nèi)核相關(guān)事情的論壇,而不是討論整個GNU/Linux。請不要把這方面的郵件發(fā)布出去。

    2.什么是實驗內(nèi)核版本?
    答:linux內(nèi)核版本被劃分為兩個序列:試驗版(奇數(shù)序列,如1.3.xx或者2.1.x)以及企業(yè)級(如,1.2.xx, 2.0.xx)。這些實驗序列用于測試新的功能,算法,驅(qū)動。因此,試驗內(nèi)核不是非常穩(wěn)定,會造成系統(tǒng)穩(wěn)定或者數(shù)據(jù)丟失。

  • 什么是一個企業(yè)級內(nèi)核?
    答:企業(yè)級或者穩(wěn)定內(nèi)核有一個良好定義的功能集,較少的bug和已經(jīng)經(jīng)過測試的驅(qū)動。他們發(fā)布的次數(shù)少于實驗性質(zhì)的內(nèi)核。GNU/Linux正式版一般使用企業(yè)級的內(nèi)核版本,而不是最新的版本。

  • 什么是凍結(jié)特性?
    答:凍結(jié)特性就是linux在內(nèi)核列表上宣布不再考慮更多的功能,直到新的穩(wěn)定版本發(fā)布。一般來說,這樣做后,造成的影響就是人們會在linux實際實施特性凍結(jié)前提出一大堆的新功能。

  • 什么是代碼凍結(jié)?
    答:代碼凍結(jié)比特性凍結(jié)限制的更多,這意味著,只能修正bug,這是一個很短的狀態(tài),通常預(yù)示著新的穩(wěn)定版本內(nèi)核將要發(fā)布。

  • 什么是f.g.hhprei內(nèi)核?
    答:中間發(fā)行版本f.g.hh。(這里解釋比如2.1.105ac4,其中f代表2,g就代表1,hh代表105,而prei就代表ac4)。

  • 從哪里獲得最新的kernel代碼?
    答:第一個推薦網(wǎng)站由 Transmeta (Linus Torvalds曾經(jīng)工作過的公司)維護,網(wǎng)址為:http://www.kernel.org/.該網(wǎng)站在全球都有鏡像。你可以通過網(wǎng)址http://www.CODE.kernel.org/ 訪問你國家的鏡像,其中“CODE”是你國家的代碼。比如“au"表示澳大利亞,所以鏡像網(wǎng)站就應(yīng)該是http://www.au.kernel.org/。
    你同樣可以選擇ftp,從 ftp://ftp.CODE.kernel.org/pub/linux/kernel/ 來下載kernel。另外,著名內(nèi)核高手在people文件夾下有一些目錄,用于放置他們的內(nèi)核補丁。testing目錄是Linus存放預(yù)發(fā)行補丁的目錄。預(yù)發(fā)行補丁主要用于其他開發(fā)者,這樣他們就可以和Linus的源碼樹保持一致。這通常是測試版本,應(yīng)此經(jīng)常導(dǎo)致系統(tǒng)崩潰。請在你自己的硬盤上使用。
    注意,Linus和Marcelo使用GIT來管理他們的內(nèi)核源碼樹。這讓他們很方便的獲取最新代碼,而提供補丁就不一樣了。如果你希望獲取這些源碼樹的快照,下列方法可以獲得:

  • CVS: :pserver:anonymous@cvs.kernel.org:/home/cvs/linux-2.[45]
    Subversion: svn://svn.kernel.org/linux-2.[46]/trunk
    Linux不再在BitKeeper源碼管理系統(tǒng)中維護自己的代碼,而是使用GIT。GIT是Linus編寫的,
    原因是BitKeeper不在對開發(fā)者提供服務(wù)。你可以瀏覽Linus最新代碼以及其他人的項目。
    這里同樣有一個關(guān)于 Overview of GIT and some helper tools 的說明和一個完整的
    Tutorial來指導(dǎo)你使用GIT.

  • 我從哪里獲取額外的kernel補丁?
    答:這有很多地方提供了內(nèi)核新功能的補丁,其中一個好的源就是http://www.linuxhq.com/.

  • 什么是補丁?
    答:補丁文件(這里特指linux內(nèi)核)是一個ASCII文件包含了新代碼和老代碼的區(qū)別,包含文件名和行號。補丁程序(可以使用man patch來查看)就會將補丁中涉及的修改加入當(dāng)前的代碼樹。

  • 我如何創(chuàng)建何時與linux內(nèi)核的補丁?
    答:發(fā)布這里有一些基本的守則。查看如何生成補丁,請留意下面的文字:

  • 確認每一行的結(jié)尾沒有ctrl+M字符。為了兼容DOS,一些工具會在補丁每行后面增加一個ctrl+M。所以,請正確配置你的工具,否則,你就必須手動刪除這些字符。
    在email中用簡單的文字包含補丁,不要使用基于64位的MIME。許多人可能無法閱讀你的補丁,因此你的補丁會直接被刪除。
    對于大的補丁,推薦把它分成若干個部分,每個部分使用下面的描述進行注釋:
    “[PATCH] cleanup of foo driver [1/5]”.
    不要對每一個部分都開一個線程,應(yīng)該一個一個部分的順序執(zhí)行下去。詳細的可以查看Documentation/SubmittingPatches。

    如果你想讓Linus或者主要維護人員中的其中一個來接受你的補丁,你必須明確的Cc:他們,否則你的補丁將被忽略。
    當(dāng)給Linus或者主要維護人員中的一個發(fā)送補丁時,你必須使用簡單的文字來包含補丁,不論補丁有多大。
    如果你希望征求補丁的修改意見,你同樣可以將它發(fā)送給Linus/主要的維護人員。如果補丁很大,你可能會好奇如何協(xié)調(diào)代碼的沖突部分。解決方法很簡單:先發(fā)送URL,然后發(fā)送補丁。
    如果你的郵箱會自動清除空白或者其他問題,請先修好你的郵箱,不要期待有其他的解決方法。
    最后,我見過有人質(zhì)疑上述準(zhǔn)則,認為這些規(guī)則過于嚴(yán)格,FAQ過于熱心。幸運的是,King Penguin自己回應(yīng)了這些,所以,我直接將他的話記錄如下:

    如果我拿到一個補丁非簡單文本格式,除非有絕對的理由,否則我將忽略它。我甚至不會去閱讀它的內(nèi)容,除非我期待發(fā)件人會給我一些特別的東西。真的,請不要發(fā)送這樣的郵件。
    Linus
    這有一個給使用Mozilla郵件客戶端的用戶的警告。Andrew Morton注意到當(dāng)補丁被包含在消息體內(nèi)時,Mozilla會損壞0列的空格。幸運的是,Mozilla 郵件以text/plain或者text/x發(fā)送補丁時正常。所以,使用附件發(fā)送補丁是安全的。
    生成補丁,你需要使用diff程序(閱讀diff命令說明)。最簡單的方法完成補丁就是在/usr/src/下,建立兩個源碼樹,建立一個鏈接/usr/src/linux執(zhí)行修改過的樹,然后diff這兩個目錄,/usr/src/Documentation/CodingStyle下放了更多的信息。注意:

    永遠使用統(tǒng)一的(-u)diff格式。
    避免調(diào)整源碼格式而導(dǎo)致diff出現(xiàn)無用的信息。避免使用tab替代空格等行為。
    除非你有特殊的原因,否則使用diff和最新的官方源碼進行比較。否則,你的補丁將被忽視。
    確認你的補丁中只包含需要的修改,而不是你對源碼樹所作的全部修改。一般來說,補丁限制在個別文件或文件夾中。最好對單個文件進行diff。例如,如果我只對文件driver_xyz.c進行了修改,那么我將使用下面的命令(確認你有源碼樹名稱為“l(fā)inux-2.1.105"),而且修改后的使用鏈接“l(fā)inux”):
    cd /usr/src
    diff -u linux-2.1.105/drivers/net/driver_xyz.c
    linux/drivers/net/driver_xyz.c > my_patch
    下面兩個肯定要說:diff的兩個參數(shù)中第一個為源碼,第二個為改過的源碼。并確認你已經(jīng)編譯和測試過。
    當(dāng)然,你需要建立兩個獨立的目錄以方便diff。這里提供一個好的技巧:
    tar xzvf linux-2.1.anything.tar.gz
    mv linux linux-2.1.anything.orig
    cp -al linux-2.1.anything.orig linux-2.1.anything
    這樣可以將每個源文件硬鏈接到一個新的目錄,因為這不復(fù)制文件所以很快。你可以對linux-2.1.anything源碼樹使用補丁,由于補丁不修改源文件只是移動他們到filename.org,所以鏈接的源文件將不會修改。
    確認你的編輯器也是相同的(在修改之前,自動備份源文件)。你可以隨意的編輯硬鏈接的源碼樹。如果你的編輯器不能這樣做,你需要在修改文件前做如下備份:

    cp driver_xyz.c temporary; mv temporary driver_xyz.c
    你可以使用文件的屬性來提醒你這些,在工作前將可寫屬性去除。

    chmod -w *.c
    diff操作會很快,因為大部分的文件都不沒有修改。感謝 Janos Farkas chexum@shadow.banki.hu 。

    最后,在提交前審查補丁文件,特別要說明:為什么需要這個補丁,以及到底修正了什么。

  • 如何應(yīng)用一個補丁?
    答:(來源于/usr/src/linux/README)你可以使用補丁升級版本。補丁以gzip和bzip2格式發(fā)布。安裝補丁,需要獲取比目前版本新的補丁文件,進入解壓后的源碼樹根目錄,并執(zhí)行:
  • gzip -cd patchXX.gz | patch -p1 or:
    bzip2 -dc patchXX.bz2 | patch -p1
    (將所有比當(dāng)前版本新的補丁都做一遍),你可以刪除所有備份文件(xxx~或者xxx.orig),請確認沒有失敗的補丁(xxx#或者xxx.rej)。如果存在,請確認是否存在操作錯誤。
    此外,腳本patch-kernel 可以自動執(zhí)行上述過程。它會自動判斷當(dāng)前內(nèi)核版本和補丁版本,使用方法為:

    scripts/patch-kernel .
    第一個參數(shù)為內(nèi)核代碼位置,補丁默認為當(dāng)前目錄,也可以使用第二個參數(shù)指定。
    應(yīng)用內(nèi)核補丁請查看文檔(/usr/src/linux/README)“Installing the kernel”部分。同樣也可以參考 good explanation on the Linux HQ Project site.

  • 什么是vger?
    答:vger是發(fā)布LKML服務(wù)機器的名字。服務(wù)器同樣存放了大量其他linux相關(guān)郵箱。更多的信息可以在下面的網(wǎng)頁找到:http://vger.kernel.org/

  • 什么是CVS樹?我如何了解關(guān)于CVS的更多信息?
    答:“CVS”是版本控制系統(tǒng)的簡稱,是一個源碼管理系統(tǒng)。可以從這里獲取更多信息:CVS Bubbles page.

  • 哪里有CVS的教程?
    答:你可以從這里找到在線的教程:An interactive CVS tutorial.
    了解CVS大概需要15分鐘。

  • 如何將補丁打入內(nèi)核?

  • 答:根據(jù)你的補丁,有若干種方法來將補丁打入內(nèi)核。關(guān)鍵看你這部分代碼由誰維護(查看MAINTAINERS文件)。如果你的補丁只是一個小的bug修正,并且你非常肯定這是正確的操作,那么用任何方法將其發(fā)送給維護者。如果補丁非常緊急(比如一個主要的安全漏洞),那么你可以直接發(fā)郵件給Linus,但是注意,他可能會忽視一些補丁,除非對他來說是非常正確的。經(jīng)過維護者的同意,或者經(jīng)過完善的測試。假設(shè)你想知道什么是良好的測試,這里還有一點重要的說明:列表的目的是讓補丁通過別人的評審以及良好的測試。好,如果你的補丁非常大,比如重寫了一大段代碼或者一個新的驅(qū)動,為了節(jié)約帶寬和磁盤空間,請通過連接發(fā)布補丁。最后,如果你對于自己的補丁不是非常確定,需要維護者的反饋,你可以使用私人郵件。

    如果你想提供補丁的部分內(nèi)核代碼沒有特定的維護者,你有3個選擇:

    發(fā)送郵件去linux-kernel@vger.kernel.org 并且期待有人看到并反饋給Linus,或者linus自己看到它。
    發(fā)送郵件給linux內(nèi)核和cc:Linus Torvalds torvalds@osdl.org期待linus接受它。注意Linus的操作就像一個黑盒。不要期待從他那里獲得任何回信。你需要自己檢查它發(fā)布的補丁來確認他是否采用了你的補丁。如果他沒有采用你的補丁,那么你需要反復(fù)的發(fā)送郵件(多次)。如果一個星期或者一個月后當(dāng)他發(fā)布了很多補丁,卻仍然沒有采用你的內(nèi)核,那么也許你應(yīng)該放棄。看來他不喜歡這個補丁。
    發(fā)送郵件到linux內(nèi)核和Cc:Alan Cox alan@redhat.com。Alan在回應(yīng)郵件方面表現(xiàn)的更好,會認真的對待你的補丁,并會定期將補丁發(fā)送給Linus。他同樣是一個好的測試人員。如果Alan接受了你的補丁,基本上Linus也會接受。如果他不喜歡你的補丁,你也會獲得一個郵件說明情況。
    16. 為什么內(nèi)核tar包包含的目錄叫做linux而不是linux-x.y.z/?

    答:因為Linus希望這樣。這樣使得更新補丁更方便,因為目錄不用反復(fù)的重命名,這對于Linus來說更方便。

  • 官方內(nèi)核和Alan Cox的 -ac系列補丁有什么不同?
  • 答:Alan的內(nèi)核是Linus內(nèi)核的測試溫床。當(dāng)Linus只接受穩(wěn)定的并經(jīng)過嚴(yán)格測試的補丁到2.4內(nèi)核時,Alan維護了一個內(nèi)核補丁包含了很多新概念,新驅(qū)動,和相對多bug的補丁。如果這個補丁證明自己的穩(wěn)定,Alan將他們貢獻給Linus并包含到官方的內(nèi)核中去。

  • 被污染的內(nèi)核指什么?
  • 答:一些廠商發(fā)布的二進制模塊(比如,沒有基于free軟件許可的可用源碼的模塊)。由于源碼不是免費可用的,發(fā)生在這些模塊上的任何bug都不能被我們檢查。關(guān)于這個模塊發(fā)現(xiàn)的所有問題都只能返回給對應(yīng)廠家,而不是內(nèi)核專家,或者是linux-kernel郵件列表。污染的方案過去用來描述二進制模塊內(nèi)核bug報告:這些內(nèi)核被標(biāo)識為污染的。如果一個被加載模塊沒有經(jīng)過公認許可的認證,內(nèi)核就被標(biāo)識為被污染的。公認許可認證相關(guān)文字在 linux/include/linux/module.h中。
    "oops"報告被表示成污染的對于內(nèi)核開發(fā)者來說可以忽略。當(dāng)這樣一個模塊被加載時,就會產(chǎn)生一個警告。注意,你可以查看一個存在兼容性許可的卻沒有MODULE_LICENSE TAG的模塊。如果你在modprobe或者insmod操作一個符合兼容性許可的模塊時發(fā)現(xiàn)警告,請報告這個bug到這個模塊的維護者。這樣他們就會增加需要的TAG。

    如果一個符號使用EXPORT_SYMBOL_GPL被導(dǎo)出,那么如果模塊沒有GPL兼容性MODULE_LICENSE字符,那么將無法被處理,并顯示警告。如果強制加載,模塊也會污染內(nèi)核。對于Alan Cox “BSD without advertisement clause”不是一個合適的自由軟件許可。這個許可類型允許只有二進制文件而沒有源碼的模塊。任何滿足這個許可的內(nèi)核tar包中的模塊都應(yīng)該是“Dual BSD/GPL”。
  • 我是否必須使用GIT來發(fā)送補丁?
  • 答:絕對不是,一些內(nèi)核開發(fā)人員包括Linus和Marcelo使用了GIT來管理內(nèi)核樹,但是這絕對不意味著你必須使用GIT來維護你自己的代碼或提交補丁。許多高手仍然使用其他工具或技術(shù)來維護自己的代碼。

  • 誰維護內(nèi)核?
  • 答:原來,Linus Torvalds維護內(nèi)核。隨著內(nèi)核的發(fā)展,他將老的穩(wěn)定版本維護工作分?jǐn)偨o其他人,自己繼續(xù)開發(fā)最新的“bleeding edge”版本。在2002年5月27日,下列內(nèi)核版本交給其他人維護:

    2.0 David Weinehalltao@acc.umu.se
    2.2 Alan Coxalan@lxorguk.ukuu.org.uk
    2.4 Marcelo Tosattimtosatti@redhat.com
    2.6 Linus Torvaldstorvalds@osdl.org
    22. 內(nèi)核編譯不了,我該怎么做?
    答:首先確認你獲得了最新的代碼。也許一些分支代碼確實存在問題。不如不是,查詢是否存在補丁。不要詢問已經(jīng)有人問過的問題。如果問題沒有得到修復(fù),嘗試,自己查看代碼和給郵件列表發(fā)送補丁。你將成名。注意,clean代碼不算修復(fù)。

    第二節(jié) - 驅(qū)動相關(guān)問題

  • 驅(qū)動存在問題?
  • 答:需要更詳細的說。請?zhí)峁┠闾囟ǖ膕etup的信息(查看Qs How do I make a bug report?)同樣可以查看Q:“kernel x.y.z broken!”。

    最差的方法就是重寫驅(qū)動,盡量聯(lián)系驅(qū)動的作者并報告錯誤。建設(shè)性的批評也是歡迎的。
  • 這有一個新的驅(qū)動用于硬件XYZ
  • 答:干的好,請嘗試找到同樣使用該設(shè)備的人讓他們測試程序。不會在沒有人使用之前將驅(qū)動放進內(nèi)核。當(dāng)進行測試時,訥河的開發(fā)也在繼續(xù),你可能需要重新寫你的補丁來適應(yīng)當(dāng)前版本。由于整個驅(qū)動很大,我們建議將實際驅(qū)動上傳到ftp上,然后將連接發(fā)送到郵件列表,并描述你的驅(qū)動適用于什么硬件。

  • 是否支持我的TW-345卡在f.g.hh版本內(nèi)核中?
  • 答:首先檢查硬件是否在啟動時識別。一般來說是這樣。然后看你是否需要進行配置比如modules.conf。第三看內(nèi)核源碼中是否有文件包含卡的名字(比如你有一個邏輯總線卡,有一個buslogic.c,那么你就非常幸運)。接著,在內(nèi)核代碼中尋找供應(yīng)商的名字,或者卡的model號,或者最大的芯片的芯片號。例如,53C80芯片的驅(qū)動可能在源碼中叫做5380。然后檢查DejaNews,使用你在內(nèi)核源碼中查找的關(guān)鍵字,有99.99%的機會找到特定的設(shè)備驅(qū)動。好了。這樣你不用打攪其他人就可以找到你需要的。如果都沒有奏效,你應(yīng)該問問一些新組織,比如comp.os.linux.hardware。

  • 誰維護驅(qū)動?
  • 答:看看/usr/src/linux/MAINTAINERS文件,這里是最權(quán)威的來源。同樣可以查看驅(qū)動源碼本身。一些驅(qū)動有自己的網(wǎng)頁和特定的郵件列表。如果你無法聯(lián)系上維護者,那么你就可以給郵件列表發(fā)郵件。不論如何,記住維護者一般是很忙的人,他們一般都是利用業(yè)余時間為linux工作,所以不要期待立刻的回應(yīng)。一些維護者可能在短時間內(nèi)得到太多的郵件以至于不可能回復(fù)全部的郵件。請諒解。

  • 我想為TW-345寫一個驅(qū)動,我應(yīng)該如何開始?
  • 答:相當(dāng)?shù)闹鲃?#xff01;首先有一個建立:你準(zhǔn)備好作這些了嗎?很多項目剛開始就結(jié)束了。確認你沒有做重復(fù)的工作。確認驅(qū)動不存在:請閱讀Q/A:2.3。

    首先準(zhǔn)備好你自己。下載文檔,閱讀它們。接著,獲取linux內(nèi)核源碼,查找類似驅(qū)動,讀取THAT。(我一般使用最小的那個:wc -l *.c |sort -n |head -4)。好了,你可以思考一下。現(xiàn)在的問題是,你有硬件設(shè)備的說明嗎?你可以通過逆向工程,但有設(shè)備文檔會更簡單。在最黑暗的時候(70年代到80年代),你可以拿到所有設(shè)備的完整資料。這已經(jīng)不可能了。聯(lián)系你的賣主,禮貌的詢問設(shè)備信息或廠家。嘗試聯(lián)系廠家。如果你無法拿到技術(shù)文檔,考慮放棄或者嘗試硬件的競爭對手。如果沒有放棄,好的,下一步就是找到Dos驅(qū)動。嘗試在微軟模擬器(dosemu或WINE)上運行。這允許你對工具變成來記錄I/O信息。這將給你很多IO相關(guān)的信息。祝你好運,你會用到的。
  • 我想獲取文檔,但是他們讓我簽NDA(不公開承諾)?
  • 答:一些人遇到了真正的麻煩。一些公司只是想知道哪些人擁有文檔,而不關(guān)心你是否編寫GPL驅(qū)動。這樣,存在一個問題:告訴他你將做的并讓他們寫下他們確實明白了你的意思。這樣,你仍然可以將驅(qū)動編寫進內(nèi)核。但你不能將文檔發(fā)送給其他人。他們只能讀取源碼中的注釋。另外一些公司(比如Netscape)自己簽寫了NDA來限制他們不公開信息。這樣就不允許你來編寫驅(qū)動,并將源碼放在網(wǎng)上。請注意。如果有人遇到NDA,我建議不要接受。

    7.我想有一個TW-234的驅(qū)動,有人愿意幫我寫一個嗎?

    答:有些linux開發(fā)者愿意為了一杯啤酒來開發(fā)驅(qū)動。另外一些可能愿意免費幫你。如果你需要,你可以考慮付錢來購買或維護驅(qū)動。

  • 什么是主驅(qū)動號?
  • 答:驅(qū)動好是傳統(tǒng)的unix方法,用來在文件系統(tǒng)和設(shè)備驅(qū)動間尋址。一個驅(qū)動號是一個主號和鏡像號的組合。當(dāng)前l(fā)inux有8bit的主和鏡像驅(qū)動號。當(dāng)你打開一個設(shè)備文件(字符或設(shè)備)內(nèi)核從模塊讀取主號到一個驅(qū)動結(jié)構(gòu)表中。有兩個表:一個用于字符設(shè)備,一個用于block設(shè)備,每個都有256個最大值。內(nèi)核源碼中Documentation/devices.tex文件列出了所有的官方和鏡像號。H.Peter Anvin(HPA)維護了這個列表。如果你寫了一個驅(qū)動,你需要由HPA獲得主號。詳情參看:Q/A on devfs

  • 為什么不支持WinModems?
  • 答:問題是缺乏這個硬件的相關(guān)信息。大部分公司生產(chǎn)WinModems拒絕提供信息,而讓微軟操作系統(tǒng)來使用。最根本的問題是,他們和一般的貓不一樣;他們沒有DSP,而是讓CPU做所有事情。因此你無法像傳統(tǒng)貓一樣和他通訊,你需要運行貓的驅(qū)動,或者你會出現(xiàn)數(shù)據(jù)丟失。他們設(shè)計的并不好。

    注意,一些人努力去反逆向winModems,所以如果你很幸運,就可以找到支持你設(shè)備的驅(qū)動。否則,你就應(yīng)該買一個傳統(tǒng)的貓。注意,貓必須經(jīng)過機構(gòu)的認證。而WinModems,驅(qū)動軟件和硬件都需要經(jīng)過認證。而這對于開源軟件驅(qū)動來說更難,因為需要花費更多的錢。所以,理論上說,修改開源驅(qū)動比較容易。實際上99.999%的用戶不知道存在驅(qū)動的源碼。如果認證是唯一的問題,那么生產(chǎn)廠家將會發(fā)布二進制驅(qū)動。好消息是,大部分的WinModem硬件是被支持的。壞消息是這只是冰山一角。景觀winModems可以使用,他們功能與聲卡相似。所有的功能都需要使用本地CPU。可以在這里查看更多的信息:see http://www.linmodems.org/。
  • 現(xiàn)代CPU非常快,為什么我自己不能寫用戶模式中斷處理?
  • 答:這問題不等同于是否存在足夠的CPU來浪費。而更像是,當(dāng)前的Linux結(jié)構(gòu)不允許這樣做。用戶程序通過中斷方式運行,任何終端都必須激發(fā)特定的中斷處理代碼來執(zhí)行。因此,小的設(shè)備驅(qū)動必須存在于內(nèi)核模式中。

  • 是否需要針對所有版本發(fā)布驅(qū)動?
  • 答:這里有詳細描述不同內(nèi)核版本區(qū)別的記錄。為SMP編譯的驅(qū)動不可能在一個非SMP內(nèi)核中運行。同樣,不同的供應(yīng)商期待加入不同的東西到他們的內(nèi)核序列中,可能也會改變數(shù)據(jù)結(jié)構(gòu)。因此,內(nèi)核中的數(shù)據(jù)結(jié)構(gòu)是不變的。任何修改二進制驅(qū)動的做法可能都會產(chǎn)生問題。內(nèi)存變化可能會出現(xiàn)在i386-PAE模式。應(yīng)為這些區(qū)別,一個驅(qū)動為一個內(nèi)核版本編譯的結(jié)果,是不能和其他內(nèi)核上工作的。如果你發(fā)布了一個二進制的驅(qū)動,你將需要針對不同的內(nèi)核版本提供支持。如果你發(fā)布的驅(qū)動是源碼形式,那么提供寫好的驅(qū)動,這些驅(qū)動將跨內(nèi)核版本和結(jié)構(gòu)。當(dāng)然,它將需要最終用戶進行編譯。版本維護人員ui提供預(yù)先編譯的驅(qū)動,大部分的用戶將不需要自己編譯驅(qū)動。

    第三節(jié) - 郵件相關(guān)問題

    linux內(nèi)核郵件列表用于討論linux內(nèi)核本身。關(guān)于linux系統(tǒng)員、linux編程、linux發(fā)布的討論不受歡迎。

    測試消息不受歡迎。如果你想知道是否訂閱成功,請等待若干小時,你將會受到郵件列表系統(tǒng)告知的郵件。你毫無疑問的會受到一連串的消息。如果你希望自己發(fā)送郵件,那么必須確保自己有重要的事情要說。當(dāng)你閱讀了下面的段落,寫成一個實際的郵件,然后發(fā)送到lkml。請記住,這里有很多的訂閱者,這將需要你等待很久來獲取反饋郵件。一個小時并不長。

    當(dāng)給linux-內(nèi)核郵件列表發(fā)送郵件時,會有很多忙的人閱讀這些消息。不管你認為自己有多重要,這里有很多比你更重要的人。重要并不是看你有多少錢,而是看你對linux內(nèi)核做了多大的貢獻。

    記得這些,你必須確保沒有浪費其他人的時間。

  • 如何向linux-內(nèi)核郵件列表注冊?
  • 答:訂閱前請仔細考慮。你是否希望郵箱里面出現(xiàn)很多的郵件?你是否那么關(guān)心linux內(nèi)核開發(fā)期待每周更新一次內(nèi)核,忍受bug,錯誤和系統(tǒng)崩潰的時間和精力的浪費?你是否準(zhǔn)備好加入偉大的企鵝,并被人稱為怪胎?也許你應(yīng)該閱讀“Kernel coverage at LWN.net”在網(wǎng)址:http://lwn.net/Kernel/.
    好了,如果你仍然期待加入,發(fā)送 “subscribe linux-kernel your_email@your_ISP” 到majordomo@vger.kernel.org (注意,不要包含雙引號字符,當(dāng)然替換你自己的郵箱地址)。你將會完成訂閱。我經(jīng)常看到如下的報告:

    FAILED:


    <<- RCPT To:edmond@cedar-republic.com
    ->> 550 edmond@cedar-republic.com… we do not relay
    反饋這個問題到網(wǎng)址: http://vger.kernel.org/mxverify.html。

    確認你沒有上述問題!詳見: http://vger.kernel.org/majordomo-info.html。

  • 如何取消linux內(nèi)核郵件列表訂閱?
  • 答:由郵件列表服務(wù)器發(fā)出的每一封郵件底部都有下面的說明:

    To unsubscribe from this list: send the line “unsubscribe linux-kernel” in
    the body of a message to majordomo@vger.kernel.org

    詳見: http://vger.kernel.org/majordomo-info.html

  • 我是否必須訂閱郵件?
  • 答:你不是一定需要訂閱郵件。郵件地址為:linux-kernel@vger.kernel.org。你應(yīng)當(dāng)在你的消息中說明你的評論和回答都代表了你個人。

    但是,總的來說,訂閱郵件是有好處的。我們可以知道什么是公認正確的,什么不是。別將這里作為個人的helpdesk。這是一個社區(qū)。
  • 存在文件列表嗎?
  • 答:

    http://www.uwsg.indiana.edu/hypermail/linux/kernel/ has a search by word/subject capability.
    http://marc.theaimsgroup.com/?l=linux-kernel keeps a collection of Linux related list archives.
    http://lkml.org/ is another archive with latest kernels, latest messages and hottest messages tables.
    http://groups.google.com/groups?hl=en&q=fa.linux.kernel&meta= is a Google interface to the fa.linux.kernel newsgroup, which is in turn fed from the mailing list.
    http://gossamer-threads.com/lists/linux/kernel/ has an easy interface and an appealing format (click on a thread, shows all posts in a thread with posts clearly delimited).
    5. 我如何在文件中查詢特定問題?

    答:使用簡單關(guān)鍵詞特指一個東西,比如,如果你在使用網(wǎng)卡NIC-007時出現(xiàn)問題,使用“NIC-007”或者“oops NIC-007”。記住,仔細查找文件,你將找到更多的信息而不是簡單發(fā)布一個問題。

  • 郵件列表是否負擔(dān)很重?
  • 答:負擔(dān)非常重;平均每天的消息量為~400【07/2007~02/2008】.一個月就超過12000個消息。你真的不會愿意去閱讀每條消息。如果你關(guān)心郵件列表中的負擔(dān),我建議你嘗試 digest lists,這個負擔(dān)會輕很多。這里還有一個每周的總結(jié)叫做"Kernel coverage at LWN.net" 在: http://lwn.net/Kernel/。

  • 在列表中,我可以問什么問題?
  • 答:基本規(guī)則就是避免問已經(jīng)問過的問題。記住,這里有個郵件列表用于內(nèi)核開發(fā)的討論。如果你有什么想法或者bug需要報告,就去這里吧。如果你找到一個Clib庫或者應(yīng)用的問題,這不屬于linux-kernel。

  • 郵件風(fēng)格有什么要求?
  • 答:當(dāng)使用郵件列表跟貼,在你引用前請仔細考慮。因為列表上的每個人都有原來發(fā)送的郵件,所以不要全部引用。高亮你需要表明你觀點的部分就行。確認引用的部分使用>(或者>>)。不要引用簽名,補丁,配置文件,和整個郵件。內(nèi)核list已經(jīng)很擁擠了。請大家注意。

    注意如果你有太多的引用,你的郵件可能會在沒有閱讀的情況下被刪除。請在引用的文字后面回復(fù),而不是在前面回復(fù)。在引用之前看到回復(fù)著實讓人看不懂。我知道有些人喜歡引用整個消息,所以他們回復(fù)在最開頭。不要這樣做。別引用全部的東西。沒人愿意看到這樣的郵件。請不要使用tab或者空格來表示引用。使用>來表示。使用空格沒有辦法區(qū)分引用和回復(fù)。浪費大家的時間。參看如何提高閱讀效率:Write for maximum efficiency of reading.不要使用太長的簽名,前們不支持超過4行80個字符。不要使用太大的附件。很多人把.config文件作為附件,這可能會超過1000行,而且還會持續(xù)增加。如果你.config的內(nèi)容有需要加入郵件,那么可以將下面的結(jié)果附在郵件附件里:

    grep ^C .config
    or
    grep “=[y|m]” .config
    如果你使用微軟Outlook,那么你需要使用下面的補丁:

    http://home.in.tum.de/~jain/software/oe-quotefix/ for Outlook Express
    http://home.in.tum.de/~jain/software/outlook-quotefix/ for Outlook
    10. 郵件是否有人管理?

    答:內(nèi)核郵件列表無人管理。

  • 我如何拒絕列表的郵件?
  • 答:技術(shù)上可行,但是我從沒有聽說有人拒絕linux內(nèi)核郵件。如果你堅持這么做,那么你需要做的就是使用程序“fetchmail”,這可以反復(fù)的發(fā)送郵件到特定地址,比如linux-kernel@vger.kernel.org。如果你讓這個發(fā)生,你可以確保你的訂閱將會被刪除。

  • 我需要注意其他哪些規(guī)則?
  • 答:這里還有些規(guī)則需要注意:

    注意,這是linux內(nèi)核的郵件,主要為開發(fā)者服務(wù)。
    只是用英語。
    不要傳輸HTML格式。如果你在使用IE或者Netscape, 請關(guān)閉HTML郵件格式。
    如果你使用其他OS, 確認你的郵箱不使用Charset=“Windows*”,因為這些郵件將被阻止。
    如果在你上傳郵件前你被組織, 在文檔中查找答案。記住99%的問題,以前都問過。一般來說第一個問題是最完整的。
    準(zhǔn)確的詢問問題,或者聲明bug。 避免歧義。
    態(tài)度誠懇些。 避免攻擊其他用戶。
    不要糾纏于爭議。
    一行代碼比千萬句話都管用。
    批評別人的代碼很容易, 但自己寫就不那么輕松了。 如果你發(fā)現(xiàn)一個問題或錯誤,不要馬上寫下評論,比如"這段代碼真垃圾?"。聯(lián)系代碼的作者, 解釋問題。 以后,當(dāng)你寫代碼的時候,大家都會認可你。
    不要責(zé)備新人問的簡單問題。 給他們發(fā)送私人郵件說明你的觀點。
    13. 我如何發(fā)送郵件?

    答:你可以發(fā)送郵件到:linux-kernel@vger.kernel.org

  • 郵件列表被列為垃圾郵件?
  • 答:郵件列表非垃圾郵件。

  • 我不再從郵件列表獲得郵件,出什么問題呢?
  • 答:Majordomo 是一個智能郵件列表服務(wù)器。如果出了什么問題,郵件無法發(fā)送,多次嘗試后,你會自動退出訂閱。從另外一個方面說,郵件服務(wù)器出現(xiàn)故障也是存在的情況。如果被取消訂閱,那么請重新訂閱。也有可能因為MTA延時,導(dǎo)致退出訂閱。如果你的郵件路由數(shù)據(jù)是合法的就證明發(fā)生了這種情況。可以將你的地址反饋給http://vger.kernel.org/mxverify.html。

  • 是否存在NNTP網(wǎng)關(guān)?
  • 答:是的,這有一個新組織叫做:fa.linux.kernel。

  • 我想發(fā)送一個好想法到郵件列表去,我應(yīng)該怎么做?
  • 答:你可以這樣做:

    首先確認你的想法對于內(nèi)核開發(fā)非常重要。在發(fā)送郵件前,請確認這是一個內(nèi)核問題。
    那么你有一個關(guān)于內(nèi)核的想法。 你是否確認以前沒有人想過? 閱讀所有相關(guān)的主題。 同樣查詢 the mailing list archives 看以前是否有提出過類似的想法。
    這里,你已經(jīng)確認過你是第一個提出這樣想法的人。 為了更好的得到回應(yīng), 給出一個補丁 發(fā)送郵件。如果你提供代碼, 就會有人進行嘗試并給出評論。 如果你不清楚內(nèi)核hacking,那么你最好現(xiàn)在開始學(xué)習(xí):-) 當(dāng)你提出了你的想法, 你就可以把自己稱為內(nèi)核專家。
    如果你沒有使用代碼實現(xiàn), 只是一個想法, 并發(fā)送郵件。 盡量寫清楚, 這樣人們才能更好的了解你的想法。 如果你幸運, 有人喜歡你的想法并實現(xiàn)它。 如果沒有人去實現(xiàn),請注意, 我們都是志愿者,每個人都有太多事情去做。
    如果你的想法沒有得到好的回應(yīng), 別泄氣, 沒有一個嚴(yán)格的定義來說明什么是好的想法或壞的想法。如果有人對你說了不敬的話, 請控制你的情緒。如果有人很客氣的表達不同意你的想法,請仔細考慮你的想法。 如果別人還是沒有清楚你的想法, 請使用其他方法解釋一遍。
    如果你認為你是對的,不用在乎別人的說法,你可以自己實現(xiàn)它! 如果你是對的,你可以笑到最后。
    18. 如果郵件列表發(fā)送了不相干的郵件,我應(yīng)該怎么做?

    答:不理會他。

  • 可以自動將“回復(fù):”加在列表中嗎?
  • 答:有些郵件列表自動增加 “回復(fù):”幫助查看郵件。但這不是個好想法,有幾個原因,這里不想列出。可以查看如下鏈接:Reply-To: Munging Considered Harmful 。

  • 我可以在郵件列表中招聘工作嗎?
  • 答:當(dāng)然不行,如果你想找工作,還是去這個網(wǎng)站吧:http://www.hotlinuxjobs.com/

  • 為何我發(fā)送私人郵件會出錯?
  • 答:有很多原因,比如,郵件遞送出現(xiàn)問題。郵件被阻塞。

    第四節(jié) - “我如何”相關(guān)問題

  • 我如何提交補丁?
  • 答:我假設(shè)你已經(jīng)按照前面的要求做了補丁。現(xiàn)在寫一個簡短的說明來描述你的補丁,包含針對的內(nèi)核版本,你的測試用例,你想要的反饋等。最好10行以內(nèi)。給你的補丁和一行的ReadMe文件(描述你的名字和郵件)放在一起。在你的郵件中,寫明[PATH]<驅(qū)動名或代碼段>,kernel<內(nèi)核版本>。然后發(fā)送。小的README文件保證你的補丁在網(wǎng)絡(luò)上傳送而不會泄漏你的名字。如果你不關(guān)心版權(quán),那么你可以略過這些文件,直接gzip補丁文件將其放在附件中上傳。

    注意,linus不閱讀linux-內(nèi)核list。如果你希望他看見補丁,你就必須直接發(fā)送給他。注意,Linus喜歡在ASCII下閱讀補丁。如果你的補丁太大,你只能發(fā)送一個URL給Linus。同時注意,Linus不會回復(fù)你的郵件。
  • 我如何捕捉異常?
  • 答:如果異常發(fā)生,系統(tǒng)會將內(nèi)存數(shù)據(jù)寫入/proc/kmsg文件。你可以使用dmesg命令打印其內(nèi)容。但是klogd和syslogd會自動的捕捉異常并寫入日志文件。

    有些時候,異常導(dǎo)致內(nèi)核崩潰。出現(xiàn)這種情況時,所有功能都死掉了,此時,異常無法寫入日志文件。在全面的崩潰情況下,你有三種對策:

    手動抄寫異常文字。
    你可以預(yù)先安裝終端鏈接(read linux/Documentation/serial-console.txt)那么你也可以遠程記錄問題。
    從2.3.10開始,你就可以使用串口打印機作為終端。可以打印屏幕信息。
    還有補丁可以使用硬件記錄linux內(nèi)核日志。
    3. 我如何發(fā)送一個異常?
    答:假設(shè)已經(jīng)發(fā)現(xiàn)了一個異常,你應(yīng)該將相關(guān)的系統(tǒng)日志、內(nèi)核配置文件、內(nèi)核符號map以及你的硬件和環(huán)境描述。該異常是特殊的函數(shù)造成的?他是否發(fā)生在你硬件配置修改?不要在你查看linux/Documentation/oops-tracing.txt文件、linux/scripts/ksymoops的README前,發(fā)送異常報告。這些文檔描述了內(nèi)核異常的基本原理。好的跟蹤信息使得解決問題更方便。如果沒有運行ksymoops將內(nèi)核緩存形成文件,請不要發(fā)送異常報告。報告將被忽略因為沒有提供任何有價值的信息。確認,你拷貝了正確的system.map文件到/boot文件夾,否則你無法獲取正確的結(jié)果。
    下列情況會使得內(nèi)核異常無法處理。最典型的兩個就是如果你的CPUoverclock,或者在VMWARE下運行。原因是overclock可能造成隨機bit錯誤,而VMWARE下運行可能改變內(nèi)核數(shù)據(jù)。在這兩種情況下,內(nèi)核數(shù)據(jù)報告是沒有用的。

  • 我認為自己找到了一個bug,如何進行報告?
    答:一個bug和異常有明顯的不同。異常是當(dāng)內(nèi)核檢測到有東西出現(xiàn)異常。bug是事物沒有按照應(yīng)該的方式運行。如果你發(fā)現(xiàn)了不正確的功能,你可能也有可能不遇到異常。

  • 什么樣的信息我應(yīng)該發(fā)送在bug報告?
    答:他是否影響了系統(tǒng)安全?是否跟驅(qū)動和硬件配置有關(guān)?你是否能夠識別出相關(guān)的代碼?這都依賴于你找到的bug。

    請遵守bug報告準(zhǔn)則:記住,開發(fā)者沒有權(quán)利進入你的系統(tǒng),他們也不是思想閱讀者。告訴我們內(nèi)核的版本,你的硬件情況(如果你不清楚,更多的細節(jié)總是需要的)。至少,告訴我們你使用的處理器和主板,多少錢,多大的硬盤,使用什么磁盤控制器以及其他的擴展版。如果有下面這些的話會更有幫助:gcc編譯器的版本和binutils版本。嘗試找個可復(fù)制的方法來觸發(fā)問題。告訴開發(fā)者搭建一個復(fù)雜的應(yīng)用環(huán)境會導(dǎo)致很多開發(fā)者直接刪除郵件。

    總的來說,提供數(shù)據(jù)比直接給出結(jié)論更有效。如果你想在你的bug報告中給出你的猜測,我們歡迎,但是這不是具體數(shù)據(jù)的替代品。有些問題并不是看上去的那樣。硬件問題可能可能會偽裝為一個VM問題。一個設(shè)備驅(qū)動或者VM問題可能會導(dǎo)致文件系統(tǒng)差異。

    如果你獲得一個異常消息,你必須把系統(tǒng)信息高速我們,否則將會沒有用處。使用最新的syslogd/klogd,這將更加簡單。如果系統(tǒng)異常并死機導(dǎo)致klogd無法記錄信息到syslog文件。拷貝異常信息,稍后使用ksymoops來獲取符號信息。

    如果你可以,嘗試鎖定問題到特定的內(nèi)核版本。這將非常有用。

  • 我在老版本的內(nèi)核中找到一個bug,我應(yīng)該報告它嗎?

  • 答:最好在新版本的內(nèi)核上進行測試。

  • 我如何編譯內(nèi)核?
  • 答:查看 Kernel HOWTO 以獲得更多信息。同樣,在 http://www.kernelnewbies.org/有很多人可以幫助你。

    Buildkernel 可以指導(dǎo)你進行編譯,包括下載需要的文件,補丁,編譯內(nèi)核和模塊,安裝lot進入lilo,有選擇的構(gòu)建pcmcia-cs,cipe和freeswan。下載和安裝整個tar或者rpm版本,運行下面的命令:

    buildkernel NEWESTSTABLE #To build the most recent stable kernel.
    buildkernel NEWESTBETA #To build the most recent beta kernel.
    buildkernel 2.4.7 #If you know the version you wish to build.
    8. 我如何檢查是否內(nèi)核被污染?

    答:

    cat /proc/sys/kernel/tainted
    如果結(jié)果為“0”表示沒有污染,否則表示被污染。

    第五節(jié) - “誰負責(zé)”相關(guān)問題

  • 誰負責(zé)?
  • 答:你是否指“誰維護郵件列表”或者“誰負責(zé)Linux內(nèi)核”?如果是前者,是Majordomo(服務(wù)器的名字)。

  • 為什么不做一個Linux內(nèi)核Team網(wǎng)頁,就像其他項目一樣?
  • 答:原因恐怕是因為Linux沒有組。同樣的,因為所有人都對linux內(nèi)核做了貢獻。最后,linux內(nèi)核貢獻者都非常的低調(diào)。

  • 為什么下面不回答我的郵件?
  • 答:因為他們太忙了。如果你每天獲得1000個郵件,你會怎么做?這不意味著粗魯。

    第六節(jié) - CPU相關(guān)問題

  • 最好的linuxCPU是什么?
  • 答:這里沒有最好的CPU。選擇什么CPU一般取決于你的價格/性能/技術(shù)需求。在x86上,我們有Intel,AMD,Cyrix和IDT/Centaur.很多選擇。這些都可以,除了x86處理器,linux內(nèi)核也可以在68k處理器,MIPS R3000和R4000,PowerPc, ARM, Alpha和sparc處理器上運行。

    linux內(nèi)核是有四個廣泛傳播的版本:x86,Alpha,Sparc和Power-PC。而Alpha和Sparc版本的發(fā)展有很大的局限性。如果你不想花費大量時間安裝和配置Linux,你最好使用x86機器。

    第七節(jié) - OS相關(guān)問題

  • xxx操作系統(tǒng)有一個很Nice的功能,所以它比GNU/linux強大。
  • 答:對不起,這只能說明xxx操作系統(tǒng)被設(shè)計為擁有xxx功能,而Linux被設(shè)計為另外一種。不存在誰比誰更好。

  • 為什么linux內(nèi)核沒有一個圖形化的boot界面就像xxx操作系統(tǒng)一樣?
  • 答:因為它不需要。如果你想,你可以增加這個功能。

  • CTE-variant操作系統(tǒng)的內(nèi)核有一個很好的功能,我能把它放進linux內(nèi)核嗎?
  • 答:當(dāng)然,你可以對free軟件做任何事。但是CTE-variant好像不是一個free軟件吧。

  • 是否最新的linux版本被老的bug更多?
  • 答:最新的bug比起老的內(nèi)核版本來說沒有更多的已知bug。但是linux內(nèi)核代碼在持續(xù)的增加。作為一個規(guī)律,更多的代碼意味著更多的未知bug。

  • 為什么linux內(nèi)核代碼持續(xù)增多?
  • 答:有四個原因:

    1)增加新的功能單元。2)增加新的驅(qū)動。3)老代碼持續(xù)的增加評論和注釋。4)老代碼上增加新功能。
  • 內(nèi)核源碼太大,需要太長時間來下載。能否將其分解為小的tar包?
  • 答:內(nèi)核(從2.1.110)有150萬行代碼。大約25萬行(17%)分在不同的目錄下,大約81萬行(54%)是針對不同平臺的驅(qū)動。如果你只對i386感興趣,你可以保留23萬行代碼而刪除其他部分。可以節(jié)約15%的空間。核心內(nèi)核代碼大約43萬行,約29%。

    如果你想去掉驅(qū)動,那么麻煩就來了。這樣設(shè)計不是因為你下載的時間有多長,而是會給Linus以及其他發(fā)布內(nèi)核版本的人帶來多大的工作量。對整個內(nèi)核構(gòu)建tar包是一個可預(yù)知工作量的工作,而將其分解為不同的結(jié)構(gòu)獨立的tar包就需要增加很多的工作量,而且也會帶來很多的維護問題。如果你真的需要一個小內(nèi)核,你就應(yīng)該建立一個程序來實現(xiàn)實現(xiàn)上述功能。一旦你這樣做并將其公開,就會有更多的人來欣賞你的努力。如果僅僅想內(nèi)核論壇抱怨,我想linus和其他內(nèi)核開發(fā)人員會直接忽視這樣的信息。
  • linux內(nèi)核基于什么條款?
  • 答:在linux內(nèi)核根目錄,你將找到一個COPYING。這個文件就是linux內(nèi)核基于的GNU基本條款。如果你還有疑問,可以到論壇上提問。但是請別在這里問。

  • 什么是“bazaar”和“cathedral”?
  • 答:這用于描述兩種不同的開源軟件開發(fā)冒失,首先有Eric S Raymond提出。你可以查看他的原文:his original article.

  • 為什么說linux是“World Domination”?
  • 答:希臘式的幽默?請別當(dāng)真,這只是想說有越來越多的人開始使用GNU/Linux。注意,開源軟件的“free”指的是自由,剛好是World Domination的相反一邊。

  • Linux內(nèi)核將來的計劃是什么?
  • 答:這個問題應(yīng)該詢問Linus。但我很懷疑,他是否有時間回答這個問題。但是,這里有一些有待開發(fā)的東西可以參考:

    1)支持Pnp2)支持SMP3)支持64位4)支持POSIX5)APM
  • 在boot啟動信息里面為何顯示BogoMips而不是MHz?
  • 答:對于一些處理器,無法找到時鐘頻率。因此內(nèi)核無法通過檢測MHz來獲取精確時間。Bogomips

    可以獲取精確的時間。可以查看Wim van Dorst關(guān)于the BogoMips HOWTO的文章。同樣可以查看Linux Benchmarking HOWTO。有時候不同內(nèi)核的BogoMips讀數(shù)會相差30%,這是由于BogoMips 計算循環(huán)的不同造成。 Richard B. Johnson最近提出了一個解決該問題的新補丁。

  • 我安裝了內(nèi)核x.y.z,但是卻不能工作,我該怎么辦?
  • 答:檢查/usr/src/linux/Documentation/Changes,確認你使用了最新的代碼。這非常重要。很多老版本的問題,在新版本已經(jīng)解決。如果你使用了開發(fā)版的內(nèi)核,那就注意查看Kernel list,也許已經(jīng)有bug 的報告。

  • 人們討論用戶空間和內(nèi)核空間,有什么區(qū)別?
  • 答:用戶空間是用戶程序運行的空間,使用的是虛擬的內(nèi)存。X服務(wù)就在用戶空間中,shell也是。內(nèi)核空間是kernel運行的地方。內(nèi)核內(nèi)存是不可交換的,因此應(yīng)該謹(jǐn)慎使用。同樣,內(nèi)核空間的操作也是優(yōu)先級最高的。這意味著,其他進程需要等待該操作完成才會運行。內(nèi)核的任務(wù)是提供一個安全簡單的接口控制硬件。大部分的想法都應(yīng)該在用戶空間完成。唯一的例外是當(dāng)功能無法在用戶空間執(zhí)行或者效率太低。這就是為什么文件系統(tǒng)是放在內(nèi)核中的,因為內(nèi)核要快得多。

  • 什么是線程?
  • 答:簡而言之,線程就是輕量級的進程。

  • 我可以在linux上使用線程嗎?
  • 答:當(dāng)然,Linux內(nèi)核現(xiàn)在可以clone系統(tǒng)調(diào)用,提供了使用線程的庫。Xavier Leroy已經(jīng)為我們提供了linuxThreads。

    如果你有一個 libc 5系統(tǒng),你需要安裝linuxThreads。如果你是一個libc 6系統(tǒng),你什么都不用做,Glibc已經(jīng)包含在里面。
  • 是否線程在GNU/Linux實在內(nèi)核空間使用的?為何不混合使用內(nèi)核/用戶空間?那樣不是更高效?
  • 答:無法確定使用混合線程庫會給linux帶來明顯的好處。如果你看了solaris線程,他們用了一個混合的線程庫,然后就確認它是有好處的。好吧,我以solaris為例,他們有一個非常重的內(nèi)核,因此進入內(nèi)核空間非常的慢。linux就相反了,有一個高效的內(nèi)核。所以在用戶空間和內(nèi)核空間間切換就快很多。

  • GNU/linux機器可以做集群嗎?
  • 答:當(dāng)不同的人談?wù)摷?#xff0c;他們指的是不一樣的東西。有人想要的是錯誤切換和負載均衡,其他人指的是并行計算。錯誤切換和負載均衡無法再linux中提供。當(dāng)然你可以自己實現(xiàn)它。

    Beowulf項目提供了一個并行計算的系統(tǒng)和API。
  • Linux如何支持SMP?
  • 答:2.2內(nèi)核比2.0兼容性更好,2.2版本有一個全局的內(nèi)核始終,但是經(jīng)常釋放,所以兩個處理器不會對全局鎖產(chǎn)生競爭。對于14個處理器的機器來看,linux運行的很好。比NT好。

  • 我能夠?qū)σ粋€CPU鎖定一個線程或者進程嗎?
  • 答:使得,作為2.5.8版本的內(nèi)核支持綁定一個進程或者線程到指定的CPU。

    int sched_setaffinity(pid_t pid, unsinged long len, unsigned long *mask)
    int sched_getaffinity(pid_t pid, unsinged long len, unsigned long *mask)
    21. 在linux下線程效率如何?

    答:難以置信。與基于其他內(nèi)核的應(yīng)用相比,linux顯然是最快的。每個線程只用8kib內(nèi)核內(nèi)存。用少于1ms的時間進行上下文切換。但是,linux時序被設(shè)計為小數(shù)量的運行線程。最好有幾個處理器就運行幾個線程。在程序中避免使用大量的線程。大量需求在于修改linux進程調(diào)度,來適應(yīng)大量線程的情況。但這被開發(fā)社區(qū)拒絕,因為擁有大量線程是愚蠢的做法。

  • linux網(wǎng)絡(luò)棧如何工作?
  • 答:最好的答案就是源碼。

  • 我們能夠?qū)⒕W(wǎng)絡(luò)棧凡在用戶空間嗎?
  • 答:不。因為這樣的話,將會降低運行速度。有些人想檢查每個網(wǎng)絡(luò)報文包,所以認為將其放在用戶空間更簡單。但事實上,內(nèi)核有一個網(wǎng)絡(luò)包過濾API。LSF允許你解惑一些網(wǎng)絡(luò)包。另外一個原因是有些人想通過這種方式,實現(xiàn)防火墻。在這個情況下,有一個更好的解決方案,使用 Netfilter。這是一個內(nèi)核級的網(wǎng)絡(luò)防火墻。你可以創(chuàng)建既可靠又快速的防火墻配置。這個在2.3的開發(fā)版本中已經(jīng)存在。

    第八節(jié) - 編譯相關(guān)問題

  • 我下載了最新的內(nèi)核,但是無法編譯,出什么問題了?
  • 答:首先檢查內(nèi)核最新的補丁在: http://www.atnf.csiro.au/~rgooch/linux/docs/kernel-newsflash.html,這里有最新的補丁。不要再這里放編譯錯誤除非你確認過archives知道從來沒有人提過相同的問題。一般來說,如果linus允許簡單錯誤進入內(nèi)核而使linux無法編譯,那么應(yīng)該就會在幾小時內(nèi)將補丁發(fā)布出來,當(dāng)然后面幾個星期內(nèi)仍然會有人不停的問為何無法編譯。請別這么做,我們會知道你住哪,我們會在3點到你家敲門來問你愚蠢的問題。

    確認你用于編譯的gcc版本是最新的,binutils是最新的包,有最新的gas和ld。如果已經(jīng)是這樣了,嘗試不同的編譯器。Linus無法測試每個驅(qū)動,他只是一個自私的人。他只編譯在他機器上的版本并發(fā)布。事實上,他有時發(fā)布出來的版本并沒有編譯。他很忙,讓他多休息一下,多等一天到兩天。將會有人將修正的版本發(fā)布上去。如果這沒有發(fā)生,那你可以嘗試自己修復(fù),并發(fā)布補丁。請檢查是否已經(jīng)有人報告過相同的問題。你可以跟開發(fā)者溝通,但是請別浪費大家的時間。并非對特定硬件的所有l(wèi)inux內(nèi)核都被放到kernel.org。如果你是對一個非i386系統(tǒng)出現(xiàn)編譯錯誤,請檢查相關(guān)的網(wǎng)頁和mailing-lists看有無相應(yīng)的說明。
  • 推薦使用什么編譯器或者binutils來編譯內(nèi)核?
  • 答:看內(nèi)核版本。知道2000.10.26,gcc2.7.2.3是推薦用來編譯全部內(nèi)核的。之后,linus宣布,gcc 2.9.1.66用于編譯2.4.x內(nèi)核到2.4.9.gcc2.95.3推薦用于內(nèi)核2.4.10之后的。

    binutils是2.9.1.0.25,不能使用的版本是2.8.1.0.25到2.9.1.0.2.這是beta版本,并且知道bug非常多。
  • 推薦使用什么編譯器?我比較喜歡xyz-編譯器。
  • 答:推薦的編譯器需要經(jīng)過嚴(yán)格的測試并有一個穩(wěn)定的表現(xiàn)。

  • 我能用gcc2.8.x來編譯內(nèi)核嗎?最優(yōu)的是什么,我如何使用-O99?
  • 答:當(dāng)然,這是屬于你的內(nèi)核。如果無法編譯,你有權(quán)修改它。但是,沒有人會使用實驗版的編譯器來編譯一個企業(yè)級內(nèi)核。企業(yè)級內(nèi)核必須被推薦的編譯器編譯。使用gcc2.8編譯2.0內(nèi)核不被推薦,可能會導(dǎo)致不可預(yù)期的內(nèi)核。

    對于2.1內(nèi)核,常被其他版本的編譯器編譯,但是如果你無法使用推薦編譯器請不要抱怨,Linux開發(fā)者有很多的工作需要去做,有很多的bug需要處理。請注意,優(yōu)化選項可能導(dǎo)致更大或者編譯更慢的內(nèi)核。

  • 使用xyz編譯器編譯了內(nèi)核,有如下的警告/錯誤,我應(yīng)該提交bug報告嗎?
  • 答:一般來說,使用推薦編譯器不會得到警告/錯誤。但是少數(shù)例外:

    每個人都期待干凈的補丁,修補這些警告或錯誤是件好事。但是請確認你是否修復(fù)了一個真正的bug。對于非推薦編譯器這方面的修改會被忽視。
  • 為何我的內(nèi)核編譯停在了一個隨機的地方,同時報錯:“Internal compiler error: program cc1 caught fatal signal 11”?
  • 答:有些時候,壞的硬件會導(dǎo)致上述問題。閱讀網(wǎng)頁:http://www.BitWizard.nl/sig11/

    更重要的問題是random。如果它停在一個相同的地方,應(yīng)該是編譯器或者內(nèi)核源碼的問題。但如果停在隨機的地方,應(yīng)該是硬件問題。如果出現(xiàn)硬件問題,你會看到很多奇怪而不同的錯誤。

  • 我應(yīng)該使用什么編譯標(biāo)志?
  • 答:至少 -O2 -DMODULE -D__KERNEL__ -DLINUX -Dlinux

    我不建議如果文件夾在內(nèi)核源碼樹上,使用手動方式進行編譯。其他的makefile將不知道這些額外的模塊,并且不會重編譯它們。最好的方法,是將其加入內(nèi)核的makefile系統(tǒng)。舉例如下:

    Example Makefile for your own modules

    SUB_DIRS :=
    MOD_SUB_DIRS := $(SUB_DIRS)
    ALL_SUB_DIRS := $(SUB_DIRS)
    M_OBJS := example-module1.o example-module2.o
    include $(TOPDIR)/Rules.make
    修改makefile,增加你的子目錄到父目錄的sub_dirs list。

  • 為何我報錯:符號無法處理,比如foo_ver_foo?
  • 答:如果/proc/ksyms或者depmod -ae的輸出包含符號“foo_er_foo”,那么你就有可能使用了不完整的makefile。最安全的修復(fù)方法就是保持你的配置,刪除所有,然后重新配置,并編譯,比如:

    mv .config …
    make mrproper
    mv …/.config .
    make oldconfig
    make dep clean bzImage modules

    install, boot

    第九節(jié) - 功能特性相關(guān)問題

  • ext2fs文件最大多大?2GB?
    答:在2.0.x內(nèi)核中,最大的文件系統(tǒng)為2GB。更大的文件只在64位機器上。

  • GGI/KGI或者圖形接口在內(nèi)核空間嗎?
    答:GGI/KDI信息可以在這里查找(here. )。GGi/KGI開發(fā)者抵制在這里的無用爭論。

  • 我如何獲得超過16個SCSI磁盤?
    答:使用2.2.0或更高版本內(nèi)核。

  • 什么是devfs,為何是個好想法?
    答:好的,這里我說下我自己淺薄的想法。Devfs允許驅(qū)動直接連接到設(shè)備文件(就是你在/dev下看到的東西)。查看 devfs FAQ 獲取更多信息。

  • linux內(nèi)存管理?區(qū)域分配?

  • 答:Rik van Riel有一個很好的網(wǎng)頁介紹linux內(nèi)存管理:nice page

  • 你可以打開多少文件?
  • 答:在2.0.x內(nèi)核,你可以打開256個文件。在2.2.x你可以打開1024。

  • 我需要encryption和steganography。為何內(nèi)核中沒有?
    答:注意這部分是2000/2001寫的,很多東西都發(fā)生了變化。在法國和俄國,強加密是非法的,而美國對這方面的軟件也做出了限制。

  • 為何不提供刪除恢復(fù)功能?

  • 答:這個被提了很多次。內(nèi)核不需要支持這個。你可以在用戶控件輕松的完成這個。可以替代rm程序,讓他刪除文件到一個回收站,而不是真的刪除它們。這可以使用libtrash, 更多的信息在: http://m-arriaga.net/software/libtrash/

  • Linux tmpfs怎么樣?
  • 答:2.4系列內(nèi)核引入tmpfs。老得sysV共享內(nèi)存代碼被新的shm文件系統(tǒng)替代,后者更簡單輕。如果你有一個嵌入式系統(tǒng),你會發(fā)現(xiàn)tmpfs非常有用。

  • linux 使用了大量交換空間,這是正常的嗎?
  • 答:不一定。linux會將長期不用的程序交換出去。這應(yīng)該更高效。

    第十節(jié) - ”內(nèi)核2.0.x和2.2.x變化“相關(guān)問題

  • 大小(資源和可執(zhí)行文件)?
  • 答:我使用下列方法快速測量項目的大小:

    cat find . -name \*.c -o -name \*.h -o -name \*.S| wc -l
    當(dāng)我在2.0.33內(nèi)核源碼上運行時,我得到:811985(行代碼,包含評論)。當(dāng)我在1.0.106內(nèi)核上運行時獲得1460508。這意味著linux是一個很大的軟件,需要200到500人5-10年的工作。事實上,linux內(nèi)核大概7歲,有100-1000個程序員在維護它。

  • 支持新的文件系統(tǒng)嗎?
  • 答:

    NTFS (read-only). Allows read-only access to Windows NT ? partitions.
    Coda. Coda is an advanced experimental distributed file system with features such as server replication and disconnected operation for laptops. Note that Coda is also available for 2.0.x kernels as an add-on package. Check theCoda Web site for more information.
    4. 性能?

    答:有些只在2.2x內(nèi)核上才開始使用的優(yōu)化:

    MTRRs. MTRRs are registers in PPro and Pentium II CPUs which define memory regions with distinct properties. The default mode for PCI memory accesses is “uncacheable” which means memory and I/O addresses on a PCI peripheral are not cached. For linear frame buffers, a better mode is “write-combining” which allows the CPU to re-order and slightly delay writes to memory so that they can be done in blocks. If you are writing to the PCI bus, you then use PCI burst mode transfers, which are a few times faster.
    Finer grained locking. Most instances of the global SMP spinlock have been replaced with finer grained locking. This gives much better concurrency.
    User buffer checks. Replaced the old, painful way of checking if user buffers passed to syscalls were legal by a kernel exception handler. The kernel now assumes a buffer is OK. If not, an exception handler catches the fault and returns -EFAULT to user space. The advantage is that legal buffers no longer need to be carefully checked, which is much faster. The old scheme was also suffering from race conditions under SMP.
    New directory entry cache (dcache). This makes file lookups much faster.
    Example: time find /usr -name gcc -print
    2.1.104: cold cache: 0.180u 0.460s 0:15.02 4.2% 0+0k 0+0io 85pf+0w
    2.1.104: warm cache: 0.100u 0.150s 0:00.25 100.0% 0+0k 0+0io 72pf+0w
    2.0.33: cold cache: 0.100u 0.660s 0:14.87 5.1% 0+0k 0+0io 85pf+0w
    2.0.33: warm cache: 0.090u 0.600s 0:00.69 100.0% 0+0k 0+0io 72pf+0w
    6.什么是__initxxx宏?

    答: 比如__initfunc()是一個宏用于把第一個參數(shù)變成一個ELF。

  • 為何ifconfig顯示不正確的統(tǒng)計?
  • 答:在內(nèi)核源碼中,linux/Documentation/Changes的一段話:

    “For support for new features like IPv6, upgrade to the latest
    net-tools. This will also fix other problems. For example,
    the format of /proc/net/dev changed; as a result, an older ifconfig
    will incorrectly report errors.”
    9. 我的tty設(shè)備不工作,出了什么情況?

    答:ptys使用了一個4,而linux2.1.115中取消了。如果你使用devfs,那么問題就自動解決了。

  • 我能使用unix98 ptys嗎?
  • 答:如果你有一個內(nèi)核和libc支持,那就可以。這在linux2.2和glibc2.1中得到支持。

  • Capabilities?
  • 答:有一個FAQ:ftp://ftp.guardian.no/pub/free/linux/capabilities/capfaq.txt.

    第十一節(jié) - 文檔相關(guān)問題

  • 什么是入門文檔,為何我需要先閱讀?
  • 答:一次又一次的看到內(nèi)核list上有很多的技術(shù)爭論。有些是非常重要的,但也有很多是重復(fù)的。入門文檔有很多的連接到相關(guān)的討論上,這樣,在我們開始爭論之前應(yīng)該首先看看是否已經(jīng)存在相同的討論。這不是為了禁止討論,而是讓你在更專業(yè)的地方進行討論。

  • 能否有I/O接口?
  • 答:在已有unix系統(tǒng)上,select和poll用來實現(xiàn)設(shè)備的分時處理。這有相關(guān)的文檔:primer document

  • 什么是VFS,它如何工作?
  • 答:VFS(虛擬文件系統(tǒng)或許你文件系統(tǒng)切換)基于linux文件系統(tǒng)層。采用了dentry緩存和標(biāo)準(zhǔn)的操作。這里有你需要的文檔:VFS primer

  • 什么是linux內(nèi)核時間?
  • 答:你可以在這里找到相關(guān)信息:here.

  • 是否存在/proc/scsi,這樣我可以用它來重復(fù)掃描SCSI總線?
  • 答:以下文字處于drivers/scsi/scsi.c :

    /*

    • Usage: echo “scsi add-single-device 0 1 2 3” >/proc/scsi/scsi
    • with “0 1 2 3” replaced by your “Host Channel Id Lun”.
    • Consider this feature BETA.
    • CAUTION: This is not for hotplugging your peripherals. As
    • SCSI was not designed for this you could damage your
    • hardware !
    • However perhaps it is legal to switch on an
    • already connected device. It is perhaps not
    • guaranteed this device doesn’t corrupt an ongoing data transfer.
      */

    第十二節(jié) - 編程相關(guān)問題

  • 什么時候使用cli()?
  • 答:cli()是內(nèi)核函數(shù),用于禁止終端,sti用戶使能終端。有些東西必須運行在禁止終端的地方,因為一些操作需要操作順序。你應(yīng)到永遠不使用cli()在一個用戶空間程序。

    cli()不再推薦使用。在單一處理器上,這用于清除內(nèi)核cpuflag。在SMP系統(tǒng)上,保持所有處理器禁止中斷會帶來些麻煩。目前,我們正在嘗試其他的方法。比如,你應(yīng)該設(shè)置一個鎖來描述該設(shè)備實例需要進行原子操作。而不是讓所有的CPU都不處理中斷。

  • 為何有時候cli-sti成對使用,有時候save_flags-cli()-restore_flags?
  • 答:cli-sti確保我們能夠?qū)⒔沟牟僮魇鼓堋6怯胹ave_flags-cli-restore_flags用于對于速度要求高的代碼。注意,在系統(tǒng)上,cli和sti和restore_flags操作都很快,但是在smp系統(tǒng),函數(shù)需要等待全局IRQ鎖。除了這個區(qū)別這些函數(shù)在SMP上都是安全的。調(diào)用cli多次,全局IRQ鎖只會在第一次鎖定。

  • 當(dāng)禁止中斷時我可以調(diào)用printk嗎?
  • 答:是的,但是你得非常小心。早版本的內(nèi)核在printk中包含cli-sti對。所以,你需要在調(diào)用printk前使能中斷。

  • start_bh_atomic和end_bh_atomic()?
  • 答:為了保護你的代碼放置被中斷,多數(shù)用于系統(tǒng)調(diào)用,用戶空間的函數(shù)調(diào)用最好使用cli/sti對。

  • 獲取全局內(nèi)核鎖多次是否安全?
  • 答:是的,全局內(nèi)核鎖對于每個進程遞歸。這意味著每個進程可以進行鎖定而不會死鎖。當(dāng)調(diào)用unlock_kernel時鎖釋放。

  • 我什么時候需要初始化變量?
  • 答:在讀取前,所有變量都需要初始化。

    第十三節(jié) - 神秘的內(nèi)核消息

  • “socket延遲銷毀”是什么意思?
  • 答:有時候你會在/var/log/messages看到:Jul 25 22:14:02 zero kernel: Socket destroy delayed (r=212 w=0) 這意味著內(nèi)核無法釋放已經(jīng)釋放的socket內(nèi)部數(shù)據(jù)結(jié)構(gòu),因為仍然有socket數(shù)據(jù)緩沖。因此,釋放和銷毀會晚些再嘗試。在某個時候緩存被釋放,操作就會成功。

  • 不一致的MTRRS我該怎么處理?
  • 答:有時候你會看到:

    mtrr: your CPUs had inconsistent … MTRR settings
    mtrr: probably your BIOS does not setup all CPUs
    這意味著過去過去存在不一致的問題,但是現(xiàn)在已經(jīng)處理完了。

  • 為何我的內(nèi)核報告中有很多“DriveStatusError Bad CRC”?
  • 答:

    kernel: hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
    kernel: hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
    在UDMA模式,每個傳輸都使用校驗。當(dāng)傳輸在校驗時失敗,它會重新嘗試并生成報告。這只是一個報告,并非錯誤。如果這讓你心煩,可以修改驅(qū)動,讓他別報了。

  • 為何我的內(nèi)核報告有很多“APIC錯誤”?
  • 答:APIC是ia32系統(tǒng)硬件用于CPU之間通訊來處理低等級的時間比如中斷和TLB閃存。APIC信息也是校驗的,如果失敗會重復(fù)嘗試。這個提示說明傳輸存在失敗現(xiàn)象。APIC校驗是很弱的,所以,如果看到該提示應(yīng)該引起注意。確定你沒有強制主板使用非法的系統(tǒng)時鐘頻率。你也可以使用“noapic選項”來強制內(nèi)核不使用APIC。這同樣強制CPU0處理全部中斷。

    第十四節(jié) - 奇怪的內(nèi)核問題

  • 為什么kapmd使用如此多的CPU時間?
  • 答:別擔(dān)心,他不會占用寶貴的cpu時間,他只是占用了空閑的周期。一般來說,當(dāng)你的系統(tǒng)是空閑的,系統(tǒng)idle任務(wù)才開始運行。

  • 當(dāng)連接網(wǎng)頁時,我的2.4內(nèi)核報告“connection refused”,而之前版本內(nèi)核工作正常?
  • 答:2.4內(nèi)核設(shè)為來讓你的網(wǎng)絡(luò)生活更多彩。其中之一的方法為使用顯示通塞通知——一個在RFC3168中定義的方法來提高TCP表現(xiàn)(允許路由提供網(wǎng)絡(luò)問題的預(yù)期警告)。不幸的是,防火墻產(chǎn)品存在問題,導(dǎo)致拒絕ECN使能的數(shù)據(jù)包。如果你自己的防火墻在這方面存在問題,你應(yīng)該檢查是否存在補丁。如果你無法連接的網(wǎng)站不在你的控制下,那么你應(yīng)該聯(lián)系網(wǎng)站的維護人員,讓他們知道這個問題。你可以在2.4內(nèi)核中禁止ECN,可以禁止CONFIG_INET_ECN選項并重編內(nèi)核,也惡意執(zhí)行下面的命令:

    echo 0 > /proc/sys/net/ipv4/tcp_ecn

  • 為何內(nèi)核報告0共享內(nèi)存?
  • 答:是的,處理器仍然在共享內(nèi)存,但是由于VM在2.4中的改變,CPU變得非常緊張來計算共享內(nèi)存總量。為了繼續(xù)使用這個工具,將/proc/meminfo共享內(nèi)存比變量設(shè)置為0.

  • 為何lsmod報告一些模塊的使用次數(shù)為-1?這是個bug嗎?
  • 答:不,這不是一個bug。一個模塊如果使用can-unload函數(shù),將報告使用量為-1。

  • 為何內(nèi)核看不到我的全部內(nèi)存?
  • 答:現(xiàn)代的內(nèi)核(2.4)使用現(xiàn)代bios調(diào)用可以檢測你全部的內(nèi)存,甚至知道哪些內(nèi)存是bios自己使用的。你最好的做法就是安裝最新的內(nèi)核。你可以使用mem=xxx啟動參數(shù)告訴內(nèi)核你有多少內(nèi)存,限制你的系統(tǒng)在64M內(nèi)存下運行。比如你有128M內(nèi)存,你可以使用mem=128M參數(shù),或者在系統(tǒng)文件/etc/lilo.conf文件中寫下該參數(shù)。

  • 我已經(jīng)掛載了文件系統(tǒng)在不同的兩個地方,可以工作嗎?
  • 答:因為你讓內(nèi)核去這樣做,所以它會正常工作。

    第十五節(jié) - 編程信仰

  • 為何linux內(nèi)核使用c和匯編編寫?
  • 答:有很多原因,其中一部分原因:當(dāng)linus開始寫linux時,他只有一個386,unix和gcc。還有一部分OS代碼使用匯編語言,因為他們對于硬件過于依賴。比如cpu和虛擬內(nèi)存。

  • 為何我們用匯編不重寫Mega666處理器代碼?
  • 答:因為我們無法從小路上獲得太多,而重寫將會失去很多的可維護性和可讀性。gcc實際上已經(jīng)非常高效。你可能指Andrew Tanenbaum的 “Structured Computer Organization”。

  • 為何我們不使用C++重寫linux代碼?
  • 答:在我們還沒有聽說Linux的時代,內(nèi)核曾經(jīng)由g++編譯。這持續(xù)了一段時間,知道大家抱怨表現(xiàn)的下降。于是又從g++改成用C代碼來實現(xiàn)。這沒多大區(qū)別,但是已經(jīng)這么做了。

  • 為何內(nèi)核如此龐大?為何我們不重寫做一個微內(nèi)核?
  • 答:經(jīng)驗證明,微內(nèi)核的表現(xiàn)沒有龐大的內(nèi)核來的好。微內(nèi)核有很多設(shè)計問題。這里有項目來把linux內(nèi)核裁剪為微內(nèi)核:

    MkLinux was funded by Apple, and runs Linux on PowerPC Macs. It is available at: http://www.mklinux.org/. An x86 version is also available. Note that there is now a native Linux kernel for the PowerPC which is much faster, and is actively maintained. MkLinux has become a historical footnote.
    The Hurd is a microkernel-based Unix, and is supposed to be the promised GNU kernel. It sits on top of Mach3. TheDebian Project provides a full distribution for the Hurd.
    FIASCO is another project for creating MicroKernel LINUX. See http://os.inf.tu-dresden.de/fiasco/ for details.
    5. 我們?yōu)楹尾话裧oto語句替換為C異常?

    答:承認,goto非常難看,但是他們常限制在錯誤路徑并用于減少代碼量。如果替換會使得代碼量增加。由于內(nèi)核代碼需要可讀,而不是展示理論,工程準(zhǔn)則應(yīng)該優(yōu)先考慮。

  • 為何內(nèi)核開發(fā)者輕視新技術(shù)?
  • 答:這是一個周期性提出的質(zhì)疑。一般是在某些爭論結(jié)束后提出的。一些人注意到內(nèi)核開發(fā)者不喜歡新的想法,并且不會解釋原因。這看上去確實是一種輕視,并且給出內(nèi)核開發(fā)者不想學(xué)習(xí)新技術(shù)的印象。應(yīng)該注意到,內(nèi)核開發(fā)者是很忙的人,他們更喜歡寫代碼而不是無休止的爭論。也許這些開發(fā)者已經(jīng)使用過這些技術(shù),并覺得這些技術(shù)不適合。如果你覺得你喜歡的技術(shù)有價值就應(yīng)該自己去證明。不應(yīng)該要求其他人花時間來證明你的觀點。最后,個人觀點,寫下代碼比你讀書或者聽完一個討論更有好處。

    總結(jié)

    以上是生活随笔為你收集整理的linux内核指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    天天操天天添 | 婷婷看片 | 五月天久久综合 | 日韩av中文 | 在线免费视 | 亚洲国内精品在线 | 国产美女精品久久久 | 最近日韩中文字幕中文 | 国产 日韩 中文字幕 | 一区二区三区视频在线 | 国产亚洲精品久久久久动 | 国产精品高潮呻吟久久久久 | 福利视频一区二区 | 日批视频在线观看免费 | 色吊丝在线永久观看最新版本 | 91爱爱免费观看 | 国产在线 一区二区三区 | 一级国产视频 | 91资源在线播放 | 亚洲欧美日韩国产精品一区午夜 | 国内精品久久久久影院日本资源 | 外国av网 | 蜜臀av免费一区二区三区 | 一区二区三区动漫 | 夜夜躁狠狠躁日日躁视频黑人 | 人人插人人看 | 亚洲欧洲日韩 | 久久视频在线看 | 免费视频色 | 精品久久久久久国产 | 精品国产一区二区久久 | 免费国产黄线在线观看视频 | 超碰伊人网 | 人人爽人人爽人人片 | 亚洲黄色免费网站 | 亚洲精品tv久久久久久久久久 | 亚洲春色综合另类校园电影 | 在线视频一二三 | 中文字幕av播放 | 中文字幕在线观看不卡 | 日韩区在线观看 | 欧美日韩一级在线 | 国产视频二区三区 | 日日干夜夜干 | 一区二区日韩av | 国产拍在线| 欧美日韩国产二区 | 9i看片成人免费看片 | www一起操 | 国产69精品久久app免费版 | 亚洲视频精选 | 国产午夜精品福利视频 | 456免费视频| av电影免费| 日韩久久午夜一级啪啪 | 欧美一级大片在线观看 | 国产亚洲激情视频在线 | 成人黄色片在线播放 | 久久精品网址 | 精品久久国产一区 | 国产做爰视频 | 亚洲精品在线免费 | 亚洲精品影院在线观看 | 日韩激情在线视频 | 91精品在线麻豆 | 在线亚洲精品 | 久久久久久蜜av免费网站 | 亚洲精品视频在线播放 | 日韩在线观看视频中文字幕 | 狠狠躁夜夜躁人人爽超碰91 | 亚洲精品久久久蜜桃直播 | 三级av片| 黄色网大全 | 国产在线精品一区二区不卡了 | 黄污网站在线 | 福利一区二区三区四区 | 国产成人一区三区 | 国内精品小视频 | 最近免费中文字幕 | 国产一区二区免费看 | 国产精品综合av一区二区国产馆 | 久久99久久99精品免视看婷婷 | 日韩区欧美久久久无人区 | 国产一区二区三区高清播放 | 国产精品第一视频 | 国产一区二区精品久久91 | 天天操天天操天天操天天 | 日韩在线观看a | 久久久久久久久久久久99 | 日韩欧美在线观看一区 | 97在线免费视频 | 日本不卡123区 | 欧洲不卡av | 久热免费 | 欧美精品在线观看一区 | 久久免视频 | 免费看三片 | 亚洲综合成人av | av色网站| 日韩二区精品 | 国产精品久久久久毛片大屁完整版 | 91一区啪爱嗯打偷拍欧美 | 久久精品亚洲精品国产欧美 | 欧美在线视频第一页 | 国产综合激情 | 亚洲国产中文字幕在线视频综合 | 欧美日韩精品网站 | 香蕉97视频观看在线观看 | 久久婷婷五月综合色丁香 | 久久午夜精品视频 | 久久久久草 | 日韩欧美在线国产 | 亚洲精品一区二区18漫画 | 三级免费黄 | 成年人免费在线播放 | 黄色软件在线看 | 人人爽久久久噜噜噜电影 | 狠狠色丁香婷婷综合 | 国产精品麻豆免费版 | 一级α片 | 成人日批视频 | 狠狠操导航 | 天堂久久电影网 | www.激情五月.com | 91免费视频黄 | 绯色av一区 | 免费看国产曰批40分钟 | 麻豆 91 在线| 国产一区欧美二区 | 超碰人人乐| 成人综合免费 | 麻豆手机在线 | 去看片 | 国产精品国产精品 | 国产亚洲精品久久久久久无几年桃 | 黄色成人av | 国产成人av电影在线观看 | 精品国产大片 | 国产91精品一区二区 | 69国产盗摄一区二区三区五区 | 在线免费av网站 | 国产高清av | 久久大片网站 | 久久男女视频 | 在线成人免费电影 | 亚洲国产精品资源 | 国产视频首页 | 国产成人专区 | 996久久国产精品线观看 | 日韩大片在线看 | 久久国产美女视频 | 不卡视频在线看 | 久久在线视频精品 | 深夜免费福利网站 | 日本三级在线观看中文字 | 国产在线黄色 | 成人免费观看网站 | 最新中文字幕在线播放 | 色综合久久88 | 久久影院中文字幕 | 欧美美女视频在线观看 | 免费男女羞羞的视频网站中文字幕 | 欧美一区二区三区免费观看 | 五月天综合网站 | 91丨九色丨国产丨porny精品 | 91在线播| 亚洲综合情| 日韩欧美v | 国产又粗又猛又色又黄视频 | 欧美美女激情18p | 亚洲电影自拍 | 中文字幕成人一区 | 成人黄色免费在线观看 | 国产原创av在线 | 午夜国产福利在线 | 久久久国产精品免费 | 天天色宗合 | 精品亚洲欧美无人区乱码 | 精品视频免费看 | 精品免费久久久久久 | 国产成人在线一区 | 最近更新的中文字幕 | 免费国产一区二区视频 | 天天爱天天操天天射 | 综合激情久久 | 日韩最新在线视频 | 久久好看免费视频 | 婷婷国产v亚洲v欧美久久 | 黄色成人影视 | 欧美日韩精品在线一区二区 | 国产高清免费av | 91成人免费看 | 久久精品视频在线免费观看 | 成人在线免费小视频 | 精品国产一区二区久久 | 日韩二区在线播放 | 在线看免费 | www.天天草 | 欧美精品中文字幕亚洲专区 | 狠狠的操你 | 香蕉视频网址 | 久久精品毛片 | 91久草视频| 久久久久久久久亚洲精品 | 五月婷婷六月丁香 | 亚洲电影自拍 | 丁香六月色 | 91香蕉视频在线 | 久久国产影院 | 国产在线不卡视频 | 91喷水 | 91精品少妇偷拍99 | 狠狠操导航 | 久艹在线免费观看 | 久久99久久99免费视频 | 中文有码在线视频 | 欧美久久久 | 久 久久影院 | 91视频在线免费看 | 欧美a影视 | 最新日韩精品 | 婷婷香蕉 | 精品亚洲免费 | 久久草av | 九九免费在线观看 | 黄色在线免费观看网站 | 久久激情电影 | 亚洲精品国产精品乱码不99热 | 97人人模人人爽人人喊网 | 碰超在线| 亚洲乱码久久 | 亚州精品成人 | www激情网| 国产色久 | 狠狠色香婷婷久久亚洲精品 | 黄色亚洲 | 99精品色 | 伊人色**天天综合婷婷 | 久久精品视频观看 | 久久久www成人免费精品 | 亚洲自拍自偷 | 最近中文字幕完整高清 | 九九九电影免费看 | 日韩毛片在线播放 | 午夜91在线 | 日韩电影在线观看一区二区三区 | 西西www4444大胆视频 | 日韩高清www| 亚洲黄色成人 | 国产精品免费久久久久久久久久中文 | 在线免费黄色毛片 | 欧美一区免费观看 | 欧美日韩视频在线播放 | 国产理论在线 | 中文字幕一区二区三 | 国产精品国产亚洲精品看不卡 | 国产精品久久久影视 | 国产一区二区三区高清播放 | 最新动作电影 | 在线播放视频一区 | 狠狠色2019综合网 | 中文字幕字幕中文 | 国产精品国产亚洲精品看不卡 | 久久99精品久久久久久久久久久久 | av亚洲产国偷v产偷v自拍小说 | 日韩电影在线观看一区二区三区 | 亚洲九九精品 | 黄色动态图xx | 久久综合精品国产一区二区三区 | 欧美激情xxxx | 亚洲经典在线 | 毛片精品免费在线观看 | 一本一道久久a久久综合蜜桃 | 国产色道 | 国产午夜一区二区 | 91香蕉视频在线下载 | 亚洲精品视频在 | 天天插天天干天天操 | 五月天婷婷在线播放 | 国产成人精品网站 | 97在线视频免费 | 中文字幕亚洲综合久久五月天色无吗'' | 最近中文字幕完整视频高清1 | 日韩综合精品 | 国产亚洲精品成人av久久ww | 色综合天天色综合 | 日本久久精品 | 夜色资源站国产www在线视频 | av3级在线 | 麻豆精品91 | 99c视频在线 | 国产黄色播放 | 免费av网址在线观看 | 亚洲人片在线观看 | 国产自产在线视频 | 看黄色91 | 91一区二区三区久久久久国产乱 | 久久久福利影院 | 人人爽久久涩噜噜噜网站 | 99久久999久久久精玫瑰 | 热九九精品 | 国产精品一区二区免费视频 | 精品久久久久国产免费第一页 | 国产精品第一页在线观看 | 成人av片免费看 | 色99网| 欧美日韩免费一区二区 | 精品欧美一区二区在线观看 | 日韩亚洲在线 | 四虎最新域名 | 久久精品精品 | 国产中文字幕在线免费观看 | 欧美日韩一区二区在线观看 | 18性欧美xxxⅹ性满足 | 91精品久久久久久久久久入口 | 日韩精品 在线视频 | 亚洲精品一区二区三区在线观看 | 日本性生活免费看 | 亚洲综合激情小说 | 日日操日日插 | 久久久久久久久久久影视 | 欧美日韩在线精品一区二区 | .国产精品成人自产拍在线观看6 | 特级黄录像视频 | 在线观看视频福利 | 色综合久久久网 | 亚洲片在线资源 | 久久久久久久久久免费视频 | av解说在线观看 | 亚洲成人午夜在线 | 色婷婷视频网 | 国产永久免费高清在线观看视频 | 天天天综合网 | 69久久99精品久久久久婷婷 | 成人免费观看网址 | 久久久国产精品一区二区中文 | 国产精品 中文在线 | 99国产成+人+综合+亚洲 欧美 | 成人夜晚看av | 69视频永久免费观看 | 国产第一福利 | 97人人艹| 亚洲理论在线观看电影 | 久久人人爽人人爽人人 | 久久久一本精品99久久精品66 | 精品国产一区二区三区日日嗨 | 五月天亚洲婷婷 | 免费黄a | 久久综合久色欧美综合狠狠 | 九九视频在线 | 天天激情在线 | 婷婷www | 99爱视频在线观看 | 中文字幕电影高清在线观看 | 日本精品一区二区 | 久久国产电影 | 91亚洲精品国产 | 18女毛片| 丁香综合网 | 欧美性大胆| 91大神dom调教在线观看 | 福利视频一区二区 | 97国产情侣爱久久免费观看 | 久久夜av | 欧美影院久久 | 色婷婷av国产精品 | 国产极品尤物在线 | 国产精品日韩 | 日韩在线观看视频中文字幕 | 免费观看的黄色片 | 久草精品视频在线看网站免费 | 91麻豆精品国产91久久久使用方法 | 国产欧美最新羞羞视频在线观看 | 亚洲成人一区 | 精品福利国产 | 五月开心婷婷网 | 6080yy午夜一二三区久久 | 91探花视频 | 精品一区二区三区久久久 | 欧美日韩国产精品一区二区亚洲 | 欧美日韩一区二区在线观看 | 国语精品久久 | 香蕉视频色 | 中文字幕视频一区 | 91色亚洲| 精品一二三四视频 | 毛片久久久 | 欧美日韩在线观看一区 | 日本性视频 | 激情综合婷婷 | 欧美另类交在线观看 | 在线日韩视频 | 在线观看韩日电影免费 | 国产日产在线观看 | 色a网 | 日韩在线观看电影 | av怡红院 | 亚洲成年人免费网站 | av中文国产 | 欧美另类调教 | 精品影院一区二区久久久 | 在线观看亚洲精品 | 四虎影视www | 久久久久激情电影 | 久草在线免费色站 | 最新日韩在线观看 | 热99在线| 亚洲电影一级黄 | 国产精品久久久久久久久毛片 | 四虎影视成人精品国库在线观看 | 精品999在线观看 | 国产成人一区二区三区在线观看 | 99精品一区二区三区 | 成人国产精品免费 | 91激情视频在线播放 | 国产精品中文字幕av | 久久精品视频播放 | 日韩视频精品在线 | 狠狠色狠狠色综合日日92 | 国产精品18久久久久久久 | 天天爽夜夜爽人人爽曰av | 97超级碰 | 日韩成人xxxx| 久久黄色网页 | 啪啪动态视频 | 久草久草视频 | 一区二区三区精品在线视频 | 日韩精品欧美专区 | 亚洲狠狠婷婷综合久久久 | 在线观看日本高清mv视频 | 狠狠躁夜夜躁人人爽视频 | 天天综合婷婷 | 超碰最新网址 | 国内久久久久久 | 久久精品永久免费 | 亚洲欧洲日韩在线观看 | 91女神的呻吟细腰翘臀美女 | 久草手机视频 | 黄色精品视频 | 开心丁香婷婷深爱五月 | 国产精品99久久久精品免费观看 | 成人国产精品一区 | 久久成视频| 成人免费在线观看入口 | 999精品 | 香蕉久草 | 欧美福利视频一区 | 亚洲男男gaygay无套同网址 | 国产精品美女久久久久aⅴ 干干夜夜 | 欧美日韩69 | 亚洲桃花综合 | 国产精国产精品 | 91豆花在线 | 免费性网站 | 视频在线播放国产 | 激情五月婷婷网 | 久久久久亚洲精品男人的天堂 | 午夜精品中文字幕 | 亚洲精品视频网址 | 日本久久高清视频 | 久久国产精品色av免费看 | 香蕉视频网址 | 久久黄色影院 | 黄色a大片| 国产精品乱码在线 | 午夜影视av| 91av在线免费 | 久久午夜色播影院免费高清 | 国产免费视频一区二区裸体 | 国产永久免费观看 | 免费看黄视频 | 免费涩涩网站 | 麻豆精品视频 | 日韩影视精品 | 国产日韩欧美自拍 | 黄色成人av| 免费成人看片 | 91精品国产成人 | 久久国产香蕉视频 | 免费色网站 | 国产亚洲日本 | 日韩系列在线 | www天天干 | www.av在线播放 | 成人亚洲精品久久久久 | 国产一区二区久久久久 | 久久中文字幕在线视频 | 国产一区av在线 | 中文字幕在线字幕中文 | 在线国产视频 | 国产亚洲综合性久久久影院 | 免费亚洲视频在线观看 | 一区二区三区四区免费视频 | 成人动图 | 中文字幕传媒 | 亚洲成人精品在线观看 | 成人动图 | 6080yy午夜一二三区久久 | 97人人澡人人添人人爽超碰 | 999国产精品视频 | 久久国内精品 | 日韩免费在线观看网站 | 日韩久久精品一区二区 | 成人在线播放网站 | 欧美电影在线观看 | 久久精品毛片 | 97人人人人 | 天堂网一区二区 | 黄色国产精品 | 91久久久久久久一区二区 | 夜夜狠狠 | 亚洲免费av网站 | 二区视频在线观看 | 天天色天天综合 | 久久久久五月天 | 久久国产成人午夜av影院潦草 | 亚洲精品国偷拍自产在线观看 | 精品少妇一区二区三区在线 | 成人av视屏 | 最近高清中文字幕在线国语5 | 在线观看视频一区二区三区 | 成人av在线一区二区 | 首页中文字幕 | 不卡精品视频 | 麻豆传媒视频在线免费观看 | 午夜精品麻豆 | 国产成人精品不卡 | 中文字幕首页 | 中文字幕精品一区久久久久 | 香蕉视频91 | 永久av免费在线观看 | 国产一级二级视频 | 2019精品手机国产品在线 | 亚洲一区二区三区四区在线视频 | 草久热| 美女网站视频免费都是黄 | 国产破处在线播放 | 99久久精品免费看国产麻豆 | 激情网色 | 91福利小视频 | 日韩欧美在线一区二区 | 伊人永久在线 | 五月婷婷在线综合 | 日韩久久精品一区二区 | 综合久久五月天 | av官网在线 | a黄色大片 | 久久久男人的天堂 | 天天射天天舔天天干 | 五月天六月丁香 | 亚洲精品色视频 | 97夜夜澡人人爽人人免费 | 五月综合激情 | 五月婷婷黄色 | 久久精品99北条麻妃 | 久久久久久久网站 | 少妇性色午夜淫片aaaze | 国产中文字幕精品 | 伊人狠狠色| 美女久久久久久久久久久 | 天天曰天天爽 | 福利视频精品 | 最新av免费在线观看 | 国产一区电影在线观看 | 97**国产露脸精品国产 | 成人av电影免费在线播放 | av在线免费观看网站 | 973理论片235影院9 | 尤物九九久久国产精品的分类 | 波多野结依在线观看 | 亚洲精品乱码白浆高清久久久久久 | 日韩电影中文,亚洲精品乱码 | 91视频在线免费观看 | 丝袜av网站 | 狠狠综合久久av | 国产群p| 国产精品一区二区三区久久 | 91免费在线看片 | 夜夜高潮夜夜爽国产伦精品 | 亚洲精品高清在线 | 国产精品福利久久久 | 国产视频在线观看免费 | 超碰免费97 | 中文字幕中文字幕在线中文字幕三区 | 四虎在线免费视频 | 国产伦精品一区二区三区高清 | 久久一区二区三区日韩 | 97色婷婷| 黄色网大全 | 久久视讯 | 丁香网五月天 | 国产美女精品视频 | 一级c片| a视频免费看 | 五月婷婷综合激情网 | 中文字幕在线播放一区二区 | 国产成人一区二区三区 | 99精品视频在线观看视频 | 看av免费| 夜夜视频资源 | 色婷婷一区| 精品亚洲国产视频 | 免费观看福利视频 | 国产精品成人在线 | 久久男人影院 | 精品久久久久一区二区国产 | 久久久久成人免费 | 中文字幕免费国产精品 | 狠狠色噜噜狠狠狠合久 | 一级大片在线观看 | 在线成人av | 国产激情小视频在线观看 | 欧美视屏一区二区 | 国产精品久久久久久久久久久久午夜片 | 亚洲午夜激情网 | 国产爽妇网 | 在线亚洲成人 | 黄色三级av | 在线观看中文字幕第一页 | 成人午夜黄色 | 黄色一级大片在线观看 | 亚洲国产成人精品在线观看 | 久久久国产一区二区三区四区小说 | 久久成人18免费网站 | 天天爽天天碰狠狠添 | 天天干天天操天天射 | 亚洲永久在线 | 久久精品欧美一 | 西西www4444大胆在线 | 国产精品久久久久久久久久99 | 樱空桃av | 黄色成人av | 久久99亚洲精品久久久久 | 久久免费视频观看 | 久久综合久久88 | 最新免费av在线 | 黄色成人影视 | 国产成人精品一区二 | 精品99免费 | 久久精品精品 | 亚洲视频1 | 久久成人免费 | 99久久精品国产一区 | 国际精品久久 | 欧洲av在线 | av大片网址 | 亚洲精品欧洲精品 | 很黄很污的视频网站 | 亚洲国产精品一区二区久久,亚洲午夜 | 91自拍91 | 91香蕉亚洲精品 | 久久爽久久爽久久av东京爽 | 国产精品 视频 | 97福利 | 国产精品毛片一区二区三区 | 亚洲精品456在线播放 | 免费观看黄色12片一级视频 | 国产视频精品久久 | 亚洲电影毛片 | av中文字幕在线电影 | 在线观看国产一区二区 | 开心丁香婷婷深爱五月 | 欧美视频日韩 | 亚洲成a人片在线观看网站口工 | 欧美日韩国产精品一区二区亚洲 | 日本中文一级片 | 日韩在线观看视频免费 | 亚洲综合色视频在线观看 | 免费涩涩网站 | 黄色成人小视频 | 日韩电影中文字幕 | 中文av网| 97色涩| 99 久久久久 | 欧美性生交大片免网 | 亚洲天堂网在线视频观看 | 欧美日韩国产精品一区二区 | 天天天色综合a | 日韩欧美一区二区在线播放 | 婷婷在线色 | 久久再线视频 | 欧美精品久久人人躁人人爽 | 亚洲男模gay裸体gay | 激情av在线播放 | 欧美日韩高清在线一区 | 欧美一区免费观看 | 精品在线看 | 91免费在线视频 | 免费观看丰满少妇做爰 | 超碰人人91 | 国产免费观看高清完整版 | 69xx视频 | 亚洲精品在线资源 | 丁香五婷 | 日韩电影在线观看中文字幕 | 欧美精品中文在线免费观看 | 天天操操操操操操 | 69亚洲视频| 九九九九精品九九九九 | 91精品国产综合久久福利 | 免费国产在线精品 | 久久成人视屏 | 国产精品福利视频 | 亚洲综合一区二区精品导航 | 99re久久资源最新地址 | 久久久免费高清视频 | 亚洲人片在线观看 | 久草影视在线 | 国产精品一区二区久久精品爱微奶 | 久久久久久高潮国产精品视 | 亚洲毛片一区二区三区 | 91精品第一页 | 久久国内精品99久久6app | 波多野结衣资源 | 中国一级片免费看 | 欧美日本啪啪无遮挡网站 | 91最新视频| 成人久久电影 | 久久精品成人欧美大片古装 | 久久精品专区 | 国产精品一区二区久久精品爱涩 | 国产精品免费观看视频 | 国产一区视频导航 | 超碰免费观看 | 米奇影视7777| 热久久免费视频 | 免费在线观看午夜视频 | 国产婷婷精品av在线 | 久久久久五月 | 久久综合狠狠综合 | 亚洲在线综合 | 少妇性bbb搡bbb爽爽爽欧美 | 成人影音av | 久久涩视频 | 天堂av中文字幕 | 操操操干干干 | 欧洲激情在线 | 久久久久久久久久电影 | 天天射成人 | 在线视频观看你懂的 | 亚洲va天堂va欧美ⅴa在线 | 狠狠色丁香婷综合久久 | 日日夜夜操操操操 | 日韩欧美在线不卡 | 免费av视屏| 欧美性色综合网 | 99久视频 | 色视频网址 | 国产精品亚洲片在线播放 | 成人黄色在线观看视频 | 久久久久福利视频 | av电影在线观看 | 久久久久久黄色 | 国产麻豆剧传媒免费观看 | 久久精品影片 | 久久成年人视频 | 成人在线免费观看网站 | 久久99国产精品 | 国产午夜在线观看 | 99久久婷婷国产综合亚洲 | 女人18片毛片90分钟 | 久久国产精品电影 | 久久国产一区二区三区 | 亚洲精品中文在线观看 | 激情综合网五月 | 五月天综合色 | 久久精品九色 | 96香蕉视频 | 91亚洲精品久久久久图片蜜桃 | 又色又爽又黄高潮的免费视频 | 精品久久美女 | 一区二区视频电影在线观看 | 国产精品一区二区久久精品爱微奶 | 日韩欧美一级二级 | 2023av在线 | 日韩网| 欧美日韩精品在线视频 | 在线观看亚洲专区 | 色视频网站在线 | 欧美激情综合五月色丁香 | 香蕉国产91 | 婷婷综合影院 | 天天综合天天做 | 99在线观看 | 精品国产诱惑 | 97天天干 | 日韩黄色一级电影 | 97在线观看 | 人人爽网站 | 99精品国产免费久久久久久下载 | 最近中文字幕久久 | 午夜av在线电影 | 一本一道久久a久久精品 | 中文字幕国产 | 国产在线视频资源 | 中文字幕视频免费观看 | 免费国产在线视频 | 久久午夜精品 | 日韩在线免费 | 免费看片黄色 | 人人要人人澡人人爽人人dvd | 黄色的视频网站 | www.一区二区三区 | 国产精品久久久久久久久久久免费看 | 四虎精品成人免费网站 | 欧美一级视频在线观看 | 在线观看精品视频 | 亚洲永久精品在线观看 | 热久久国产精品 | 亚洲一级特黄 | 国产精品久久精品国产 | 国产欧美最新羞羞视频在线观看 | 黄网站污 | 国产成人精品一区二区三区在线观看 | 国产精品免费在线 | 成人激情开心网 | 亚洲精品午夜国产va久久成人 | 亚洲一区二区三区精品在线观看 | 久草在线99 | 黄色h在线观看 | 中文字幕在线观看视频网站 | 日韩精品久久一区二区三区 | 444av| 久操免费视频 | 激情五月婷婷激情 | 欧日韩在线视频 | 欧美日一级片 | 啪啪免费试看 | 国产精品福利在线播放 | 久久视频在线观看免费 | www.国产视频 | 91免费网址 | 色婷婷骚婷婷 | 日韩大片免费在线观看 | 国产福利一区二区三区视频 | 亚洲欧美激情精品一区二区 | 免费国产一区二区 | 精品久久亚洲 | 岛国av在线不卡 | 国产免费视频一区二区裸体 | 日韩在线中文字幕 | av免费在线观看网站 | 中文字幕第一页av | 免费看片日韩 | 日日操夜夜操狠狠操 | 日本韩国欧美在线观看 | 亚洲午夜精 | 悠悠av资源片 | 国产精品男女视频 | 麻豆91小视频 | 国产黄在线 | 五月亚洲综合 | 亚洲一区免费在线 | 久久在线观看视频 | 亚洲免费一级电影 | 在线日韩av | 麻豆国产视频 | 欧美日韩在线视频免费 | 精品国产乱码久久久久久1区二区 | 夜夜高潮夜夜爽国产伦精品 | 99久久一区| 91理论电影 | 日韩免费av网址 | 亚洲在线激情 | 在线99视频 | 亚洲毛片一区二区三区 | 一级黄色片在线免费观看 | 女人魂免费观看 | 成人永久免费 | 缴情综合网五月天 | 亚洲黄色片在线 | 亚洲综合在线视频 | 国产免费嫩草影院 | 最近中文字幕免费大全 | 日韩电影一区二区在线观看 | 国产欧美精品一区二区三区四区 | 日本黄色片一区二区 | 久草在线视频首页 | 中文在线最新版天堂 | 激情五月***国产精品 | 久久国内免费视频 | 69xx视频 | 亚洲精品一区中文字幕乱码 | 中文字幕日韩免费视频 | 午夜婷婷在线播放 | 97超碰在线免费观看 | 久久久高清免费视频 | 亚洲国产精品女人久久久 | 伊人狠狠操| av免费电影网站 | 91精品一区二区在线观看 | 国产精品扒开做爽爽的视频 | 日本一区二区不卡高清 | 人人爽久久久噜噜噜电影 | 国产免费二区 | 久久99精品久久只有精品 | 免费在线黄 | 综合久久精品 | 国产精品亚州 | www日韩欧美 | 亚洲免费在线播放视频 | 日本成人中文字幕在线观看 | 丝袜美腿一区 | 在线观看亚洲专区 | 久久久久久黄色 | www.夜夜干.com | 国产日韩欧美在线免费观看 | 超碰在线官网 | 最近日韩免费视频 | 国产一区二区免费在线观看 | 97超碰人人澡人人爱 | 欧美午夜激情网 | 成人欧美日韩国产 | 欧美老人xxxx18 | 五月婷婷六月丁香激情 | 好看的国产精品视频 | 国产精品成人国产乱 | 激情视频在线观看网址 | 亚洲成a人片综合在线 | 欧美巨乳网| 国产在线精品区 | 日韩在线高清 | 色爽网站| 日韩丝袜视频 | 亚洲激情综合网 | 黄色一级大片免费看 | 亚洲高清在线 | 天堂av观看| 99久久精品国产观看 | 久久久久成人精品免费播放动漫 | 免费视频在线观看网站 | 免费在线观看不卡av | 99精品视频免费全部在线 | 毛片视频电影 | 伊人伊成久久人综合网站 | 超碰在线中文字幕 | 伊人婷婷网 | 中文字幕在线国产精品 | 五月婷婷久| 91热视频在线观看 | 日韩久久久久久久久久久久 | 99久久国产免费看 | 9999免费视频 | 国产精品免费观看久久 | 五月婷婷天堂 | 色国产精品一区在线观看 | 啪啪凸凸 | 成人在线播放免费观看 | 色网站在线看 | 人人狠狠综合久久亚洲婷 | 国产成人91 | 欧美日韩国产一二三区 | 91看片在线看片 | 久久久久久久亚洲精品 | www四虎影院 | 狠狠躁夜夜a产精品视频 | 91桃色视频| 久久久久国产精品免费免费搜索 | 色偷偷88888欧美精品久久久 | 精品视频不卡 | 不卡av电影在线 | 天天躁天天狠天天透 | 精品久久久久久亚洲综合网站 | 久久精品小视频 | 国产一区视频免费在线观看 | 热99在线视频 | 国产精品成人品 | 久久久久日本精品一区二区三区 | 狠狠的干狠狠的操 | 视频三区 | 国产中文字幕av | 中文字幕一区二区三区乱码在线 | 最新日韩视频在线观看 | 国产成人精品电影久久久 | 一区二区三区中文字幕在线 | www.com操| 久久99久久久久 | 成人黄色影片在线 | 视频在线亚洲 | 97成人在线免费视频 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 激情久久影院 | 五月婷在线 | 人人精久| 国产精品久久久久婷婷二区次 | 亚洲va韩国va欧美va精四季 | 日韩国产精品久久久久久亚洲 | 免费久久99精品国产 | 国产 精品 资源 | 亚洲视频www| 日韩 在线观看 | 麻豆你懂的 | 久久精品精品电影网 | 天天干天天做天天爱 | 超碰官网 | 精品国产伦一区二区三区观看体验 | 久久成熟 | 人人爱人人舔 |