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


Example: a SINGLIX FS1 formatted 1.44 Mb Floppy Disk DAT with <=2560 bytes Startup File.

(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.)