vmlinuz是可引導的、壓縮的
核心。「vm」代表 「virtual memory」。linux 支援
虛擬記憶體
,不像老的作業系統比如dos有640kb記憶體的限制。linux能夠使用硬碟空間作為虛擬記憶體,因此得名「vm」。vmlinuz是可執行的linux核心,它位於/boot/vmlinuz,它一般是乙個
軟鏈結。
vmlinuz的建立有兩種方式。
一是編譯核心時通過「make zimage」建立,然後通過:
「cp /usr/src/linux-2.4/arch/i386/linux/boot/zimage /boot/vmlinuz」產生。zimage適用於小核心的情況,它的存在是為了向後的相容性。
二是核心編譯時通過命令make bzimage建立,然後通過:「cp /usr/src/linux-2.4/arch/i386/linux/boot/bzimage /boot/vmlinuz」產生。bzimage是壓縮的核心映像,需要注意,bzimage不是用bzip2壓縮的,bzimage中的bz容易引起誤解,bz表示「big zimage」。 bzimage中的b是「big」意思。
zimage(vmlinuz)和bzimage(vmlinuz)都是用gzip壓縮的。它們不僅是乙個
壓縮檔案
,而且在這兩個檔案的開頭部分內嵌有gzip
解壓縮**。所以你不能用gunzip 或 gzip –dc
解包vmlinuz。
核心檔案中包含乙個微型的gzip用於解壓縮核心並引導它。兩者的不同之處在於,老的zimage解壓縮核心到低端記憶體(第乙個640k), bzimage解壓縮核心到高階記憶體(1m以上)。如果核心比較小,那麼可以採用zimage 或bzimage之一,兩種方式引導的系統執行時是相同的。大的核心採用bzimage,不能採用zimage。
vmlinux是未壓縮的核心,vmlinuz是vmlinux的壓縮檔案。
vmlinux-2.4.20-8是未壓縮核心,vmlinuz-2.4.20-8是vmlinux-2.4.20-8的壓縮檔案。
檔案讀取 LINUX核心
file i o in kernel module by flyduck 2001 03 21 define kernel define module include include include include include include include define eof 1 defin...
linux核心檔案讀取
平時 網路部分的東西碰的多些,這塊一開始還真不知道怎麼寫,因為肯定和在 使用者空間下是不同的。google過後,得到以下答案。一般可以用兩種方法 第一種是用 系統呼叫。第二種方法是filp open 等函式。下面分別來說下這兩種方法。1 利用系統呼叫 sys open,sys write,sys r...
linux核心讀寫檔案
在vfs的支援下,使用者態程序讀寫任何型別的檔案系統都可以使用read和write著兩個系統呼叫,但是在linux核心中沒有這樣的系統呼叫我們如何操作檔案呢?我們知道read和write在進入核心態之後,實際執行的是sys read 和sys write,但是檢視核心源 發現這些操作檔案的函式都沒有...