作業系統中的根檔案系統裝置

2021-08-28 04:05:05 字數 1074 閱讀 3884

在作業系統中剛進行加電啟動電腦的時候是不存在對檔案的處理的。所以對於系統模組載入記憶體期間,在螢幕上出現的「loading」並不是用printf這種檔案操作實現的,而只是通過最原始的彙編進行的。

作業系統中必須存在乙個根檔案系統,其他檔案系統掛載其上。linux0.11沒有提供裝置上建立檔案系統的工具,故必須在乙個正在執行的系統中利用工具例如(fdisk)做乙個檔案系統並載入在本機中。因此在作業系統啟動的時候需要兩個部分的資料分別是系統核心映象和根檔案系統。

在bootsect.s檔案中根檔案系統載入部分的彙編**如下圖所示:

! after that we check which root-device to use. if the device is

! defined (!= 0), nothing is done and the given device is used.

! otherwise, either /dev/ps0 (2,28) or /dev/at0 (2,8), depending

! on the number of sectors that the bios reports currently.

seg cs

mov ax,root_dev

cmp ax,#0

jne root_defined !如果ax通過比較不等於0,則什麼事情都不做,否則進行下面的操作

seg cs

mov bx,sectors !bx表示的是扇區數

mov ax,#0x0208 ! 掛載/dev/ps0 - 1.2mb (/dev/at0 (2,8))

cmp bx,#15 !比較扇區數是否和15相等

je root_defined

mov ax,#0x021c ! 掛載/dev/ps0 - 1.44mb (/dev/ps0 (2,28))

cmp bx,#18

je root_defined

undef_root:

jmp undef_root

root_defined:

seg cs

mov root_dev,ax

作業系統 檔案系統

5.2開啟檔案 在作業系統中就是確定程序操作哪個檔案。這個確定過程由兩個事件構成 1.將使用者程序task struct中的 filp 20 與核心中的file table 64 進行掛接。2.將使用者程序需要開啟的檔案對應的i節點在file table 64 中進行登記。filp 20 掌控乙個程...

作業系統 檔案系統

通過設計乙個基於索引結構的檔案系統,了解檔案系統設計以及物理塊分配的基本概念。硬體環境 計算機一台,區域網環境 軟體環境 windows 作業系統 visual studio2019 1 設計乙個檔案系統的索引結構,描述邏輯結構與物理索引結構之間的關係 2 檔案建立等基本功能 段 問1 這個標頭檔案...

4 作業系統中的檔案系統

從系統角度來看,檔案系統是對檔案儲存器的儲存空間進行組織 分配和 負責檔案的儲存 檢索 共享和保護。從使用者角度來看,檔案系統主要是實現 按名訪問 檔案系統的使用者只要知道所需檔案的檔名,就可訪問檔案中的資訊,而無需知道這些檔案究竟存放在什麼地方。檔案系統的型別 fat檔案系統 ms dos檔案系統...