UOSFS Root Store Layout

Parent Previous Next

UOSFS Root Store Layout


A store that has been initialized to hold a UOS File System has a structure that allows UOS to locate information about the store, the file system, and where to find the location of the root of all files stored in the file system.


type FS_Boot_Record = packed record

                         Bootstrap1 : array[ 0..15 ] of byte ;

                         Header : int64 ;

                     end ;


    FS_Header = packed record

                    ID : smallint ;

                    ID1 : byte ;

                    Version : byte ;

                    AT_Offset : int64 ;

                    AT_Size : int64 ;

                    Flags : int64 ;

                    Clustersize : cardinal ;

                    Folder_Clustersize : cardinal ;

                    Root : int64 ;

                    Volume_Label : string[ 127 ] ;

                    Password : string[ 31 ] ;

                          OS_Position : int64 ;

                          OS_Length : cardinal ;

                          MMC_Position : int64 ;

                          MMC_Length : cardinal ;

                          HMC_Position : int64 ;

                          HMC_Length : cardinal ;

                end ;


The first cluster on a store contains the boot block, which is the bootstrap program for the store.  The first 16 bytes are reserved for the bootstrap, followed by an 8-byte pointer to the file system header, and then followed by the rest of the bootstrap code.


The File System header contains the size and location of the store's allocation table, information on the cluster sizes, flags, the location of the root folder, and other information.


Item name

Description

ID

255

ID1

135

Version

10 (indicates version 1.0)

AT_Offset

Offset of allocation table

AT_Size

Size of allocation table, in bytes

Flags

UOSFSF_Dirty: 0=clean, 1=dirty

UOSFSF_Private: 0=private, 2=public

Clustersize

File system cluster size

Folder_Clustersize

Cluster size for folders

Root

Location of file system root

Volume_Label

Label for store

Password

Password for store

OS_Position

Offset of Kernel image on store

OS_Length

Length of Kernel image

MMC_Position

Offset of Memory Management component on store

MMC_Length

Length of Memory Management component

HMC_Position

Offset of Heap Management component on store

HMC_Length

Length of Heap Management component