- (AT and later only)
CHƯƠNG 1 4: TOƠ CHỨC ĨA CỤA HEƠ ĐIE ĂU HAØNH MSDOS 14.1MOƠT SÔ Ý NIEƠM
14.1MOƠT SÔ Ý NIEƠM
Heơ đieău hành MSDOS toơ chức lưu trữ thođng tin tređn đĩa theo các volume. Đôi với Floppy disk, moêi đĩa là moơt volume.
Đôi với đĩa cứng, moêi DOS Partition là moơt volume. Moêi volume tương ứng với moơt oơ đĩa logic (A,B,C,D,E...)
MSDOS volume được chia thành nhieău đơn vị lưu chứa thođng tin baỉng nhau gĩi là cluster. Moêi cluster là moơt taơp hợp goăm n sector lieđn tiêp nhau. Trong moơt volume, các cluster đeău có kích thước như nhau .
Moêi file dữ lieơu được lưu giữ trong moơt hay nhieău cluster tùy theo kích thước cụa file. Chuoêi các cluster theo thứ tự lưu giữ thođng tin cụa moơt file được gĩi là moơt cluster chain. Đeơ ghi nhớ veă tình tráng cụa các cluster trong volume, MSDOS dùng moơt câu trúc gĩi là bạng FAT (File Alocation Table). Đađy là moơt ma traơn với moêi phaăn tử đái dieơn cho moơt cluster. Giá trị ghi nhớ trong moêi phaăn tử tượng trưng cho tình tráng cụa cluster mà nó đái dieơn.
Moêi moơt file, ngoài các thođng tin được lưu giữ còn có các đaịc trưng rieđng như teđn file, ngày giờ táo laơp ... Các thođng tin này được ghi nhaơn trong moơt danh sách đaịc bieơt gĩi là thư múc (directory) . Moêi phaăn tử trong thư múc gĩi là moơt directory entry.
Moêi volume cụa MSDOS đeău có moơt vùng dành rieđng gĩi là root directory. Trong đó có moơt sô lượng xác định các directory entry đeơ lưu giữ thođng tin veă các file.
Đeơ mở roơng khạ naíng lưu trữ file, từ version 2.0, heơ đieău hành MSDOS cho phép ghi nhớ các directory entry theo cung cách tương tự như ghi nhớ thođng tin cụa các các file dữ lieơu. Các file đaịc bieơt chư lưu chứa các directory entry này được gĩi là các thư múc con (sub directory).Khi các thư múc con chính bạn thađn nó lái lưu chứa các mođ tạ cụa các thư múc con khác, khái nieơm cađy thư múc được thành hình.
14.2CÂU TRÚC VOLUME MSDOS
Moơt volume cụa MSDOS được chia thành các phaăn chính theo thứ tự như sau: Boot record (sector đaău tieđn cụa volume)
Các bạng FAT (thường có 2 bạng) Root directory
Data (được chia thành các cluster - từ 2 trở đi)
14.3CÂU TRÚC CỤA MSDOS BOOT RECORD
Media Descriptor
| ValueMedia Types |
|---|--- FFH2 sides, 8 sectors per track |
FEH1 side, 8 sectors per track |
FDH2 sides, 9 sectors per track |
FCH1 side, 9 sectors per track |
F9H2 sides, 15 sectors per track |
F8Hfixed disk |
---
---
|Offs|Size| Contents Version
| 0003E9 XX XX or EB XX 90 (JMP to bootstrap routine)| |----|----|--- |
| 0308OEM name and version |
|----|----|--- | | 0B02Bytes per sector|
|----|----|--- | | 0D01Sector per allocation unit (cluster size)|
|----|----|--- | | 0E02Reserved sertors (size of boot record)| 2.x
|----|----|--- | | 1001Number of FATs|
|----|----|--- | | 1102Number of directory entries|
|----|----|--- | | 1302Total sectors in volume (0 if volume size>32MB)|
|----|----|--- | | 1501Media descriptor byte |
|----|----|--- | | 1601Number of sertors per FAT |
|----|----|---<--
| 1802Sertor per track|
|----|----|--- | | 1A02Number of heads| 3.x
|----|----|--- | | 1C02Number of hidden sector (LowWord)|
|----|----|---<--
| 1E02Number of hidden sector (HiWord)|
|----|----|--- | | 2004Total sectors in volume (volume size>32MB)|
|----|----|--- | | 2401Physical drive number |
|----|----|--- | | 2501Reserved | 4.x
|----|----|---5.x
| 2601Extended boot signature (29H)| 6.x
|----|----|--- | | 270432-bit binary volume ID |
|----|----|--- | | 2B0BVolume label| |----|----|--- | | 3608Reserved | |----|----|---<-- || Bootstrap routine |
Moêi bạng FAT chiêm 1 hay nhieău sector. Moêi bạng FAT được chia thành nhieău phaăn tử được đánh sô từ 0. Có hai lối kích thước cho các phaăn tử cụa FAT:12 bit và 16 bit.
Phaăn tử thứ 0 và thứ 1 cụa FAT được dành rieđng cho các mođ tạ như sau:
Byte thứ nhât sẽ mang giá trị cụa media descriptor byte. Các byte còn lái mang giá trị FFh
Phaăn tử thứ 2 trở đi đái dieơn cho các cluster trong vùng data. Các giá trị ghi trong các phaăn tử này cho biêt tình tráng cụa các cluster tương ứng như sau:
0 : cluster còn trông.
0002h - FFEFh : cluster ở giữa chain. Giá trị lưu chứa chính là sô hieơu cụa cluster kê tiêp trong chain.
FFF0h - FFF7h : cluster dành rieđng (khođng được sử dúng). FFF7h : cluster bị hỏng
FFF8h - FFFFh : cluster cuôi cùng trong chain.
14.5CÂU TRÚC CỤA DIRECTORY ENTRY
Offs Size Contents
==== ==== ================================================================ +0 8 |’F’‘I’‘L’‘E’‘N’‘A’‘M’‘E’| left-justified, blank-padded
|---|---
+8 3 |’E’‘X’‘T’| left-justified, blank-padded
|---|---|----
+0bH 1 |atr|file attribute (*)
|--- - - --- +0cH 0aHreserved | |---|--- - - Ĩ----
+16H 2timetime created or last modified in filetime format (*)
|---
+18H 2datedate created or last modified in filetime format (*)
|---
+1aH 2 |ClstrNo| cluster number of start offile (link into FAT)
|---
+1cH 4file sizefile size in bytes ---
File attribute format
[7|6|5|4|3|2|1|0] |a|d|v|s|h|r|
Ù—ÚĨÚĨÚĨÚĨÚĨÚEƠ bit description
||OÂỚ> 0: 1=file is Read-only (can’t be written/deleted)
|| OÂỚỚỚ> 1: 1=Hidden
|OÂỚỚỚỚỚ> 2: 1=System
| OÂỚỚỚỚỚỚỚ> 3: 1=Volume label entry OÂỚỚỚỚỚỚỚỚỚ> 4: 1=subDirectory entry
OÂỚỚỚỚỚỚỚỚỚỚỚ> 5: Archive bit. 1=file has NOT been backed up File time format
[5|4|3|2|1|0|9|8Ú7|6|5|4|3|2|1|0]
Ù---Ỡ---EƠ
OÂỚỚỚOÊỚỚỚEÊ OÂỚỚỚỚOÊỚỚỚỚEÊ OÂỚỚỚOÊỚỚỚEÊ| OÂỚỚỚỚ> second/2