]> git.lizzy.rs Git - plan9front.git/blob - sys/doc/release4.ms
acid: increase hash size (thanks jonas.amoson)
[plan9front.git] / sys / doc / release4.ms
1 .HTML "Plan 9 — Fourth Edition Release Notes
2 .TL
3 Plan 9 From Bell Labs
4 .br
5 Fourth Release Notes
6 .br
7 April, 2002
8 .br
9 updated June, 2003
10 .LP
11 .sp -.4i
12 .nf
13 .ce 1000
14 Copyright © 2002-2003 Lucent Technologies Inc.
15 All Rights Reserved
16 .sp .2i
17 .fi
18 .LP
19 The fourth release of the Plan 9 operating system from Bell Labs
20 packages a major overhaul of the system at every level.
21 From the underlying file system protocol, 9P, through the kernel,
22 libraries, and applications, almost everything has been modified
23 and, in many cases, redesigned or rewritten.
24 .LP
25 The most significant change is that 9P has been redesigned to address
26 a number of shortcomings, most important, its previous inability to handle long
27 file names.
28 Unfortunately, squeezing long names onto the disks of existing
29 file servers is a messy business that we're still grappling with,
30 so at the moment
31 .I fs (4)
32 and
33 .I kfs (4)
34 can't yet handle long names,
35 although they do talk the new protocol.
36 (In fact, they
37 talk both old and new, as required, to ease transition.)
38 In the meantime, there is a workaround \(em
39 .I lnfs (4)
40 \(em
41 and many of the other file servers such as
42 .I ramfs (4)
43 and
44 .I u9fs (4)
45 work just fine with long names.
46 It's only the old disk-resident file servers
47 that don't.
48 The new file server
49 .I fossil (4)
50 handles supports long names and many other features.
51 The older servers are now deprecated.
52 .LP
53 The following is a partial list of the major changes throughout the system.
54 .de Xx
55 .LP
56 \(bu
57 ..
58 .Xx
59 The file system protocol, 9P, has been reworked.
60 It now has variable-length names, so it can handle long names
61 but also is more compact when handling short ones.
62 It uses a different format that is easily parsed, eliminating the need for the old
63 .CW aux/fcall
64 utility,
65 and delegates its authentication duties to an external agent,
66 .CW factotum .
67 .Xx
68 Security has been a focus of attention.
69 A new security agent,
70 .I factotum (4),
71 manages passwords and other secrets and, coupled with a new secure file store
72 .I secstore (8),
73 enables secure single sign-on.
74 .Xx
75 .CW Cpu ,
76 .CW import ,
77 and
78 .CW exportfs
79 all encrypt their connections now, and since they use the new 9P they
80 also use new network port numbers.
81 A new service
82 .I aan (1)
83 is used by
84 .CW import
85 to make its network connections more reliable in the face of network outages.
86 The old ports still work, through the agency of a protocol conversion filter
87 .I srvold9p (4).
88 .Xx
89 We are phasing out the IL protocol since it doesn't handle long-distance connections
90 well (and long-distance networks don't handle it well, either).
91 IL is still used by
92 .I fs (4)
93 but TCP has become the standard protocol for all other services.
94 .Xx
95 The software for the new network-resident secure block store,
96 .I venti (8),
97 is included with this distribution.
98 The new
99 file server
100 .I fossil (4)
101 uses Venti rather than a WORM as its permanent block repository/backup medium.
102 It is still being developed, but is mature enough that a handful of users
103 throughout the world are using it as their primary file server.
104 .Xx
105 The need to handle longer file names triggered a rethinking of the way the
106 system handles strings in general.
107 The kernel is now more explanatory when it gives an error message and
108 more consistent in how it handles strings such as commands to devices.
109 The interfaces to many of the system calls, such as
110 .I errstr (2)
111 and
112 .I wait (2)
113 all had to change as a result, as did the library interface to read directories,
114 .I stat (2)
115 and its relatives.
116 .Xx
117 The formatted I/O package described in
118 .I print (2)
119 and
120 .I fmtinstall (2)
121 has been redesigned.
122 Although the basic interface is unchanged, it now runs without locks and
123 has an internal buffer management mechanism that means
124 .CW print
125 no longer needs a large on-stack buffer.
126 The interface for writing custom print verbs and custom formatted I/O routines
127 has also been greatly improved.
128 .Xx
129 The thread library
130 .I thread (2)
131 has been completely rewritten.
132 The main visible change is that, coupled with the changes to printing,
133 .CW threadprint
134 is gone; you can just use
135 .CW print
136 or
137 .CW fprint
138 at will.
139 .Xx
140 Support for electronic mail has been extended in many ways and now includes
141 some new spam filtering tools,
142 much better (and more standard) handling of MIME messages,
143 the ability to render incoming HTML mail,
144 and much more.
145 .LP
146 There are so many changes to the programming interfaces of the system
147 that they are described in a separate document, entitled
148 .I
149 Changes to the Programming Environment in the Fourth Release of Plan 9.
150 .R
151 Please read it before you start updating your own software to run under the new system.
152 .LP
153 The installation method has also changed and we're moving towards a new
154 method for maintaining updates.
155 The Plan 9 Wiki
156 .CW http://plan9.bell-labs.com/wiki/plan9 ) (
157 and Usenet group
158 .CW comp.os.plan9 ) (
159 are the places to visit to learn more and stay current.
160 In particular, the installation notes are now maintained in the Wiki;
161 the traditional papers on installation and start-up are gone.
162 .LP
163 There's lots more new stuff.
164 If you have problems, mail
165 .CW 9trouble@plan9.bell-labs.com
166 or, better, check the wiki
167 .CW http://plan9.bell-labs.com/wiki/plan9
168 or ask the Usenet newsgroup
169 .CW comp.os.plan9 .
170 .LP
171 Good Luck!