Preface to the Fourth (2002) Edition Plan 9 continues to grow and adapt. The fourth major release of the system incorporates a number of changes, but the most central is the conversion to a new version of the 9P file system protocol. This new version was motivated by a desire to support files with name elements longer than 27 bytes (the old NAMELEN), but the opportunity was taken to change a number of other things about the protocol, making it more efficient, more flexible, and easier to encapsulate. One simple but indispensable new feature made possible by the protocol change is that the system now records the user who last modified a file; try ls -m to identify the culprit. Many aspects of system security have been improved. The new security agent factotum(4) maintains user passwords, while secstore(8) keeps them safe and enables single sign-on to multiple domains and machines using a variety of secure protocols and services. Throughout the system, components have been rewritten and interfaces modified to eliminate restrictions, improve performance, and clarify design. The full list is too long to include here, but significant changes have occurred in a number of system calls (wait(2), stat(2), mount(2), and errstr(2)), the thread library (thread(2)), formatted printing (print(2) and fmtinstall(2)), security (many pages in section 2, including auth(2), authsrv(2)), and many others. The changes are sweeping and are accompanied by many new programs, tools, services, and libraries. See the manual pages and the accompanying documents for more information. Bell Labs Computing Science Research Center Murray Hill NJ April, 2002 Copyright (c) 2002 Lucent Technologies Inc. All rights reserved.