當前位置:首頁 » 電腦資訊 » 讀取文件為什麼要先讀到內核

讀取文件為什麼要先讀到內核

發布時間: 2023-05-29 06:54:45

① 計算機的CPU並不直接調取硬碟文件,為何卻要先載入到內存中

原因就是硬碟和內存在傳輸之間是有不同的地方的。計算機所有設備各部件之間的延時排列由高到低,依次為機械硬碟、固態硬碟、存儲器和CPU;從數據響應速度來看,存儲器明顯優於硬碟。數據的讀寫速度與固態磁碟的讀寫速度相差甚遠。

使用大的內存還有其他的好處,硬碟作為內存用,不是一個很好的建議,但內存可以用作硬碟,從而體驗更快的傳輸速度。這里我們需要用ramdisk軟體來實現,大內存用戶可以下載試用。

② 操作系統的內核與文件系統是什麼關系

一、什麼是文件系統
文件系統指文件存在的物理空間,linux系統中每個分區都是一個文件系統,都有自己的目錄層次結構。
Linux文件系統中的文件是數據的集合,文件系統不僅包含著文件中的數據而且還有文件系統的結構,所有Linux 用戶和程序看到的文件、目錄、軟連接及文件保護信息等都存儲在其中。這種機制有利於用戶和操作系統的交互。
每個實際文件系統從操作系統和系統服務中分離出來,它們之間通過一個介面層:虛擬文件系統或VFS來通訊。VFS使得Linux可以支持多個不同的文件系統,每個表示一個VFS 的通用介面。由於軟體將Linux 文件系統的所有細節進行了轉換,所以Linux核心的其它部分及系統中運行的程序將看到統一的文件系統。Linux 的虛擬文件系統允許用戶同時能透明地安裝許多不同的文件系統。
在Linux文件系統中,EXT2文件系統、虛擬文件系統、/proc文件系統是三個具有代表性的文件系統。

二、什麼是根文件系統
根文件系統首先是一種文件系統,該文件系統不僅具有普通文件系統的存儲數據文件的功能,但是相對於普通的文件系統,它的特殊之處在於,它是內核啟動時所掛載(mount)的第一個文件系統,內核代碼的映像文件保存在根文件系統中,系統引導啟動程序會在根文件系統掛載之後從中把一些初始化腳本(如rcS,inittab)和服務載入到內存中去運行。我們要明白文件系統和內核是完全獨立的兩個部分。在嵌入式中移植的內核下載到開發板上,是沒有辦法真正的啟動Linux操作系統的,會出現無法載入文件系統的錯誤。
那麼根文件系統在系統啟動中到底是什麼時候掛載的呢?先將/dev/ram0掛載,而後執行/linuxrc.等其執行完後。切換根目錄,再掛載具體的根文件系統.根文件系統執行完之後,也就是到了Start_kernel()函數的最後,執行init的進程,也就第一個用戶進程。對系統進行各種初始化的操作。
根文件系統之所以在前面加一個」根「,說明它是載入其它文件系統的」根「,既然是根的話,那麼如果沒有這個根,其它的文件系統也就沒有辦法進行載入的。它包含系統引導和使其他文件系統得以掛載(mount)所必要的文件。根文件系統包括Linux啟動時所必須的目錄和關鍵性的文件,例如Linux啟動時都需要有init目錄下的相關文件,在 Linux掛載分區時Linux一定會找/etc/fstab這個掛載文件等,根文件系統中還包括了許多的應用程序bin目錄等,任何包括這些Linux 系統啟動所必須的文件都可以成為根文件系統。Linux啟動時,第一個必須掛載的是根文件系統;若系統不能從指定設備上掛載根文件系統,則系統會出錯而退出啟動。成功之後可以自動或手動掛載其他的文件系統。因此,一個系統中可以同時存在不同的文件系統。在 Linux 中將一個文件系統與一個存儲設備關聯起來的過程稱為掛載(mount)。使用 mount 命令將一個文件系統附著到當前文件系統層次結構中(根)。在執行掛裝時,要提供文件系統類型、文件系統和一個掛裝點。根文件系統被掛載到根目錄下「/」上後,在根目錄下就有根文件系統的各個目錄,文件:/bin /sbin /mnt等,再將其他分區掛接到/mnt目錄上,/mnt目錄下就有這個分區的各個目錄,文件。

三、什麼是內核
Linux內核就像人的心臟,靈魂,指揮中心。內核是一個操作系統的核心,它負責管理系統的進程,內存,設備驅動程序,文件和網路系統,決定著系統的性能和穩定性。內核以獨占的方式執行最底層任務,保證系統正常運行。協調多個並發進程,管理進程使用的內存,使它們相互之間不產生沖突,滿足進程訪問磁碟的請求等.
操作系統是一個用來和硬體打交道並為用戶程序提供一個有限服務集的低級支撐軟體。一個計算機系統是一個硬體和軟體的共生體,它們互相依賴,不可分割。計算機的硬體,含有外圍設備、處理器、內存、硬碟和其他的電子設備組成計算機的發動機。但是沒有軟體來操作和控制它,自身是不能工作的。完成這個控制工作的軟體就稱為操作系統,在Linux的術語中被稱為「內核」,也可以稱為「核心」。Linux內核的主要模塊(或組件)分以下幾個部分:存儲管理、CPU和進程管理、文件系統、設備管理和驅動、網路通信,以及系統的初始化(引導)、系統調用等。

四.內核與文件系統的關系
技術上說Linux是一個內核。「內核」指的是一個提供硬體抽象層、磁碟及文件系統控制、多任務等功能的系統軟體。一個內核不是一套完整的操作系統。一套基於Linux內核的完整操作系統叫作Linux操作系統,或是GNU/Linux。
文件系統是kernel的一部分。文件系統實現了系統上存儲介質和其他資源的交互。kernel tree中的fs目錄都是關於文件系統的,可以說它是kernel的一個大子系統。
嵌入式系統在flash中分配了存放內核、根文件系統的區域。bootloader載入了內核,內核啟動,載入文件系統,進入Linux系統。
整個嵌入式系統而言,可以分為三個部分1.uboot 2.kernel 3.文件系統。其中kernel中以VFS去支持各種文件系統,如yaffs,ext3,cramfs等等。yaffs/yaffs2是專為嵌入式系統使用NAND型快閃記憶體而設計的一種日誌型文件系統。在內核中以VFS來屏蔽各種文件系統的介面不同,以VFS向kernel提供一個統一的介面。如打開一個文件時統一使用open,寫時採用write,而不用去考慮是那種文件系統,也不用去考慮文件系統是如何將數據寫入物理介質的。其中 kernel中的配置,只是讓VFS支持這種介面。

熱點內容
為什麼三星手機後面有個心繫天下呢 發布:2025-02-07 15:06:56 瀏覽:529
為什麼智能電視不能安裝軟體 發布:2025-02-07 15:06:31 瀏覽:635
為什麼總夢見死去人不好 發布:2025-02-07 14:50:01 瀏覽:41
螺絲為什麼找不到螺 發布:2025-02-07 14:49:08 瀏覽:970
為什麼嬰兒晚上才挑人抱白天不挑 發布:2025-02-07 14:44:49 瀏覽:194
為什麼我家貓咪老舔我眼睛 發布:2025-02-07 14:44:14 瀏覽:654
為什麼保溫杯不能長時間盛涼水 發布:2025-02-07 14:31:32 瀏覽:981
三星手機照片為什麼不能旋轉 發布:2025-02-07 14:30:03 瀏覽:501
為什麼手機會有個鎖屏功能 發布:2025-02-07 14:29:18 瀏覽:211
為什麼華為手機打游戲的時候不能充電 發布:2025-02-07 14:25:09 瀏覽:793