]> git.lizzy.rs Git - plan9front.git/blob - sys/doc/fs/p0
efi: convert pixel format to bootscreen color channel
[plan9front.git] / sys / doc / fs / p0
1 .HTML "The 64-bit Standalone Plan 9 File Server
2 .de Ex
3 .TA 0.5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i
4 .P1
5 .TA 0.5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i
6 ..
7 .de Ee
8 .P2
9 ..
10
11 .EQ
12 delim $$
13 .EN
14 .FP lucidasans
15
16 .TL
17 The 64-bit Standalone Plan 9 File Server
18 .AU
19 Ken Thompson*
20 .CW ken@plan9.bell-labs.com
21 .FS
22 \l'4i'
23 .br
24 * now
25 .\" .CW ken@entrisphere.com
26 .CW ken@google.com
27 .FE
28 .AU
29 Geoff Collyer
30 .CW geoff@plan9.bell-labs.com
31 .AI
32 .MH
33 .AB
34 This paper is a revision of Thompson's
35 .I "The Plan 9 File Server" ,
36 and describes the structure
37 and the operation of the new 64-bit Plan 9 file servers.
38 Some specifics apply to the 32-bit
39 Plan 9 file server
40 Emelie,
41 which code is also the basis for
42 the user-level file server
43 .CW kfs .
44 .PP
45 In 2004,
46 Collyer created a 64-bit version of
47 Thompson's 32-bit file server, updating all file
48 offsets, sizes and block numbers to 64 bits.
49 In addition, triple- and quadruple-indirect
50 blocks were implemented.
51 File name components were extended from 27 to 55 bytes.
52 This code is also the basis for the user-level file server
53 .I cwfs (4).
54 .AE
55 .SH
56 Introduction
57 .PP
58 The Plan 9 file server
59 Emelie
60 is the oldest piece of system software
61 still in use on Plan 9.
62 It evolved from a user-level program that served
63 serial lines on a Sequent multi-processor.
64 The current implementation is neither clean nor
65 portable,
66 but it has slowly come to terms with
67 its particular set of cranky computers
68 and devices.
69 .PP
70 The file server
71 .I fs64
72 runs a revision of Emelie's code
73 with 64-bit file sizes, offsets and block numbers
74 and indirect blocks from single to quadruple.
75 Actually these are 63-bit values, since the type used is
76 .I vlong
77 (signed
78 .I "long long"
79 integer),
80 but 63 bits should suffice for a little while.