導航:首頁 > 文件目錄 > 內核啟動根文件系統

內核啟動根文件系統

發布時間:2024-04-05 20:09:05

㈠ uboot、內核、操作系統、根文件系統他們之間到底是什麼關系,求大神指點!!

uboot是個引導啟動程序。BIOS自檢完成後就把電腦控制權交給uboot,由uboot來載入並引導操作系回統運行。
內核就是最最答最核心的那部份。操作系統內核就是操作系統的最最最最核心的那些程序。新安裝的操作系統中,一些自帶的小工具啊,小游戲啊,甚至連鍵盤滑鼠控制功能,這些都不屬於內核。內核是不包括硬體驅動程序的。
操作系統就是控制計算機硬體的軟體系統。它與內核的區別是它包含硬體驅動和一些基本的實用功能。
根文件系統這個名詞很少出現在windows中。在計算機存儲中,目錄結構都是以樹形結構表示的,根就是指這棵樹的根部。其他所有目錄都是在這個「根」上面逐級分配而來。「根文件系統」因為你加了「系統」二字,所以可以解釋為是指「整棵樹」,整個「樹形結構的文件系統」
它們之間的關系是:BIOS自檢---uboot引導----載入內核----操作系統啟動---啟動完成,系統待機。這幾個步驟所需要用到的文件與程序什麼的全部存貯在文件系統中。在這幾個名詞來說,文件系統可以獨立存在,但其他幾樣則無法脫離文件系統而存在。

linux啟動時掛載rootfs的幾種方式

一直對linux啟動時掛載根文件系統的過程存在著很多疑問,今天在水木精華區找到了有用的資料,摘錄如下:
1。linux啟動時,經過一系列初始化之後,需要mount 根文件系統,為最後運行init進程等做准備,mount 根文件系統有這么幾種方式:
1)文件系統已經存在於硬碟(或者類似的設備)的某個分區上了,kernel根據啟動的命令行參數(root=/dev/xxx),直接進行mount。 這里有一個問題,在root文件系統本身還不存在的情況下,kernel如 何根據/dev/xxx來找到對應的設備呢?注意:根文件系統和其他文件系統的mount方式是不一樣的,kernel通過直接解析設備的名稱來獲得設備的主、從設備號,然後就可以訪問對應的設備驅動 了。所以在init/main.c中有很長一串的root_dev_names(如hda,hdab,sda,sdb,nfs,ram,mtdblock……),通過這個表就可以根據設備名稱得到設備號。注意,bootloader或內核中設定的啟動參數(root=/dev/xxx)只是一個代號,實際的根文件系統中不一定存在這個設備文件!
2)從軟碟機等比較慢的設備上裝載根文件系統,如果kernel支持ramdisk,在裝載root文件系統時,內核判斷到需要從軟盤(fdx)mount(root=/dev/fd0),就會自動把文件系統映象復制到ramdisk,一般對應設備ram0,然後在ram0上mount 根文件系統。 從源碼看,如果kernel編譯時沒有支持ramdisk,而啟動參數又是root=/dev/fd0, 系統將直接在軟盤上mount,除了速度比較慢,理論上是可行的(沒試過,不知道是不是這樣?)
3)啟動時用到initrd來mount根文件系統。注意理解ramdisk和initrd這兩個概念,其實ramdisk只是在ram上實現的塊設備,類似與硬碟操作,但有更快的讀寫速度,它可以在系統運行的任何時候使用,而不僅僅是用於啟動;initrd(boot loader initialized RAM disk)可以說是啟動過程中用到的一種機制,具體的實現過程也使用ramdisk技術。就是在裝載linux之前,bootloader可以把一個比較小的根文件系統的映象裝載在內存的某個指定位置,姑且把這段內存稱為initrd(這里是initrd所佔的內存,不是ramdisk,注意區別),然後bootloader通過傳遞參數的方式告訴內核initrd的起始地址和大小(也可以把這些參數編譯在內核中),在啟動階段就可以暫時的用initrd來mount根文件系統。initrd的最初的目的是為了把kernel的啟動分成兩個階段:在kernel中保留最少最基本的啟動代碼,然後把對各種各樣硬體設備的支持以模塊的方式放在initrd中,這樣就在啟動過程中可以從initrd所mount的根文件系統中裝載需要的模塊。這樣的一個好處就是在保持kernel不變的情況下,通過修改initrd中的內容就可以靈活的支持不同的硬體。在啟動完成的最後階段,根文件系統可以重新mount到其他設備上,但是也可以不再 重新mount(很多嵌入式系統就是這樣)。 initrd的具體實現過程是這樣的:bootloader把根文件系統映象裝載到內存指定位置,把相關參數傳遞給內核,內核啟動時把initrd中的內容復制到ramdisk中(ram0),把initrd佔用的內存釋放掉,在ram0上mount根文件系統。從這個過程可以看出,內核需要對同時對ramdisk和initrd的支持(這種需要都編入內核,不能作為模塊)。
2。嵌入式系統根文件系統的一種實現方法:對於kernel和根文件系統都存儲在flash中的系統,一般可以利用linux啟動的initrd的機制。具體的過程前面已經比較清楚了,還有一點就是在啟動參數中傳遞root=/dev/ram0,這樣使得用initrd進行mount的根文件系統不再切換,因為這個時候實際的設備就是ram0。還有就是initrd的起始地址參數為虛擬地址,需要和bootloader中用的物理地址對應。

㈢ 什麼是根文件系統

㈣ LINUX的各分區作用是什麼比如/、/home、/boot、/root等…

其實叫分區有些牽強,應該叫文件系統。

/根文件系統:內核啟動後要載入回的第一個文件系統。答

/home:存儲受感染用戶的文件。

/boot:Linux內核。

/root:根用戶的用戶文件夾。

/etc:保存配置文件。

/TMP:存儲臨時文件。通常文件系統在內存中,所以關閉後TMP中的文件會消失。

/usr:用戶程序通常存儲在/usr/bin中,用戶安裝的程序默認安裝在/usr/local/bin中。

(4)內核啟動根文件系統擴展閱讀:

LINUX系統優點:

1.Linux由許多微內核組成,其源代碼是完全開源的;

2.Linux繼承了Unix的特點,具有非常強大的網路功能。它支持所有的互聯網協議,包括TCP/IPv4,TCP/IPv6和鏈路層拓撲程序。

3.Linux系統工具鏈完整,簡單的操作可以配置出合適的開發環境,可以簡化開發過程,減少開發模擬工具的障礙,使系統具有很強的可移植性;

閱讀全文

與內核啟動根文件系統相關的資料

熱點內容
做數據分析需要具備什麼 瀏覽:585
學通訊和編程哪個難 瀏覽:905
word背景保存 瀏覽:216
電腦里的文件怎麼判斷是否有用 瀏覽:324
小米4禁止後台程序 瀏覽:268
如何在word里添加excel圖表文件 瀏覽:280
高德地圖哪個文件夾 瀏覽:844
蘋果2平板能升級到80 瀏覽:338
寧波數控車床編程培訓班有哪些 瀏覽:544
win10home版64位 瀏覽:241
國內大數據的應用現狀 瀏覽:657
js獲取傳遞參數個數 瀏覽:539
上網記錄存在哪個文件 瀏覽:285
巴中c語言編程貓哪個機構好 瀏覽:42
excel格式文件名後綴 瀏覽:877
客戶服務中心大數據 瀏覽:303
大數據對小微企業融資 瀏覽:706
蘋果山香教育app叫什麼 瀏覽:16
智慧城市大數據下載 瀏覽:51
fcs文件導回軟體 瀏覽:420

友情鏈接