|Type:||Multi-tasking, multi-user, virtual memory|
|Creator:||MIT AI Lab, Logo group|
SITS means "Small Incompatible Timesharing System". It was a time-sharing operating system for a PDP-11/45, created in the mid-1970s at MIT for running Logo.
SITS' design is vaguely reminiscent of ITS, with large influences from MIT's PDP-1-X Time Sharing System. Like ITS, there is a main memory-resident kernel debugger; SALV for managing disks; TECO for text editing, and DDT for debugging and running user programs. Processes can be PCLSR'ed just like in ITS. From the PDP-1-X it inherited capability-based security and the concept of spheres. It has a hierarchical tree-structured file system inspired by Multics. SITS supported raster displays similar to those used with the MIT-AI Knight TV, a few vector displays, and General Turtle 2500 terminals. Programs can be stored in either absolute loader format, or pure dump format.
The kernel debugger was written by Radia Perlman and was called RUG from the phrase "snug as a bug in a rug". In addition to debugging, it can also read and write files in the SITS file system which is how SITS is booted. It can also read files from paper tapes, or from ITS through the Rubin 10-11 shared memory interface. The default file name is DAZZEL, perhaps a nod to the Dazzle Dart game that was hosted on the same machine.
AI memo 356 "Logo Progress Report 1973-1975" has this:
Originally Logo was implemented in assembly language on the PDP-10. In order to provide a computer system dedicated to educational use, it was adapted for the PDP-11. The first milestone in this direction was the completion in 1973-1974 of a dedicated timesharing system running 11LOGO.
The was not an entirely satisfactory solution because of the inability of the system to be self-maintaining or to run other languages or special purpose jobs (like a simulation environment or an educational real-time game). During 1974-1975, our programming staff, under the direction or R. Lebel, completed the design and implementation of a general purpose multi-language timesharing system for the PDP-11/45. The SITS timesharing system was developed to provide an environment suitable for running Logo and other PDP-11/45 programs. It incorporates a Multics-like tree structured file system including (potentially) full access control. It also provides unique capabilities for running programs as multiple process systems, rather than the more common single process approach, and the ability for each user to run many jobs simultaneously. The system include provisions for using both the older refreshed displays and our new raster displays.
When the SITS PDP-11/45 was decommissioned from the Logo group, it was donated to what became the Concourse Computer Center. It did not continue running SITS due to instability problems. Instead the computer ran UNIX V7, later 2BSD, and was placed on the Chaosnet.
To provide the educational market with an inexpensive computer capable of running Logo, it was ported to an LSI-11 based computer called the 3500. It was done using a system abstraction layer called the Little SITS emulator.
Several snapshots of SITS exist on ITS backup tapes from the AI Lab PDP-10.
- SITS 68 from 1973.
- SITS 455 and 456 from 1974.
- SITS version 1146 from 1975.
- NSITS 111 and 112 from 1975. Version number reset?
- SITS 103 from 1976.
- SITS 117, 118, and 119 from 1977.
- SITS 134 from 1978.
- SITS 136 from 1979.
- A set of disk images from May 1978 with SITS 122.
Unsorted files from SITS, PDP-10 Logo, and PDP-11 Logo can be found here, courtesy of Ron Lebel: https://github.com/larsbrinkhoff/mit-logo-and-sits-raw-files
This is the list of required hardware for SITS version 119:
|PC11||Paper tape reader/punch||777550-777557||70-74|
|DC11||Asynchronous serial line interface||774000-774007||300-304|
|DH11||Asynchronous serial line interface||760020-760037||340-344|
|RK11||Moving head disk||777400-777417||220|
|NG||Tom Knight's vector display controller||764040-764043||270|
|TV||Ron Lebel's raster display controller||764140-764163|
|MB11||MAR and history||770000-770017||364|
List of attached terminals:
|1||DH11, port 0||Teletype, 300 baud|
|2-5||DH11, port 1-4||Teletype, 300 baud, and TK display|
|6-7||DH11, port 5-6||Modem, 300 baud|
|10||DH11, port 7||2500, 2400 baud|
|11-16||DH11, port 8-13||Teletype, 300 baud|
|17||DH11, port 14||2500, 2400 baud|
|20||DH11, port 15||Teletype, 300 baud|
|22-61||TVs 0-31||TV and Lebel keyboard|