日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux内核总结

發(fā)布時(shí)間:2024/4/17 linux 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux内核总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.文件系統(tǒng)就是數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),不要以為你的硬盤存儲(chǔ)東西理所當(dāng)然,沒有文件系統(tǒng),你存的只是0010101101100

2.內(nèi)存管理是計(jì)算機(jī)運(yùn)行時(shí)內(nèi)存的分配和使用。

3.進(jìn)程管理就是說每次執(zhí)行一個(gè)程序都要?jiǎng)?chuàng)建一個(gè)進(jìn)程。

4、通過vfs可以調(diào)用任何格式的文件系統(tǒng)如ext2,ext3..
  虛擬文件系統(tǒng)包含好多結(jié)構(gòu)體,用來描述對(duì)象。
5.索引結(jié)點(diǎn)僅在文件被訪問時(shí),才在內(nèi)存中創(chuàng)建。

-------------------------------------------------------------

linux內(nèi)核默認(rèn)存放到/boot下,而/usr/src中可查看內(nèi)核的信息。
幾種linux內(nèi)核文件的區(qū)別:
1、vmlinux 編譯出來的最原始的內(nèi)核文件,未壓縮。
2、zImage 是vmlinux經(jīng)過gzip壓縮后的文件。
3、bzImage bz表示“big zImage”,不是用bzip2壓縮的。兩者的不同之處在于,zImage解壓縮內(nèi)核到低端內(nèi)存(第一個(gè)640K),bzImage解壓縮內(nèi)核到高端內(nèi)存(1M以上)。如果內(nèi)核比較小,那么采用zImage或bzImage都行,如果比較大應(yīng)該用bzImage。
4、uImage U-boot專用的映像文件,它是在zImage之前加上一個(gè)長度為0x40的tag(64個(gè)字節(jié),說明這個(gè)映像文件的類型、加載位置、生成時(shí)間、大小等信息)。其實(shí)就是一個(gè)自動(dòng)跟手動(dòng)的區(qū)別,有了uImage頭部的描述,u-boot就知道對(duì)應(yīng)Image的信息,如果沒有頭部則需要自己手動(dòng)去搞那些參數(shù)。換句話說,如果直接從uImage的0x40位置開始執(zhí)行,zImage和uImage沒有任何區(qū)別。
5、vmlinuz 是bzImage/zImage文件的拷貝或指向bzImage/zImage的鏈接。
6、initrd 是“initial ramdisk”的簡寫。一般被用來臨時(shí)的引導(dǎo)硬件到實(shí)際內(nèi)核vmlinuz能夠接管并繼續(xù)。

---------------------------------------------------------------------------------------------------------------

initrd.img是一個(gè)小的映象,包含一個(gè)最小的linux系統(tǒng)。通常的步驟是先啟動(dòng)內(nèi)核,然后內(nèi)核掛載initrd.img,并執(zhí)行里面的腳本來進(jìn)一步掛載各種各樣的模塊,然后發(fā)現(xiàn)真正的root分區(qū),掛載并執(zhí)行/sbin/init...

initrd.img當(dāng)然是可選的了,如果沒有initrd.img,內(nèi)核就試圖直接掛載root分區(qū)。

說initrd.img文件還會(huì)提到另外一個(gè)名角---vmlinuz。vmlinuz是可引導(dǎo)的、壓縮的內(nèi)核。“vm”代表 “Virtual Memory”。Linux 支持虛擬內(nèi)存,不像老的操作系統(tǒng)比如DOS有640KB內(nèi)存的限制。Linux能夠使用硬盤空間作為虛擬內(nèi)存,因此得名“vm”。另外:vmlinux是未壓縮的內(nèi)核,vmlinuz是vmlinux的壓縮文件。

為什么要initrd.img

系統(tǒng)內(nèi)核vmlinuz被加載到內(nèi)存后開始提供底層支持,在內(nèi)核的支持下各種模塊,服務(wù)等被加載運(yùn)行。這樣當(dāng)然是大家最容易接受的方式,曾經(jīng)的linux就是這樣的運(yùn)行的。假設(shè)你的硬盤是scsi 接口而你的內(nèi)核又不支持這種接口時(shí),你的內(nèi)核就沒有辦法訪問硬盤,當(dāng)然也沒法加載硬盤上的文件系統(tǒng),怎么辦?把內(nèi)核加入scsi驅(qū)動(dòng)源碼然后重新編譯出一個(gè)新的內(nèi)核文件替換原來vmlinuz。

需要改變標(biāo)準(zhǔn)內(nèi)核默認(rèn)提供支持的例子還有很多,如果每次都需要編譯內(nèi)核就太麻煩了。所以后來的linux就提供了一個(gè)靈活的方法來解決這些問題---initrd.img。initrd.img文件就是個(gè)ram disk的映像文件。ramdisk是用一部分內(nèi)存模擬成磁盤,讓操作系統(tǒng)訪問。ram disk是標(biāo)準(zhǔn)內(nèi)核文件認(rèn)識(shí)的設(shè)備(/dev/ram0)文件系統(tǒng)也是標(biāo)準(zhǔn)內(nèi)核認(rèn)識(shí)的文件系統(tǒng)。內(nèi)核加載這個(gè)ram disk作為根文件系統(tǒng)并開始執(zhí)行其中的"某個(gè)文件"(2.6內(nèi)核是 init文件)來加載各種模塊,服務(wù)等。經(jīng)過一些配置和運(yùn)行后,就可以去物理磁盤加載真正的root分區(qū)了,然后又是一些配置等,最后啟動(dòng)成功。也就是你只需要定制適合自己的 initrd.img 文件就可以了。這要比重編內(nèi)核簡單多了,省時(shí)省事低風(fēng)險(xiǎn)。

轉(zhuǎn)載于:https://www.cnblogs.com/mcy0808/p/5164916.html

總結(jié)

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

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