. pp, EXT2fs, pp , . p pp , p pp. p pp p. pp, pp, pp pp. p p pp. A.6 p EXT2fs EXT2fs pp p p. p , pp EXT2fs. pp mke2fs p, p EXT2fs. pp tune2fs p pp . pp p A.4.3, p , p , - 96 - p pp , ppp root. , p p pp pp . E2fsck p p p p p . p pp e2fsck pp Linus Torvald fsck Minix. , p pp p EXT2fs p p p pp, p p p. pp e2fsck pp p, p. pp pp p p , p p p e2fsck p, p pp p p. , , p pp pp p p p . p p e2fsck p pp pp pp . p, p p pp p . pp pp pp , pp p. p p pp p , pp. e2fsck , p p p pp, p 1B 1D - p , pp. p p p, pp pp. - 97 - p p / p, p p. pp p . p, p p pp pp . p p pp . pp , p . e2fsck pp p pp p p, p p . p pp p pp p ( p p p). p pp , pp '.' '..', p pp '.' . (p pp '..' p p p.) p p p, p, p , p p. , p p p p / . p, p p, p p, p , , p p pp 5-10% p e2fsck. p p pp . E2fsck pp p p, p, p p p. pp '..' . , pp p, /lost+found. - 98 - p p e2fsck pp pp pp pp p ( p p p p) p , p p p p p. /lost+found. , , p e2fsck pp p . p p pp, p p p, , p , p p ppp. p p . Debugfs - pp, p . , p p EXT2fs, pp p . Debugfs p p pp , p p e2fsck. , pp p , . p p . debugfs p p read-only . p read/write -w. A.7 p A.7.1 p . p p p, pp i486-DX2, 16 420 IDE . p EXT2fs, Xia fs (Linux 1.1.62) BSD Fast p p p ( FreeBSD 2.0 Alpha - p 4.4BSD - 99 - Lite). p . p - Bonnie p p / pp. p 60 . , p p , , p . Andrew pp Carneggie Mellon University pp University of Berkeley p BSD FFS LFS. p : pp , , pp pp , pp p . A.7.2 Bonnie Bonnie : ---------------------------------------------------------------------------- p (/) (/) (/) (/) (/) ---------------------------------------------------------------------------- BSD Async 710 684 401 721 888 BSD Sync 699 677 400 710 878 Ext2 fs 452 1237 536 397 1033 Xia fs 440 704 380 366 895 ----------------------------------------------------------------------------- p p /: EXT2fs p p p . , pp p. p p, p , p p. p , pp , p p pp p. - 100 - p p, FreeBSD p / p . , FreeBSD Linux p pp C . , FreeBSD p p p . A.7.3 Andrew Andrew : ---------------------------------------------------------------------------- p 1 p 2 p 3 p 4 p 5 p pp pp ---------------------------------------------------------------------------- BSD Async 2203 7391 6319 17466 75314 BSD Sync 2330 7732 6317 17499 75681 Ext2 fs 790 4791 7235 11685 63210 Xia fs 934 5402 8400 12912 66997 ---------------------------------------------------------------------------- p p , Linux p p p . p , BSD p pp . p, p p FreeBSD p. p p Linux BSD . p p BSD , p VFS Linux p p. p p Linux p p FreeBSD, p p p. p p p , FreeBSD, p . p p EXT2fs Xia fs , , EXT2fs, : - 101 - p p 5-10 %. A.8 EXT2 p p Linux. p p Unix . , p , p, p p. EXT2fs , . p p pp pp : p , p Posix, p p. EXT2fs pp p Linux, p p p p . EXT2fs p Masix, p pp p. p p EXT2fs p p p . p p p pp EXT2fs, p , p pp. p p , p pp . . - 102 - p B p p p pp, p . , pp, (sag/measure-holes/measure-holes.c). int process(FILE *f, char *filename) { static char *buf = NULL; static long prev_block_size = -1; long zeroes; char *p; if (buf == NULL || prev_block_size != block_size) { free (buf); buf = xmalloc (block_size + 1); buf [block_size] = 1; prev_block_size = block_size; } zeroes = 0; while (fread(buf, block_size, 1, f) == 1) { for (p = buf; *p =='\0'; ) ++p; if (p ==buf+block_size) zeroes += block_size; } if (zeroes > 0) printf ("%ld %s\n", zeroes, filename); if (ferror(f)) { errormsg (0, -1, "read failed for '%s'", filename); return -1; } return 0; } . - 103 - p p Linux p p H. Peter Anvin (Peter.Anvin@linux.org) ftp://ftp.yggdrasil.com/pub/device-list/devices.tex. Peter'. .1 p Linux Rick Miller', p pp p 1993 . pp p p p, p p /dev. p FTP c ftp.yggdrasil.com /pub/device-list. - devices.format, format : txt (ASCII), tex (LaTeX), dvi (DVI) ps (PostScript). Linux Filesystem Standard (FSSTND). FSSTND p FTP tsx-11.mit.edu /pub/linux/docs/linux-standards/fsstnd. p p p p . p, p, , p . (68k) p Linux/68k. .2 p p 0 p ( p NFS, p p) 1 char p - 104 - block RAM 2 char ppp PTY block 3 char ppp PTY block p p MFM, RLL IDE / CD-ROM 4 char p p TTY 5 char p p p TTY 6 char p p pp 7 char p p 8 block p SCSI 9 char p SCSI block p 10 char , p 11 block p SCSI CD-ROM 12 char QIC-02 block p p MSCDEX CD-ROM 13 char pp block 8- MFM/RLL/IDE pp 14 char block p p BIOS 15 char block CD-ROM Sony CDU-31A/CDU-33A 16 char ppp p block CD-ROM Gold Star 17 char Chase (pp) block Optics Storage CD-ROM (pp) 18 char Chase block Sanyo CD-ROM (pp) 19 char Cyclades char Double 20 block Cyclades char Hitachi CD-ROM (pp) 21 block Generic SCSI 22 char Digiboard block p p MFM, RLL IDE / CD-ROM 23 char Digiboard block Mitsumi CD-ROM 24 char Stallion - 105 - block Sony CDU-535 CD-ROM 25 char Stallion block p CD-ROM Matsushita (Panasonic/SoundBlaster) 26 block p CD-ROM Matsushita (Panasonic/SoundBlaster) 27 char QIC-117 block p CD-ROM Matsushita (Panasonic/SoundBlaster) 28 char ppp Stallion block p CD-ROM Matsushita (Panasonic/SoundBlaster) block ACSI (68k) 29 char p p p block Aztech/Orchid/Okano/Wearnes CD-ROM 30 char iBCS-2 block Philips LMS-205 CD-ROM 31 char MPU-401 MIDI block ROM / flash 32 block Philips LMS-206 CD-ROM 33 block Modular RAM 34-223 pp 224-254 255 ppp .3 p 0 p ( p NFS, p p) 1 char p 1 /dev/mem 2 /dev/kmem p p 3 /dev/null p 4 /dev/port p / 5 /dev/zero 6 /dev/core /proc/kcore 7 /dev/full p p ENOSPC block RAM- 1 /dev/ramdisk RAM- - 106 - 2 char ppp PTY (tytso@athena.mit.edu) block 0 /dev/fd0 p pp, p 1, p 1 /dev/fd1 p pp, p 2, p 2 /dev/fd2 p pp, p 3, p 3 /dev/fd3 p pp, p 4, p 128 /dev/fd4 p pp, p 1, p 129 /dev/fd5 p pp, p 2, p 130 /dev/fd6 p pp, p 3, p 131 /dev/fd7 p pp, p 4, p p p p 0 /dev/fd? p p 4 /dev/fd?d360 5.25 , 360K, p 360K 20 /dev/fd?h360 5.25 , 360K, p 1200K 48 /dev/fd?h410 5.25 , 410K, p 1200K 64 /dev/fd?h420 5.25 , 420K, p 1200K 24 /dev/fd?h720 5.25 , 720K, p 1200K 80 /dev/fd?h880 5.25 , 880K, p 1200K 8 /dev/fd?h1200 5.25 , 1200K, p 1200K 40 /dev/fd?h1440 5.25 , 1440K, p 1200K 56 /dev/fd?h1476 5.25 , 1476K, p 1200K 72 /dev/fd?h1494 5.25 , 1494K, p 1200K 92 /dev/fd?h1600 5.25 , 1600K, p 1200K 12 /dev/fd?u360 3.5 , 360K, 16 /dev/fd?u720 3.5 , 720K, 120 /dev/fd?u800 3.5 , 800K, 52 /dev/fd?u820 3.5 , 820K, 68 /dev/fd?u830 3.5 , 830K, 84 /dev/fd?u1040 3.5 , 1040K, 88 /dev/fd?u1120 3.5 , 1120K, 28 /dev/fd?u1440 3.5 , 1440K, 124 /dev/fd?u1600 3.5 , 1600K, 44 /dev/fd?u1680 3.5 , 1680K, 60 /dev/fd?u1722 3.5 , 1722K, - 107 - 76 /dev/fd?u1743 3.5 , 1743K, 96 /dev/fd?u1760 3.5 , 1760K, 116 /dev/fd?u1840 3.5 , 1840K, 100 /dev/fd?u1920 3.5 , 1920K, 32 /dev/fd?u3200 3.5 , 3200K, p 104 /dev/fd?u3200 3.5 , 3200K, p 108 /dev/fd?u3520 3.5 , 3520K, p 112 /dev/fd?u3840 3.5 , 3840K, p 36 /dev/fd?CompaQ p Compaq 2880K. : p (d,q,h u) p p: 5.25 (d), p 5.25 (q), 5.25 (h) 3.5 (u, ). p 3.5 p D, H E , p . 3 char ppp PTY (tytso@athena.mit.edu) block p p MFM, RLL IDE CD-ROM 0 /dev/hda ( CD-ROM) 64 /dev/hdb p ( CD-ROM) p p p p 0 /dev/hd? 1 /dev/hd?1 p p 2 /dev/hd?2 p p 3 /dev/hd?3 p p 4 /dev/hd?4 p p 5 /dev/hd?5 p p 6 /dev/hd?6 p p 7 /dev/hd?7 p p ...... 63 /dev/hd?63 p - 108 - 4 char TTY p 0 /dev/console 1 /dev/tty1 p p ....... 63 /dev/tty63 p p 64 /dev/ttyS0 p p ....... 127 /dev/ttyS63 p p 128 /dev/ptyp0 p -tty ....... 191 /dev/ptysf p -tty 192 /dev/ttyp0 p p -tty ....... 255 /dev/ttysf p p -tty -tty p: -tty pty, p tty; p p, q, r s, p p p -tty 16 ; 0123456789abcdef, p p. 5 char p TTY p 0 /dev/tty p tty 64 /dev/cua0 p , ttyS0 ....... 127 /dev/cua63 p , ttyS63 6 char p p p pp 0 /dev/lp0 p p pp (0x3bc) 1 /dev/lp1 p p pp (0x378) 2 /dev/lp2 p p pp (0x278) - 109 - p p 0x3bc, p p pp /dev/lp0 /dev/lp1. 7 char p p 0 /dev/vcs p 1 /dev/vcs1 tty1 .......... 63 /dev/vcs63 tty63 128 /dev/vcsa p p 129 /dev/vcsa1 p tty1 .......... 191 /dev/vcsa63 p tty63 : p . 8 block p SCSI 0 /dev/sda p SCSI 16 /dev/sdb p SCSI 32 /dev/sdc p SCSI ........ 240 /dev/sdp SCSI p IDE (. p p 3) , p SCSI p 11 ( 59, IDE ). 9 char p SCSI 0 /dev/st0 p SCSI 1 /dev/st1 p SCSI ......... 128 /dev/nst0 p SCSI p p p 129 /dev/nst1 p SCSI p p p - 110 - ......... block p 0 /dev/md0 p p p 1 /dev/md1 p p p ......... pp . 10 char p p 0 /dev/logibm Logitech 1 /dev/psaux p PS/2 2 /dev/inportbm Microsoft Inport 3 /dev/atibm ATI XL 4 /dev/jbm J- 4 /dev/amigamouse Amiga (68k) 5 /dev/atarimouse Atari (68k) 128 /dev/beep pp 129 /dev/modrq p p p 11 block CD-ROM p SCSI 0 /dev/sr0 p SCSI CD-ROM 1 /dev/sr1 p SCSi CD-ROM .......... p /dev/scd p /dev/sr. 12 char QIC-02 2 /dev/ntpqic11 QIC-11, p p p 3 /dev/tpqic11 QIC-11, p p p 4 /dev/ntpqic24 QIC-24, p p p 5 /dev/tpqic24 QIC-24, p p p 6 /dev/ntpqic120 QIC-120, p p p 7 /dev/tpqic120 QIC-120, p p p 8 /dev/ntpqic150 QIC-150. p p p 9 /dev/tpqic150 QIC-150, p p p block MSCDEX CD-ROM p callback - 111 - 0 /dev/dos_cd0 p MSCDEX CD-ROM 1 /dev/dos_cd1 p MSCDEX CD-ROM .......... 13 char pp 0 /dev/pcmixer /dev/mixer 3 /dev/pcsp /dev/dsp (8 ) 4 /dev/pcaudio /dev/audio 5 /dev/pcsp16 /dev/dsp (16 ) block 8 MFM/RLL/IDE pp 0 /dev/xda p XT 64 /dev/xdb p XT p IDE (. p p 3). 14 char 0 /dev/mixer p 1 /dev/sequencer p 2 /dev/midi00 p MIDI p 3 /dev/dsp p 4 /dev/audio p , Sun 6 /dev/sndstat p 8 /dev/sequencer2 p 16 /dev/mixer1 p p 17 /dev/patmgr0 Patch p 18 /dev/midi01 p MIDI p 19 /dev/dsp1 p p p 20 /dev/audio1 p p, Sun, p 33 /dev/patmgr1 p patch p 34 /dev/midi02 p MIDI p 50 /dev/midi03 p MIDI p block p BIOS p callback 0 /dev/dos_hda p (BIOS) 64 /dev/dos_hdb p (BIOS) 128 /dev/dos_hdc p (BIOS) 192 /dev/dos_hdd p (BIOS) - 112 - p IDE (. p p 3). 15 char 0 /dev/js0 p 1 /dev/js1 p block CD-ROM Sony CDU-31A/CDU-33A 0 /dev/sonycd CD-ROM Sony CDU-31A 16 char ppp p block CD-ROM Gold Star 0 /dev/gscd CD-ROM Gold Star 17 char Chase (pp) 0 /dev/ttyH0 p p hase 1 /dev/ttyH1 p p chase .......... block Optics Storage CD-ROM (pp) 0 /dev/optcd Optics Storage CD-ROM 18 char chase 0 /dev/cuh0 p callout, ttyH0 1 /dev/cuh1 p callout, ttyH1 ........ block CD-ROM Sanyo (pp) 0 ? CD-ROM Sanyo 19 char Cyclades 32 /dev/ttyC0 p p Cyclades ....... 63 /dev/ttyC31 p p p Cyclades block Double 0 /dev/double0 p ....... 7 /dev/double7 128 /dev/cdouble0 p p ....... - 113 - 135 /dev/cdouble7 p . Double p p p. 20 char Cyclades 32 /dev/cub0 p callout, ttyC0 ........ 63 /dev/cub31 p callout, ttyC31 block CD-ROM Hitachi (pp) 0 /dev/hitcd CD-ROM Hitachi 21 char Generic SCSI 0 /dev/sg0 p p generic SCSI 1 /dev/sg1 p p generic SCSI ........ 22 char Digiboard 0 /dev/ttyD0 p p Digiboard 1 /dev/ttyD1 p p Digiboard ......... block p p MFM/RLL/IDE / CD-ROM 0 /dev/hdc ( CD-ROM) 64 /dev/hdd p ( CD-ROM) p p p (. p p 3). 23 char Digiboard 0 /dev/cud0 p callout, ttyD0 1 /dev/cud1 p callout, ttyD1 block CD-ROM Mitsumi 0 /dev/mcd CD-ROM Mitsumi 24 char Stallion 0 /dev/ttyE0 Stallion, p 0 0 1 /dev/ttyE1 Stallion, p 1 0 .......... - 114 - 64 /dev/ttyE64 Stallion, p 0 1 65 /dev/ttyE65 Stallion, p 1 1 .......... 128 /dev/ttyE128 Stallion, p 0 2 129 /dev/ttyE129 Stallion, p 1 2 .......... 192 /dev/ttyE192 Stallion, p 0 3 193 /dev/ttyE193 Stallion, p 1 3 .......... block CD-ROM Sony CDU-535 0 /dev/cdu535 CD-ROM Sony CDU-535 25 char Stallion 0 /dev/cue0 p callout, ttyE0 1 /dev/cue1 p callout, ttyE1 .......... 64 /dev/cue64 p callout, ttyE64 65 /dev/cue65 p callout, ttyE65 .......... 128 /dev/cue128 p callout, ttyE128 129 /dev/cue128 p callout, ttyE129 .......... 192 /dev/cue192 p callout, ttyE192 193 /dev/cue193 p callout, ttyE193 .......... block p CD-ROM Matsushita (Panasonic/SoundBlaster) 0 /dev/sbpc0 CD-ROM Panasonic pp 0 p 0 1 /dev/sbpc1 CD-ROM Panasonic pp 0 p 1 2 /dev/sbpc2 CD-ROM Panasonic pp 0 p 2 3 /dev/sbpc3 CD-ROM Panasonic pp 0 p 3 26 char p 0 /dev/wvisfgrab p Quanta WinVision block p CD-ROM Matsushita (Panasonic/SoundBlaster) 0 /dev/sbpcd0 CD-ROM Panasonic pp 1 p 0 1 /dev/sbpcd1 CD-ROM Panasonic pp 1 p 1 2 /dev/sbpcd2 CD-ROM Panasonic pp 1 p 2 3 /dev/sbpcd3 CD-ROM Panasonic pp 1 p 3 - 115 - 27 char QIC-117 0 /dev/rft0 p 0, p p p 1 /dev/rft1 p 1, p p p 2 /dev/rft2 p 2, p p p 3 /dev/rft3 p 3, p p p 4 /dev/nrft0 p 0, p p p 5 /dev/nrft1 p 1, p p p 6 /dev/nrft2 p 2, p p p 7 /dev/nrft3 p 3, p p p block p CD-ROM Matsushita (Panasonic/SoundBlaster) 0 /dev/sbpcd8 CD-ROM Panasonic pp 2 p 0 1 /dev/sbpcd9 CD-ROM Panasonic pp 2 p 1 2 /dev/sbpcd10 CD-ROM Panasonic pp 2 p 2 3 /dev/sbpcd11 CD-ROM Panasonic pp 2 p 3 28 char ppp Stallion 0 /dev/staliomem0 / p Stallion 1 /dev/staliomem1 / p Stallion 2 /dev/staliomem2 / p Stallion 3 /dev/staliomem3 / p Stallion block p CD-ROM Matsushita (Panasonic/SoundBlaster) 0 /dev/sbpcd12 CD-ROM Panasonic pp 3 p 0 1 /dev/sbpcd13 CD-ROM Panasonic pp 3 p 1 2 /dev/sbpcd14 CD-ROM Panasonic pp 3 p 2 3 /dev/sbpcd15 CD-ROM Panasonic pp 3 p 3 block ACSI (68k) 0 /dev/ada p ACSI 16 /dev/adb p ACSI 32 /dev/adc p ACSI ......... 240 /dev/adp ACSI p IDE (. p p 3), , p ACSI p 11 ( 59, IDE ). 29 char p p p - 116 - 0 /dev/fb0current p p p 1 /dev/fb0autodetect .......... 16 /dev/fb1current p p p 17 /dev/fb1autodetect .......... p p p p p p Linux/68k. p current p pp, p autodetect - pp, p p ( ). p 2-15 p p p, p p . p p. block CD-ROM Aztech/Orchid/Okano/Wearnes 0 /dev/aztcd CD-ROM Aztech 30 char iBCS-2 0 /dev/socksys 1 /dev/spx p SVR3 X 2 /dev/inet/arp 2 /dev/inet/icmp 2 /dev/inet/ip 2 /dev/inet/udp 2 /dev/inet/tcp p iBCS-2 p /dev/nfsd /dev/socksys /dev/XOR /dev/null block CD-ROM Philips LMS CM-205 0 /dev/cm205cd CD-ROM Philips LMS CM-205 /dev/lmscd p p. pp p p CD-ROM CM-205MS 31 char MPU-401 MIDI 0 /dev/mpu401data p MPU-401 1 /dev/mpu401stat p MPU-401 block ROM/ flash 0 /dev/rom0 p ROM (p read-write) .......... 7 /dev/rom7 ROM (p read-write) - 117 - 8 /dev/rrom0 p ROM (p read-only) .......... 15 /dev/rrom7 ROM (p read-only) 16 /dev/flash0 p flash (read-write) .......... 23 /dev/flash7 flash (read-write) 24 /dev/rflash0 p flash (read-only) .......... 31 /dev/rflash7 flash (read-only) p, p p read-write, p p p , RAM, p flash RAM. p, p p read-only, p . 32 block CD-ROM Philips LMS CM-206 0 /dev/cm206cd CD-ROM Philips LMS CM-206 33 block Modular RAM 0 /dev/ram0 p Modular RAM 1 /dev/ram1 p Modular RAM ......... 255 /dev/ram255 Modular RAM 34-223 pp 224-254 /p pp, p