|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : mitrohin a.s. 2:5020/400 07 Apr 2003 13:41:14 To : Spartak Radchenko Subject : Re: Hе видно раздел FAT32! -------------------------------------------------------------------------------- Spartak Radchenko <spartak@aif.ru> wrote: SR> Oleg Kuznetsov <Oleg.Kuznetsov@f139.n5011.z2.fidonet.org> wrote: SR> [skip] SR> Короче, никакого ограничения на 32Гб нет, что и требовалось SR> доказать. А есть кривые программы, кривое железо и кривые SR> руки, нужное подчеркнуть. И завязываем с оффтопиком. /* $FreeBSD: src/sys/msdosfs/bpb.h,v 1.7.2.1 2000/10/27 09:45:07 bde Exp $ */ /* $NetBSD: bpb.h,v 1.7 1997/11/17 15:36:24 ws Exp $ */ /* * BPB for DOS 7.10 (FAT32). This one has a few extensions to bpb50. */ struct bpb710 { u_int16_t bpbBytesPerSec; /* bytes per sector */ u_int16_t bpbResSectors; /* number of reserved sectors */ u_int8_t bpbFATs; /* number of FATs */ u_int16_t bpbRootDirEnts; /* number of root directory entries */ u_int8_t bpbMedia; /* media descriptor */ u_int16_t bpbFATsecs; /* number of sectors per FAT */ u_int16_t bpbSecPerTrack; /* sectors per track */ u_int16_t bpbHeads; /* number of heads */ u_int32_t bpbHiddenSecs; /* # of hidden sectors */ u_int32_t bpbHugeSectors; /* # of sectors if bpbSectors == 0 */ u_int32_t bpbBigFATsecs; /* like bpbFATsecs for FAT32 */ u_int16_t bpbExtFlags; /* extended flags: */ #define FATNUM 0xf /* mask for numbering active FAT */ #define FATMIRROR 0x80 /* FAT is mirrored (like it always was) */ u_int16_t bpbFSVers; /* filesystem version */ #define FSVERS 0 /* currently only 0 is understood */ u_int32_t bpbRootClust; /* start cluster for root directory */ u_int16_t bpbFSInfo; /* filesystem info structure sector */ u_int16_t bpbBackup; /* backup boot sector */ /* There is a 12 byte filler here, but we ignore it */ }; u_int16_t bpbSectors; /* total number of sectors */ u_int32_t bpbHugeSectors; /* # of sectors if bpbSectors == 0 */ получается что кол-во секторов не может быть больше 2^32(4294967296) если учесть что размер сектора обычно 512 байт - то объем диска будет 2^9 * 2^32 = 2^41(2,199,023,255,552) = 2^11(2048)G с другой стороны u_int8_t bpbSecPerClust; /* sectors per cluster */ 512 * 256 = 2^9 * 2^8 = 2^17 = 131072 размер кластера не может быть больше 128k а так как кол-во кластеров не может быть больше 2^32 (это ведь FAT32!) - то 2^17 * 2^32 = 2^49 = 562949953421312 = 524288G ;)) я думаю ограничение в ~2T. ps u_int16_t bpbBytesPerSec; /* bytes per sector */ imho размер сектора гвоздями прибитая величина для диска (я прав?) но может быть до 65536 байтов /swp --- ifmail v.2.15dev5 * Origin: BSPU InterNetNews site (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/76196aecd8eb.html, оценка из 5, голосов 10
|