Bolt Beranek and Newman Inc. July 16, 1970 TENEX NEWSLETTER I. PRESENT STATE OF TENEX a) Operational Performance TENEX was put officially on the air on June 15, 1970 with capabilities to serve LISP and machine language program- mers. TENEX was scheduled to be on the air May 1, 1970. This six week slippage was the only unrecognized slip in a very tight schedule held since November, 1969. While the crash rate was very high in the first week of operation, system's personnel were able to find and correct many bugs which were provoked by having "real users" on the system. Within a week, the crash rate was 3 or 4 a day, and a number of subsystems became available on TENEX, among them FORTRAN IV and TELCOMP III. By the end of the month the crash rate was further reduced. Reliability has continued to improve, with only 3 crashes occurring during the period July 1 through 9. The present TENEX is running slower than we would like, but we expect this to be improved. The reasons for the slowness are: 1. There are only two hardware associative registers in the current pager. 2. Some software "tune-up" needs to be per- formed. We anticipate that more associative registers will be available soon. With respect to the software "tune-up" work on system performances measurements is going on. When TENEX first became operational, it was discovered that the I/O routines were quite inefficient. These have been speeded up by a factor of 5 and have made a noticable improvement in system's response. At least another very plausible cause of poor system response time has been identified and the appropriate change in the scheduling algorithm has been made and will be tried in the next system assembly. b) Working Features Hardware The TENEX paging hardware is fully operational and has been very reliable. Software The basic Executive system features are operational although many of the more sophisticated commands have not yet been implemented. LISP is rapidly reaching the level of sophisti- cation of the BBN - LISP that ran in our SDS-9'40 computer. TECO, FORTRAN IV, TELCOMP III, MACRO, and LOADER are op- erational and are being actively used. The user's reaction has been overwhelmingly good. In spite of the system's present slowness, it does compare favorably with the 10/50 system, and the niceties and power of the EXEC language, coupled with the flexibility of the file system and the large "virtual" core, have been enough to rapidly win over our research time sharing system users as well as some outside users who have sampled TENEX. Users have been impressed by the excellent reliability that has been achieved in a very short time. c) Documentation Available Software The available documentation comprises the original set of 14 TENEX software specification memos (that describe and specify the system's software), the JSYS manual that des- cribes the nature and function of the various monitor calls (which is mainly for use by machine language programmers), and a draft of the Executive language manual whose aim is to explain the use of the Executive to users without previous knowledge of TENEX. Hardware A revised description of the BBN pager is available as Section 10 Revision 4 of the PDP-l0 System Reference Manual. II. SUMMARY OF TENEX FEATURES AND HIGHLIGHTS TENEX is a time sharing operating system that runs on the DEC PDP-l0 computer. It was conceived and developed by Bolt Beranek and Newman Inc. The research and development of TENEX is being supported by the Advanced Research Pro- jects Agency of the Department of Defense. TENEX is a system which utilizes paged core memory. In contrast to the DEC 10/40 or 10/50 monitor, TENEX allows users to write their programs as if they had a large, (virtual) memory at their disposal, while at the same time reducing swapping time, since only the "working set" pages of a user's program need to be in core for his program to run. BBN designed and built the necessary paging hardware which is now being made available to outside research PDP-l0 users. TENEX has a powerful Executive language, which constitutes the user's handle on the Time Sharing System. The language is very easy to use, i.e. it is based on highly natural, mnemonic commands which allow recognition, input editing, and multiple input formats to be freely intermingled. TENEX has a flexible file system. Files are distinguished by device, directory name, file name, extension, and version. Names and extensions may be up to 39 characters long and a very well human-engineered set of default values makes it extremely easy to reference commonly used files. Users can have several directories, and an elaborate system for file sharing and protection has been developed. TENEX allows its users to run hierarchically dependent "parallel processes", that share memory among themselves and use a pseudo-interrupt system to facilitate interprocess communication. TENEX is compatible with the standard DEC monitors; most standard user programs and CUSPS that run under a 10/50 operating system will also run under TENEX.