|
PROJECT: SINGLIX Operating System Issue: 6
Revision: 7 Date: 02/05/2009 OWNER: ERDOĐAN TAN / Istanbul / Turkiye |
|||||||||||||||
|
DISK
ALLOCATION TABLE Format of SINGLIX FS1, FS2 file systems |
|||||||||||||||
|
01h |
02h |
03h |
03h |
03h |
03h |
03h |
03h |
04h |
05h |
06h |
07h |
07h |
07h |
07h |
07h |
|
90h/0Dh |
90h/D0h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
90h |
|
(After make a new subdirectory, on above table, 0Dh and D0h
would be located at row 2, column 1 and
row 2, column 2.) |
|||||||||||||||
|
00h= Invalid
Value (The
DAT is invalid, must be rebuilt) 01h= BootSector (BS) 02h= Master Allocation Table (MAT) 03h= Disk Allocation Table (DAT) 04h= Root Directory Descriptor (RDT) 05h= Root Directory Data
06h= Startup File Descriptor 07h= Startup File Data 08h-09h= Reserved Descriptors (TR-MULTIX)
0Ah= Reserved Descriptor (TR-MULTIX) A0h-AFh= Reserved Data (TR-MULTIX)
0Bh= Swap File (Buffer) Descriptor B0h-BFh= Swap File (Buffer) Data 0Ch= System Configuration File Descriptor C0-CFh= System Configuration File Data 0Dh= Sub Directory Descriptor (DDT) D0h-DFh= Sub Directory Data 0Eh= Undelete Directory Descriptor E0h-EFh= Undelete Directory Data
0Fh= File Descriptor (FDT) F0h-FFh= File Data 10h-8Fh= Reserved (Not used for this DAT/FS
version) 90h=
FREE SECTOR 91h-9Fh= Unavailable (Invalid, Bad) sectors (Out of the Volume/FS)
9Bh= BAD SECTOR (DEFAULT bad sector identifier) NOTE: Master Allocation Table is the header
(descriptor) of disk allocation table (DAT) sectors, just before disk
allocation table sector 0. DAT is as a table of 1 byte allocation units/cells. Offset 0 of
the DAT is sector 0 of the disk section which is represented by that DAT. The
sector of the DAT offset 0 (allocation unit 0) is partition/volume sector 0,
and so on. Do not forget: In SINGLIX FS, Disk Allocation
is based on 1 byte points 1 sector principle; clusters and disk
allocation/freecluster bitmaps are not used. Allocation bytes point allocation
type and status, not free sectors only. (This is for fast data recovery and
for fast disk process. In SINGLIX FS, every disk sector needs 1 byte disk
allocation unit/cell.) Freesectors in the DAT, shown by the MAT. So,
after every update of the DAT, free sectors must be counted and recorded into
MAT free sectors value location. (Or it can be calculated by adding and
subtracting sector values to/from free sectors value.) DAT allocation unit values show allocation
status of related sectors. For example: 01h shows, that is boot sector. F0h
shows that is file data. But as a basic feature of SINGLIX FS, every F0h
chain must be started with a 0Fh header, File Description Table sign;
because, every file or directory data section, begins with it’s description/descriptor
table. When allocation unit/cell has a
reserved sector sign, meaning of that is an allocated sector but it is not
used by current singlix operating/file system. For a free sector, only one
free sector sign is 90h value.If an
allocation unit has 9Bh (91h-9Fh) value, it shows BAD sector, not a valid data, can
not be allocated for a descriptor or data. WHAT FOR 90h sign instead of 00h, for FREE SECTORS: As a warranty of a valid DAT. (00h => Erasing, owerwrite possibility.
If operating system finds a 00h in the DAT, it will interpret that the DAT is
invalid and must be rebuilt.) |
|||||||||||||||