當前位置:首頁 » 操作系統 » efi源碼

efi源碼

發布時間: 2022-09-05 05:06:01

Ⅰ 求linux下命令的源代碼,

1.ash
(1)簡介
ash --a shell
這是由Kenneth Almquist在1989年編寫的,ash是Linux下的許多命令解釋器中的一個,它的許多特性接近於SYSTEM V的shell。
(2)部分參數說明
ash [ -efIijnsxz ] [ +efIijnsxz ] [ -c命令] [ 參數 ]
-c 命令:若用-c參數,則ash從標准輸入中讀入命令(在執行完-c帶的命令之後)。
-s:若用-s參數,則ash從標准輸入中讀入命令(在執行完-c帶的命令之後)。
如果不跟-c -s參數則ash以所跟的第一個參數為文件名,從此文件中讀入命令。如無參數則ash預設設定-s參數,從標准輸入中讀入命令,直到輸入exit。
如果參數0的第一個字母是"-"則ash確定為login shell,ash將從/etc/profile或用戶的根目錄中的.profile讀入相應的設置和環境變數。
-e:若用-e參數,則ash執行命令後返回值為非零值時則退出ash。
-f:若用-f參數,則ash關閉自動產生文件名功能。
-j:打開伯克利UNIX風格的工作控制。
-n:讀入命令但是並不執行。
(3)範例
ash -c ls
ash執行ls這個命令後退回原先的目錄和shell。
ash -s
ash執行一個新的shell,現在可以在這個shell中工作,按(Ctrl-D)或輸入exit後,則退回原先的目錄和shell,所設定的環境變數返回原先的值。
2.at
(1)簡介
at,batch,atq,atrm:安排、檢查、刪除隊列中的工作。
由Thomas Koenig編寫。
(2)部分參數說明
at [-V] [-q隊列] [-f文件名] [-mldbv] 時間
at -c 作業 [作業…]
atq [-V] [-q隊列] [-v]
atrm [-V] 作業 [作業…]
batch [-V] [-q隊列] [-f文件名] [-mv] [時間]
at在設定的時間執行作業。
atq列出用戶排在隊列中的作業,如果是超級用戶,則列出隊列中的所有工作。
atrm刪除隊列中的作業。
batch用低優先順序運行作業,只要系統的loadavg(系統平均負載)<1.5(或者在atrun中設定的值)它就開始執行作業。
-V:若用-V參數,則顯示版本號到標准錯誤輸出。
-q隊列:若用-q參數,則指定可選隊列名稱,隊列名稱可以是a到z或A到Z之間的任意字母。at的預設隊列名是c,batch的預設隊列名是E,隊列的字母順序越高,則隊列的優先順序越低。如果是大寫字母的話則提交給batch,如果atq使用-q參數,則只顯示這個隊列中的作業。
-m:執行完作業後即使此作業並沒有輸也給提交作業的用戶發送提示mail。
-f文件名:從文件中讀取作業。
-l:等於atq。
-d:等於atrm。
-b:等於batch。
時間:這是用戶設定的作業開始執行的時間。時間的格式分成三個部分:時間、日期、偏移量。可接受的時間形式是HHMM或HH:MM,在一天中指定的時間運行,如果時間過去了就在第二天執行。可以在時間後加入AM或PM使其在上午或下午運行,也可以指定在哪一天執行,給出日期的格式應為MMDDYY或MM/DD/YY或MM.DD.YY,也可以給出偏移量:
時間+計數時間間隔
時間間隔可以是minutes,hours,days,weeks。
也可以指定today讓作業在今天執行,指定tommorow讓作業在明天執行。
(3)注意事項
如果沒有指定-f選項,是at從標准輸入讀入所有的命令,所以可以通過管道、重定向或交互輸入來輸入命令。
超級用戶可以在任何情況下使用at系列的命令。一般用戶使用at系列命令的權利由文件/etc/at.allow,/etc/at.deny控制。如果/etc/at.allow存在,則只有列在這個文件中的用戶才能使用at系列的命令。如果/etc/at.allow文件不存在,則檢查/etc/at.deny這個文件。只要不列在這個文件中的用戶都可以使用at系列的命令。預設的配置是/etc/at.deny,是一個空文件,這表明所有的用戶都可以使用at系列的命令。
(4)範例
at -f work 4pm + 3 days
在三天後下午4點執行文件work中的作業。
at -f work 10am Jul 31
在七月31日上午10點執行文件work中的作業。
3.banner
banner:列印大標題。
banner在標准輸出上列印高質量的標題,如果沒有輸入要列印的文字,則其等待從標准輸入輸入一行文字。其標題由"*"組成。由Mark Horton編寫。
(2)部分參數說明
/usr/bin/banner [ -wn ]信息
-w寬度 輸出寬度從131到n,n預設為80列。
(3)注意事項
不能列印字元:< ,>,[,],\,^,_,{,},|,-。信息長度為10個英文字元,如果用空格分開字元串,還是連續列印字元串,兩個字元串可以被括在引號(")中。這命名banner把這些字任串置於同一行中。
4.bash
(1)簡介
bash:GNU Bourne-Again Shell
自由軟體基金會(Free Software Foundation Inc)擁有bash版權。
bash是Linux下的許多命令解釋器中的一個,同sh兼容,並且包含了ksh和csh中一些有用的特性。遵從IEEE Posix Shell and Tools specification(IEEE Working Group 1003.2)。

Ⅱ 華碩P8H61 Plus升級bios時,文件不是EFI BIOS

EFIBIOS都是由一個個FFS文件構成的。
根據FFS文件頭部信息,就知道它的GUID了,結合源碼就知道它屬於哪個模塊了。
華碩以持續不斷的創新與精湛獨到的美學語匯,來創造獨一無二的數位生活體驗。

Ⅲ windows7 32位於64位原版鏡像的區別

有關Win7系統鏡像文件32位和64位的區別,主要有以下幾點:
一、處理數據的能力
32位計算機的CPU一次最多能處理32位數據,例如它的EAX寄存器就是32位的,當然32位計算機通常也可以處理16位和8位數據。64為計算機一次處理數據要比32位大得多,一次運行64位的數據。
二、支持的內存不同(定址能力不同)
32位 的系統最多支持4G的內存,而64位則可以支持上百G的內存。
三、架構不同
從 32位到 64 位架構的改變是一個根本的改變,因為大多數操作系統必須進行全面性修改,以取得新架構的優點。其它軟體也必須進行移植,以使用新的性能;較舊的軟體一般可藉由硬體兼容模式(新的處理器支持較舊的 32 位版本指令集)或軟體模擬進行支持。或者直接在 64 位處理器裡面實作 32 位處理器內核(如同 Intel 的 Itanium 處理器,其內含有 x86 處理器內核,用來執行 32 位 x86 應用程序)。支持 64 位架構的操作系統,一般同時支持 32 位和 64 位的應用程序。
四、對配置的要求不同
64位操作系統只能安裝在64位電腦上(CPU必須是64位的)。同時需要安裝64位常用軟體以發揮64位(x64)的最佳性能。32位操作系統則可以安裝在32位(32位CPU)或64位(64位CPU)電腦上。

Ⅳ 內核源碼中 有efi文件的是否代表內核支持efi啟動

linux內核可以直接作為EFI啟動。
原來Fedora就是直接EFI啟動,設置GRUB2 的timeout=0,所以開機直接Fedora的LOGO,然後進入Xwindows登錄。
有的是固態SSD,幾乎4秒左右就開機了。

Ⅳ 擴展名是.efi的文件是什麼文件

什麼是 EFI?
如果回想一下 DOS 編程的時代,您可能還記得使用軟體中斷進行 BIOS 調用。PC BIOS 是 PC 硬體的低級別抽象,這種方式提供了從顯示 ASCII 字元到 RS-232 I/O 等范圍廣泛的服務。在此後的十年或更長時間里,在 PC BIOS 的體系結構方面,或在提供給應用程序和 OS 開發人員的服務方面,基本上沒有多少更改。由於 Intel 最近提供的「可擴展固件介面」(EFI),所有這些已經改變。

EFI 是 Intel 為全新類型的 PC 固件的體系結構、介面和服務提出的建議標准。其主要目的是為了提供一組在 OS 載入之前(啟動前)在所有平台上一致的、正確指定的啟動服務。可以從 http://developer.intel.com/technology/efi 中「Specifications」超級鏈接下面下載 EFI 標准文檔本身。EFI 的參考實現(包含用於 x86 處理器的源代碼)也可以在相同 URL 的「Tools」超級鏈接下面得到。該參考實現運行在使用標准 BIOS 的現有舊式 PC 上,實際上可以構建為在重新啟動 PC 時直接從軟盤載入。這樣,即使您的 PC 不支持 EFI,也可以開始目前的 EFI 實驗。

Ⅵ 請教有關EFI BIOS模塊的GUID 問題

樓主可以嘗試分析一下這個區間內含有幾個FFS文件。
因為EFI BIOS都是由一個個FFS文件構成的。

根據FFS文件頭部信息,就知道它的GUID了,結合源碼就知道它屬於哪個模塊了。

Ⅶ efi文件夾可以刪除嗎

可以直接刪除的

EFI里的是啟動文件。用於GPT分區,UEFI啟動的機器。如果是UEFI安裝的機器的話,EFI文件夾的內容在EFI分區里也會有一份的。如果出現需要管理員許可權才能刪除的話,可以先為右鍵菜單添加「管理員取得所有權」後才能刪除哦。

其實EFI文件夾佔用的空間也很小,沒有什麼必要刪除,如果非要把EFI文件夾刪除掉的話直接刪除就可以了對電腦是沒有任何影響的。

(7)efi源碼擴展閱讀

電腦文件的分類:

1、系統文件,這是指由系統軟體構成的文件。大多數的系統文件只允許用戶調用,但不允許用戶去讀,更不允許修改;有的系統文件不直接對用戶開放。

2、用戶文件,用戶的源代碼、目標文件、可執行文件或數據等所構成的文件。用戶將這些文件委託給系統保管。

3、庫文件,這是由標准子常式及常用的常式等所構成的文件。這類文件允許用戶調用,但不允許修改。

Ⅷ 第五章 UEFI 的基礎服務

[TOC]

系統表是重要的數據介面之一,是用戶空間通往內核空間的通道。

(1)在應用程序和驅動中訪問系統表

系統表是 UEFI 內核的一個全局結構體,其指針作為程序映像入口函數的參數傳遞到用戶空間。程序映像(包括 UEFI 應用程序、DXE 驅動程序、UEFI 驅動程序)的入口函數有統一的格式,函數原型如下:

(2)系統表指針從內核傳遞到用戶空間的過程

程序映像的入口函數通常是 _MoleEntryPoint。當應用程序或驅動載入到內存形成 Image 後,_MoleEntryPoint 函數地址被賦值給 Image 對象的 EntryPoint,然後 Image->EntryPoint 會被執行,最終會從 Image 的入口函數 _MoleEntryPoint 執行到模塊的入口函數。

系統表可分為以下6個部分

系統表數據結構:

UEFI 中的表通常都以 EFI_TABLE_HEADER 開頭,數據結構如下:

這三個控制台設備以及 ConIn、ConOut、StdErr 三個 Protocol 在驅動 ConSplitterDxe 中被初始化。

ConfigurationTable 是系統配置表,指向 EFI_CONFIGUTATION_TABLE 數組,數組中每一項是一個表,這個表的數據結構如下:

在 UEFI 中只有一個地址空間,所有程序都運行在 RING0 優先順序,應用程序地址空間(用戶空間)佔用 UEFI 地址空間的一部分。

系統表的地址可以通過模塊的入口函數的參數得到。示例:

上面示例中的模塊入口函數 UefiMain 中使用傳入的參數 SystemTable 訪問系統表。EDK2 為了方便開發者,提供了 UefiBootServicesTableLib,在 UefiLib 定義了全局變數 gST
、gBS、gImageHandle。這三個全局變數在函數 中被初始化,該函數是庫 UefiBootServicesTableLib 的構造函數,在 AutoGen.c 中的 ProcessLibraryConstructorList 被調用,而 ProcessLibraryConstructorList 是在 UefiMain 之前被調用的。

構造函數 源碼:

gST 變數是定義在用戶空間的變數,而它指向的系統表定義在 UEFI 內核中。在應用程序或驅動工程文件的 [LibraryClasses] 里引用 UefiBootServicesTableLib 後,就可以使用 gST 訪問系統表了。示例:

其實就是使用 gST 和 gBS 替換掉 SystemTable 和 SystemTable->BootServices。

啟動服務是 UEFI 的核心數據結構,可以分為以下幾類:UEFI 事件服務、內存管理服務、Protocol 管理服務、Protocol 使用類服務、驅動管理服務、Image 管理服務、ExitBootServices、其他服務。

啟動服務由 UEFI 表頭和表項組成,表中每一項是一個函數指針,該函數用於提供一項服務。

事件是非同步操作的基礎,使得在 UEFI 系統內可以執行並發操作。UEFI 事件服務包含事件(Event)、定時器(Timer)、任務優先順序(TPL)三類服務。

詳見第六章。

內存管理服務主要提供內存的分配與釋放服務、管理系統內存映射。主要包括:AllocatePages、FreePages、AllocatePool、FreePool、GetMemoryMap。

AllocatePool/FreePool 用法

AllocatePool 和 FreePool 服務函數原型:

枚舉類型 EFI_MEMORY_TYPE:

調用 gBS->ExitBootServices 之後, EfiBootServicesCode 和 EfiBootServicesData 類型內存被回收;EfiLoaderCode 和 EfiLoaderData 由 OS Loader 和操作系統決定是否回收;EfiACPIReclaimMemory 類型內存在 APCI 啟用後被回收;其他類型內存保留。

AllocatePages/FreePages 用法

內存和驅動開發中經常會要求分配到的內存不得跨頁,或需要分配完整的內存頁,為此提供了分配頁的服務 AllocatePages。

AllocatePages 和 FreePages 服務函數原型:

枚舉類型 EFI_AlLOCATE_TYPE

GetMemoryMap 用法

GetMemoryMap 用於取得系統中所有的內存映射。

GetMemoryMap 服務函數原型:

EFI_MEMORY_DESCRIPTOR 數據結構

Protocol 管理服務提供安裝與卸載 Protocol 的服務,以及注冊 Protocol 通知函書(安裝時調用)的服務。

詳見第八章、第九章。

Protocol 使用類服務包括 Protocol 的打開與關閉,查找支持 Protocol 的控制器,主要提供 Protocol 使用者使用。

詳見第四章。

驅動管理服務包括將驅動安裝到控制器的 connect 服務和將驅動從控制器上卸載的 disconnect 服務。

詳見第九章。

Image 管理服務包括載入、卸載、啟動、退出 UEFI 應用程序或驅動。

啟動服務中的 Image 管理服務

ExitBootService 用於結束啟動服務,該服務成功返回後,系統進入 RT 期。操作系統載入器從啟動服務接過對計算機系統的控制權後必須調用該服務。

啟動服務中的其他服務

從進入 DXE 階段運行時服務被初始化,直到操作系統結束,運行時服務都一直存在並向上層提供服務。運行時服務主要包括:時間服務、讀寫系統變數、虛擬內存服務、其他服務。

時間服務包括:讀取 / 設置硬體事件、讀取 / 設置喚醒定時器。

GetTime/SetTime

計算機硬體時鍾由單獨的電池供電,操作系統啟動時通過讀取硬體時鍾獲得事件。

GetTime/SetTime 服務函數原型:

時鍾性能用 EFI_TIME_CAPABILITIES 表示:

GetWakeupTime/SetWakeupTime

GetWakeupTime 用於讀取喚醒定時器的狀態,SetWakeupTime 用於啟用或禁用喚醒定時器。

GetWakeupTime/SetWakeupTime 服務函數原型:

UEFI 系統變數服務包括:GetVariable、SetVariable、GetNextVariableName。

GetVariable 用法

GetVariable 用於根據變數名獲取變數值和屬性。

GetVariable 服務函數原型:

SetVariable 用法

SetVariable 有三項功能:新建、更新、刪除變數。

SetVariable 服務函數原型:

GetNextVariableName 用法

GetNextVariableName 用於獲取下一個系統變數,通過這個服務可以遍歷系統中的變數。

GetNextVariableName 服務函數原型:

要啟動搜索(獲得第一個變數),需要 VariableName 指向空字元串。

虛擬內存服務包括:SetVirtualAddressMap 和 ConvertPointer。這兩個服務只有在運行時期間被操作系統載入器調用。

調用流程:

SetVirtualAddressMap/ConvertPointer 服務函數原型:

*Address 作為輸入參數時是物理地址,作為輸出參數時返回對應的虛擬地址。ConvertPointer 通過查詢系統的內存映射表計算出給定物理地址的虛擬地址。當 DebugDispositon 設置了 EFI_OPTION_PTR 標志時,輸入參數 *Address 允許為空。

Ⅸ 下面哪個命令是用來定義shell的全局變數

定義shell的全局變數用export命令。

它可以用於導出全局變數 。在計算機科學中,Shell俗稱殼(用來區別於核),是指「為使用者提供操作界面」的軟體(命令解析器)。它類似於DOS下的command.com和後來的cmd.exe。它接收用戶命令,然後調用相應的應用程序。

(9)efi源碼擴展閱讀:

用途

使用用戶的預設憑證和環境執行 shell。

在UEFI環境下,EFI的Shell環境提供了一組豐富的擴展和增強的命令,在以後的計算機中,傳統的DOS界面將會被SHELL環境所取代,所有的.exe文件將不會在以後支持SHELL的環境中出現,取而代之的文件後綴是.efi。

在SHELL環境下,分為IA32和X64,32位的*.efi文件不能在X64的計算機中運行。

shell 命令

常用命令

cat 文件名 輸出文件內容到基本輸出(屏幕 or 加>fileName 到另一個文件)

cb 格式化源代碼

chmod //change mode,改變文件的許可權

cp

date 當前的時間和日期

echo $abc 在變數賦值之後,只需在變數前面加一個$去引用.

lint語法檢查程序。

Ⅹ 技術問題

Code maturity level options
代碼成熟度選項

Prompt for development and/or incomplete code/drivers
顯示尚在開發中或尚未完成的代碼與驅動.除非你是測試人員或者開發者,否則請勿選擇

General setup
常規設置

Local version - append to kernel release
在內核版本後面加上自定義的版本字元串(小於64字元),可以用"uname -a"命令看到
Automatically append version information to the version string
自動在版本字元串後面添加版本信息,編譯時需要有perl以及git倉庫支持
Support for paging of anonymous memory (swap)
使用交換分區或者交換文件來做為虛擬內存
System V IPC
System V進程間通信(IPC)支持,許多程序需要這個功能.必選,除非你知道自己在做什麼

IPC Namespaces
IPC命名空間支持,不確定可以不選

POSIX Message Queues
POSIX消息隊列,這是POSIX IPC中的一部分
BSD Process Accounting
將進程的統計信息寫入文件的用戶級系統調用,主要包括進程的創建時間/創建者/內存佔用等信息

BSD Process Accounting version 3 file format
使用新的第三版文件格式,可以包含每個進程的PID和其父進程的PID,但是不兼容老版本的文件格式

Export task/process statistics through netlink
通過netlink介面向用戶空間導出任務/進程的統計信息,與BSD Process Accounting的不同之處在於這些統計信息在整個任務/進程生存期都是可用的

Enable per-task delay accounting
在統計信息中包含進程等候系統資源(cpu,IO同步,內存交換等)所花費的時間

UTS Namespaces
UTS名字空間支持,不確定可以不選
Auditing support
審計支持,某些內核模塊(例如SELinux)需要它,只有同時選擇其子項才能對系統調用進行審計

Enable system-call auditing support
支持對系統調用的審計

Kernel .config support
把內核的配置信息編譯進內核中,以後可以通過scripts/extract-ikconfig腳本來提取這些信息

Enable access to .config through /proc/config.gz
允許通過/proc/config.gz訪問內核的配置信息

Cpuset support
只有含有大量CPU(大於16個)的SMP系統或NUMA(非一致內存訪問)系統才需要它
Kernel->user space relay support (formerly relayfs)
在某些文件系統上(比如debugfs)提供從內核空間向用戶空間傳遞大量數據的介面
Initramfs source file(s)
initrd已經被initramfs取代,如果你不明白這是什麼意思,請保持空白
Optimize for size (Look out for broken compilers!)
編譯時優化內核尺寸(使用"-Os"而不是"-O2"參數編譯),有時會產生錯誤的二進制代碼
Enable extended accounting over taskstats
收集額外的進程統計信息並通過taskstats介面發送到用戶空間
Configure standard kernel features (for small systems)
配置標準的內核特性(為小型系統)

Enable 16-bit UID system calls
允許對UID系統調用進行過時的16-bit包裝
Sysctl syscall support
不需要重啟就能修改內核的某些參數和變數,如果你也選擇了支持/proc,將能從/proc/sys存取可以影響內核行為的參數或變數
Load all symbols for debugging/kksymoops
裝載所有的調試符號表信息,僅供調試時選擇

Include all symbols in kallsyms
在kallsyms中包含內核知道的所有符號,內核將會增大300K
Do an extra kallsyms pass
除非你在kallsyms中發現了bug並需要報告這個bug才打開該選項

Support for hot-pluggable devices
支持熱插拔設備,如usb與pc卡等,Udev也需要它
Enable support for printk
允許內核向終端列印字元信息,在需要診斷內核為什麼不能運行時選擇
BUG() support
顯示故障和失敗條件(BUG和WARN),禁用它將可能導致隱含的錯誤被忽略
Enable ELF core mps
內存轉儲支持,可以幫助調試ELF格式的程序
Enable full-sized data structures for core
在內核中使用全尺寸的數據結構.禁用它將使得某些內核的數據結構減小以節約內存,但是將會降低性能
Enable futex support
快速用戶空間互斥體可以使線程串列化以避免競態條件,也提高了響應速度.禁用它將導致內核不能正確的運行基於glibc的程序
Enable eventpoll support
支持事件輪循的系統調用
Use full shmem filesystem
啟用shmem支持.shmem是基於共享內存的文件系統(可能用到swap),在啟用TMPFS後可以掛載為tmpfs供用戶空間使用,它比簡單的ramfs先進許多
Use full SLAB allocator
使用SLAB完全取代SLOB進行內存分配,SLAB是一種優秀的內存分配管理器,推薦使用
Enable VM event counters for /proc/vmstat
允許在/proc/vmstat中包含虛擬內存事件記數器

Loadable mole support
可載入模塊支持

Enable loadable mole support
打開可載入模塊支持,如果打開它則必須通過"make moles_install"把內核模塊安裝在/lib/moles/中

Mole unloading
允許卸載已經載入的模塊

Forced mole unloading
允許強制卸載正在使用中的模塊(比較危險)

Mole versioning support
允許使用其他內核版本的模塊(可能會出問題)
Source checksum for all moles
為所有的模塊校驗源碼,如果你不是自己編寫內核模塊就不需要它
Automatic kernel mole loading
讓內核通過運行modprobe來自動載入所需要的模塊,比如可以自動解決模塊的依賴關系

Block layer
塊設備層

Enable the block layer
塊設備支持,使用硬碟/USB/SCSI設備者必選

Support for Large Block Devices
僅在使用大於2TB的塊設備時需要
Support for tracing block io actions
塊隊列IO跟蹤支持,它允許用戶查看在一個塊設備隊列上發生的所有事件,可以通過blktrace程序獲得磁碟當前的詳細統計數據
Support for Large Single Files
僅在可能使用大於2TB的文件時需要
IO Schelers
IO調度器

Anticipatory I/O scheler
適用於大多數環境,但不太合適資料庫應用
Deadline I/O scheler
通常與Anticipatory相當,但更簡潔小巧,更適合於資料庫應用
CFQ I/O scheler
為所有進程分配等量的帶寬,適合於桌面多任務及多媒體應用
Default I/O scheler
默認IO調度器

Processor type and features
中央處理器(CPU)類型及特性

Symmetric multi-processing support
對稱多處理器支持,如果你有多個CPU或者使用的是多核CPU就選上.此時"Enhanced Real Time Clock Support"選項必須開啟,"Advanced Power Management"選項必須關閉
Subarchitecture Type
處理器的子架構,大多數人都應當選擇"PC-compatible"
Processor family
處理器系列,請按照你實際使用的CPU選擇
Generic x86 support
通用x86支持,如果你的CPU能夠在上述"Processor family"中找到就別選
HPET Timer Support
HPET是替代8254晶元的新一代定時器,i686及以上級別的主板都支持,可以安全的選上
Maximum number of CPUs
支持的最大CPU數,每增加一個內核將增加8K體積
SMT (Hyperthreading) scheler support
支持Intel的超線程(HT)技術
Multi-core scheler support
針對多核CPU進行調度策略優化
Preemption Model
內核搶占模式

No Forced Preemption (Server)
適合伺服器環境的禁止內核搶占
Voluntary Kernel Preemption (Desktop)
適合普通桌面環境的自願內核搶占
Preemptible Kernel (Low-Latency Desktop)
適合運行實時程序的主動內核搶占

Preempt The Big Kernel Lock
可以搶佔大內核鎖,應用於實時要求高的場合,不適合伺服器環境
Machine Check Exception
讓CPU檢測到系統故障時通知內核,以便內核採取相應的措施(如過熱關機等)

Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
每5秒檢測一次這些cpu的非致命錯誤並糾正它們,同時記入日誌
check for P4 thermal throttling interrupt
當P4的cpu過熱時顯示一條警告消息

Enable VM86 support
虛擬X86支持,在DOSEMU下運行16-bit程序或XFree86通過BIOS初始化某些顯卡的時候才需要
Toshiba Laptop support
Toshiba筆記本模塊支持
Dell laptop support
Dell筆記本模塊支持
Enable X86 board specific fixups for reboot
修正某些舊x86主板的重起bug,這種主板基本絕種了
/dev/cpu/microcode - Intel IA32 CPU microcode support
使用不隨Linux內核發行的IA32微代碼,你必需有IA32微代碼二進制文件,僅對Intel的CPU有效
/dev/cpu/*/msr - Model-specific register support
在多cpu系統中讓特權CPU訪問x86的MSR寄存器
/dev/cpu/*/cpuid - CPU information support
能從/dev/cpu/x/cpuid獲得CPU的唯一標識符(CPUID)
Firmware Drivers
固件驅動程序

BIOS Enhanced Disk Drive calls determine boot disk
有些BIOS支持從某塊特定的硬碟啟動(如果BIOS不支持則可能無法啟動),目前大多數BIOS還不支持
BIOS update support for DELL systems via sysfs
僅適用於DELL機器
Dell Systems Management Base Driver
僅適用於DELL機器

High Memory Support
最高內存支持,總內存小於等於1G的選"off",大於4G的選"64G"
Memory split
如果你不是絕對清楚自己在做什麼,不要改動這個選項
Memory model
一般選"Flat Memory",其他選項涉及內存熱插拔
64 bit Memory and IO resources
使用64位的內存和IO資源
Allocate 3rd-level pagetables from highmem
在內存很多(大於4G)的機器上將用戶空間的頁表放到高位內存區,以節約寶貴的低端內存
Math emulation
數學協處理器模擬,486DX以上的cpu就不要選它了
MTRR (Memory Type Range Register) support
打開它可以提升PCI/AGP匯流排上的顯卡2倍以上的速度,並且可以修正某些BIOS錯誤
Boot from EFI support
EFI是一種可代替傳統BIOS的技術(目前的Grub/LILO尚不能識別它),但是現在遠未普及
Enable kernel irq balancing
讓內核將irq中斷平均分配給多個CPU以進行負載均衡,但是要配合irqbanlance守護進程才行
Use register arguments
使用"-mregparm=3"參數編譯內核,將前3個參數以寄存器方式進行參數調用,可以生成更緊湊和高效的代碼
Enable seccomp to safely compute untrusted bytecode
只有嵌入式系統可以不選
Timer frequency
內核時鍾頻率,桌面推薦"1000 HZ",伺服器推薦"100 HZ"或"250 HZ"
kexec system call
提供kexec系統調用,可以不必重啟而切換到另一個內核
kernel crash mps
被kexec啟動後產生內核崩潰轉儲
Physical address where the kernel is loaded
內核載入的物理地址,除非你知道自己在做什麼,否則不要修改.在提供kexec系統調用的情況下可能要修改它
Support for hot-pluggable CPUs
對熱插拔CPU提供支持
Compat VDSO support
如果Glibc版本大於等於2.3.3就不選,否則就選上

更多問題請點這里:http://www.chinaunix.net/jh/4/885597.html

熱點內容
在linux搭建mqtt伺服器搭建 發布:2024-05-06 09:52:00 瀏覽:558
windowspython23 發布:2024-05-06 09:27:50 瀏覽:746
編程ug開初 發布:2024-05-06 09:27:48 瀏覽:560
小白源碼論壇 發布:2024-05-06 09:24:56 瀏覽:139
android進程重啟 發布:2024-05-06 09:15:09 瀏覽:96
ie瀏覽器設置默認ftp 發布:2024-05-06 09:14:03 瀏覽:885
邁騰尊貴中控配置怎麼使用 發布:2024-05-06 09:13:28 瀏覽:656
奧迪存儲卡格式不正確請格式化存儲卡 發布:2024-05-06 09:01:31 瀏覽:34
個人信用資料庫 發布:2024-05-06 09:00:34 瀏覽:417
最新解壓縮 發布:2024-05-06 09:00:28 瀏覽:983