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 |