:
- fs , 32 , 256 (128 ).
- ( file.map);
- OpenFileTable;
- .
, . , , :
- ;
- ( 64 );
- ( 3 );
- ( , );
- ;
- ;
- ( ).
10 . .
:
- (FileHandle);
- ;
- ;
- ;
- (r - , w - )
API :
void MKfs; , .. fs, ;
int MCreateFile(String FName); . 1, . , ;
int MDeleteFile(String FName): boolean; . -1 0, ;
int MOpenFile(String Fname, String mode); . 1( ) . mode="r", , "w" - .
.
int MCloseFile(int Hnadle); .
int MEOF(int Handle): Boolean; 0, .
procedure MRead(int Handle; intr Buf[]); .
procedure MWrite(int Handle; int Buf[]); ..
/ . : , file.map. , :
- FF ;
- FE .
. 1.16.
( FAT). , . : MCreateFile(1.dat). ( 0 - ). : [0 , 1.dat - , 0 - ]. 0 FF ( ). 1.12.
|
|
:
. | ||||||||||||||
. | FF | FE | FE | FE | FE | FE | FE | FE | FE | FE | FE | FE | FE | FE |
:
1.dat |
:
Handle | |||||
1.dat |
1.12
MOpenFile(0.dat,r). = -1 ( ). MOpenFile(1.dat,w). [0 , 0 , 0 , w - ]. 0 . MWrite(0, buf). : [0 , 0 , 1 , w - ]. , / . MWrite(0, buf). : 1, 0 1 ( ), 1 FF ( 1.13).
:
. | ||||||||||||||
. | FF | FE | FE | FE | FE | FE | FE | FE | FE | FE | FE | FE | FE |
:
1.dat |
:
Handle | ||||
1.13
: MCreateFile(2.dat). ( 1.14)
:
. | ||||||||||||||
. | FF | FF | FE | FE | FE | FE | FE | FE | FE | FE | FE | FE |
:
1.dat | ||
2.dat |
:
Handle | ||||
1.14 2.dat
1.dat: MWrite(0, buf). 1.15
:
. | ||||||||||||||
. | FF | FF | FE | FE | FE | FE | FE | FE | FE | FE | FE |
|
|
:
1.dat | ||
2.dat |
:
Handle | ||||
1.15 2.dat
. , . , (dir) (openfiles). 1.16
1.16