Dartmouth Time-Sharing System
Developer | Dartmouth College |
---|---|
Written in | Dartmouth BASIC,ALGOL 60,FORTRAN,COBOL,APL,DXPL,DYNAMO,GMAP,LISP,MIX,PL/I,SNOBOL |
Working state | Discontinued |
Initial release | 1964 |
Platforms | GE-200 series,GE-635series,Honeywell 6000series |
Default user interface | Command-line interface |
Official website | dtss |
TheDartmouth Time-Sharing System(DTSS) is a discontinuedoperating systemfirst developed atDartmouth Collegebetween 1963 and 1964.[1]It was the first successful large-scaletime-sharingsystem to be implemented, and was also the system for which theBASIClanguage was developed. DTSS was developed continually over the next decade, reimplemented on several generations of computers, and finally shut down in 1999.
General Electricdeveloped a similar system based on an interim version of DTSS, which they referred to as Mark II. Mark II and the further developed Mark III were widely used on theirGE-600 seriesmainframecomputers and formed the basis for theironline services.These were the largest such services in the world for a time, eventually emerging as the consumer-orientedGEnieonline service.
Early history
[edit]ProfessorsJohn KemenyandThomas Kurtzat Dartmouth College purchased aRoyal McBeeLGP-30computer around 1959, which was programmed by undergraduates in assembly language. Kurtz and four students programmed theDartmouth ALGOL 30compiler,an implementation of theALGOL 58programming language, which two of the students, Stephen Garland andAnthony Knappthen evolved into the SCALP (Self Contained ALgol Processor) language between 1962 and 1964. Kemeny and freshman Sidney Marshall collaborated to createDOPE (Dartmouth Oversimplified Programming Experiment),which was used in large freshman courses.[2]
Kurtz approached Kemeny in either 1961 or 1962, with the following proposal:[3]all Dartmouth students would have access to computing, it should be free and open-access, and this could be accomplished by creating a time-sharing system (which Kurtz had learned about from colleagueJohn McCarthyatMIT,who suggested "why don't you guys do timesharing?" ). Although it has been stated that DTSS was inspired by aPDP-1-based time-sharing system atBolt, Beranek and Newman,there is no evidence that this is true.[citation needed]
In 1962, Kemeny and Kurtz submitted a proposal for the development of a new time-sharing system toNSF(which was ultimately funded in 1964).[4]They had sufficient assurance that both Dartmouth and NSF would support the system that they signed a contract withGEand began preliminary work in 1963, before the proposal was funded.[5]In particular, they evaluated candidate computers fromBendix,GE,andIBM,and settled upon theGE-225system paired with aDATANET-30communications processor. This two-processor approach was unorthodox, and Kemeny later recalled:[6]"At that time, many experts at GE and elsewhere, tried to convince us that the route of the two-computer solution was wasteful and inefficient." In essence, the DATANET-30 provided the user-interface and scheduler, while user programs ran in the GE-225.
Its implementation began in 1963, by a student team[7]under the direction of Kemeny and Kurtz with the aim of providing easy access to computing facilities for all members of the college.[8]The GE-225 and DATANET-30 computers arrived in February 1964. Two students, John McGeachie and Michael Busch, wrote the operating systems for the DATANET-30 and GE-225; Kemeny contributed theBASICcompiler. The system became operational in mid March, and on May 1, 1964, at 4:00 a.m., the system began operations.[9]In autumn of 1964, hundreds of freshman students began to use the system via 20teletypes,with access atHanover High Schoolvia one additional teletype;[10]later that autumn the GE-225 computer was replaced with a fasterGE-235computer with minimal issues. By summer of 1965, the system could support forty simultaneous users.[11]
A Dartmouth document from October 1964, later revised by GE, describes the overall DTSS architecture:[12]
The program in the Datanet-30 is divided into two parts, a real-time part and a spare-time part. The real-time part is entered via clock-controlledinterrupt110 times per second in order to scan the teletype lines. As characters are completed, the real-time part collects them into messages and, when a "return" character is encountered, interprets the message. If it is a line in the program, nothing is done. If the message is a command, a spare-time task to start carrying out the command is set up and inserted in the spare-time list. If there is not enough time to complete this setting-up, the real-time part will complete the set-up during the next real-time period. The spare-time portion carries out the spare-time tasks, which include mainly disc operations and certain teletype operations. In the GE-235 part there is resident compiler system that acts as a translator, and a resident executive routine to manage the disc input-output operations and to perform other functions. The executive system permits simultaneous use of the card equipment, the tape drives, and the high-speed printer during time-sharing through interrupt processing. Twoalgebraiclanguages, BASIC and ALGOL, are available, with FORTRAN planned for September 1965. These one-pass compilers are rather fast, requiring usually 1 to 4 seconds per compilation.
User interface design
[edit]Kemeny and Kurtz observed that "any response time which averages more than 10 seconds destroys the illusion of having one's own computer", so DTSS's design emphasized immediate feedback.[13]Many of its users thus believed that theirterminalwas the computer[14]and that, Kemeny wrote, "the machine is there just to serve him and that he has complete control of the entire system".[15]
Because of the educational aims, ease of use was a priority in DTSS design. It implemented the world's firstIntegrated Design Environment(IDE). Any line typed in by the user, and beginning with a line number, was added to the program, replacing any previously stored line with the same number; anything else was taken as a command and immediately executed. Lines which consisted solely of a line number weren't stored but did remove any previously stored line with the same number. This method of editing provided a simple and easy to use service that allowed large numbers ofteleprintersas the terminal units for the Dartmouth Timesharing system.
IDE commands included
- CATALOG– to list previously named programs in storage
- LIST– to display the current program in memory
- NEW– to name and begin writing a program in memory
- OLD– to copy a previously named program from storage to memory
- RENAME– to change the name of the program in memory
- RUN– to compile and execute the current program in memory
- SAVE– to copy the current program from memory to storage
- SCRATCH– to clear the content of the current program from memory
- UNSAVE– to remove the current program from storage
These commands were often believed to be part of the BASIC language by users, but in fact they were part of the time sharing system and were also used when preparingALGOL[14]orFORTRANprograms via the DTSS terminals.
GE-Dartmouth relationship
[edit]Kemeny and Kurtz had originally hoped that GE would enter into a research partnership, and to that end Kurtz and student Anthony Knapp authored a document about their proposed system design, which they presented to GE's Phoenix office in 1962.[16]However, GE rejected the partnership, and its October 1962 proposal to Dartmouth was framed solely as a commercial sale.[17]That said, GE and Dartmouth promoted the operational Dartmouth Time Sharing System in October 1964 at theFall Joint Computer Conferencein San Francisco, with three teletypes connected to the Dartmouth system in Hanover.[18]
From December 1964 into January 1965, two Dartmouth students installed working copies of DTSS and BASIC on GE computers in Phoenix. In early 1965, GE began to advertise timesharing services on its GE-265 system (GE 235 + DATANET 30), including BASIC and Dartmouth Algol,[19]later renaming it the GE Mark I time-sharing system.[20]Over the next few years, GE opened 25 computer centers in the United States and elsewhere, serving over fifty thousand users.[21]
TheComputer History Museum's Corporate Histories Collection describes GE's Mark I history this way:[22]
- The precursor of General Electric Information Services began as a business unit within General Electric formed to sell excess computer time on the computers used to give customer demos. In 1965, Warner Sinback recommended that they begin to sell time-sharing services using the time-sharing system (Mark 1) developed at Dartmouth on a General Electric 265 computer. The service was an instant success and by 1968, GEIS had 40% of the $ 70 million time-sharing market. The service continued to grow, and over time migrated to the GE developed Mark II and Mark III operating systems running on large mainframe computers.
Dartmouth Time-Sharing System, version 2
[edit]From 1966 to 1968, DTSS was reimplemented on theGE 635,[23]still using the DATANET-30 for terminal control. The GE 635 system was delivered in November 1966. By October 1967, it was providing a service based on Phase I software, jointly developed by Dartmouth and GE, which GE subsequently marketed as the GE Mark II system.[20]In parallel with this work, Dartmouth embarked in 1967 on the development of Phase II under the direction of Professor John Kemeny, with programming carried out by students and faculty. Phase II of the Dartmouth Time-Sharing System replaced Phase I on April 1, 1969, at Dartmouth.[20]
As described in 1969, the new DTSS architecture was influenced by three criteria:[24]
- The experiences with the 265 system.
- The published concepts of theMulticssystem.
- A realization of the limitations of the capabilities of a part-time staff of Dartmouth students and faculty members.
This new version was completely different internally from the earlier DTSS, but provided a near-identical user interface to enable a smooth transition for users and course materials. The 635 version provided interactive time-sharing to up to nearly 300 simultaneous users in the 1970s, a very large number at the time, and operated at eleven commercial and academic sites in the US, Canada and Europe.[25]As it evolved in the 1970s, later versions moved toHoneywell 6000series mainframes (1973) andHoneywell 716communication processors (1974).[26]In 1976 the GE-635 system was replaced by a Honeywell 66/40A computer. It remained in operation until the end of 1999.[27]
DTSS, version 2, included a novel form ofinter-process communicationcalled "communication files". They significantly antedatedUnixpipes,as design documents put their conceptual origin sometime in 1967,[28]and were described briefly in a 1969 conference:
- A communications file allows two jobs to interact directly without the use of secondary storage. A communications file has one end in each of two jobs. It is the software analog of a channel-to-channel adaptor. This structure allows job-to-job interactions using the same procedures as for more conventional files. The two ends are labeled master end and slave end. A job at the slave end of a communications file cannot easily distinguish this file from a conventional file. Since a job at the master end of a communications file can control and monitor all data transmitted on that file, a master end job can simulate a data file, thereby providing a usefuldebuggingaid and also providing a convenient mechanism for interfacing running jobs to unexpected data structures.[24]
Communication files supported read, write and close operations, but also synchronous and asynchronous data transfer, random access, status inquiries, out-of-band signaling, error reporting, and access control, with the precise semantics of each operation determined by the master process. AsDouglas McIlroynotes: "In this, [communication files were] more akin toPlan 9's9P protocolthan to familiar IO. "[29]A notable application of communication files was in support of multi-user conferences, which behaved somewhat like conference phone calls, and were implemented entirely as user-space application programs.[30]
The Kiewit Network
[edit]As mentioned above, Hanover High School was connected to DTSS from the system's beginning. Over the next decade, many other high schools and colleges were connected to DTSS via the Kiewit Network, named for Peter Kiewit, donor of funds for the Kiewit Computation Center that housed the DTSS computers and staff. These schools connected to DTSS via one or more teletypes, modems, and dial-up telephone lines.[31]Dartmouth students had free, unlimited access to DTSS, but high-school students had quotas of 40 to 72 hours of terminal access each week, and college users paid for computer use.[32]Dartmouth ran active programs to engage and train high school teachers in using computation within their courses.
By 1967, the following high schools had joined the Kiewit Network: Hanover High School,The Holderness School,Mascoma Valley Regional High School,Kimball Union Academy,Mount Hermon School,Phillips Andover Academy,Phillips Exeter Academy,St. Paul's School,andVermont Academy.[33]This group expanded in the Dartmouth Secondary School Project, funded by the NSF during 1967–1968, which added the following New England high schools:Cape Elizabeth High School,Concord High School,Hartford High School (Vermont),Keene High School,Lebanon High School,Loomis School,Manchester Central High School,Rutland High School,St. Johnsbury Academy,South Portland High School,andTimberlane High School.[34]
From 1968 to 1970, Dartmouth added a number of colleges to the Kiewit Network via its Regional College Consortium. They included: Bates College,Berkshire Community College,Bowdoin College,Colby Junior College,Middlebury College,Mount Holyoke College,New England College,Norwich University,theUniversity of Vermont,andVermont Technical College.[35]
By 1971, the Kiewit Network connected 30 high schools and 20 colleges in New England, New York, and New Jersey.[36]At that time, DTSS was supporting over 30,000 users, of which only 3,000 were at Dartmouth College.[36]By 1973, the Kiewit Network had expanded to include schools in Illinois, Michigan, upstate New York, Ohio, andMontreal, Canada.[37]
Usage
[edit]No student at Dartmouth has a fear of the machine. After a brief period at the console, when the student might play a football game or write a few simple programs, he comes away with a much different relationship. The fear and mystery of the computer are suddenly gone.
— Kemeny, 1971[15]
As of 1971[update]57% of DTSS use was for courses and 16% for research.[15]Kemeny and Kurtz intended for students in technical and nontechnical fields to use DTSS. They arranged for the second trimester of the freshman mathematics class to include a requirement for writing and debugging four Dartmouth BASIC programs. By 1968, more than 80% of Dartmouth students had experience in computer programming. 80 classes included "official" computer use, including those in engineering, classics, geography, sociology, and Spanish;[13]that students in theTuck School of Businessand social sciences, not mathematics or engineering, were the heaviest users surprised Kemeny. By 1972 90% of students had computer experience; because faculty knew that students were familiar with DTSS, using it became a routine part of many courses.[38]A 1975 survey found that 29% of faculty used the computer in courses and 73% of students were enrolled in them, 43% of faculty used it in research, and 45% of faculty had written a computer program. By that year university administration used 28% of timesharing resources to students' 20%, with theregistrarand housing office among users.[39]
27% of DTSS use as of 1971[update]was for casual use and entertainment, which the university stated "is in no sense regarded as frivolous", as such was an enjoyable way for users to become familiar with and not fear the computer.[15][38]The library of hundreds of programs included, Kemeny and Kurtz reported, "many games".[13][38]They were pleased by the widespread faculty use of DTSS, and that many students continued using the system after no longer being required to. Kemeny—by then the university president—wrote in a 1971 brochure describing the system that just as a student could enterBaker Memorial Libraryand borrow a book without asking permission or explaining his purpose, "any student may walk into Kiewit Computation Center, sit down at a console, and use the time-sharing system. No one will ask if he is solving a serious research problem, doing his homework the easy way, playing a game of football, or writing a letter to his girlfriend".[15][40][38]By 1972 the football simulation supported simultaneous head-to-head play as amultiplayer video game.[38]Kiewit's location nearDartmouth College Greek organizationsmade it popular for socializing;[32]students often brought dates to the Computation Center, both to play games and to demonstrate their own programs.[38]
By the 1967–68 school year, in addition to 2,600 Dartmouth users, 5,550 people at ten universities and 23 high schools accessed DTSS.[13]Kemeny had a terminal at home, and as president installed one in his office.[41]By the early 1970s the campus had more than 150 terminals in 25 buildings,[38]including portable units for patients at the campus infirmary. About 2,000 users logged into DTSS each day; 80% of students and 70% of faculty used the system each year. The off-campus Dartmouth Educational Time-Sharing Network included users with 79 terminals at 30 high schools and 20 universities, includingMiddlebury College,Phillips Andover,Mount Holyoke College,Goddard College,theUnited States Merchant Marine Academy,theUnited States Naval Academy,Bates College,the Dartmouth Club of New York, and a Dartmouth affiliate inJersey City, New Jersey,sharing DTSS with Dartmouth people.[15]The system allowed email-type messages to be passed between users and real-time chat via a precursor to theUnixtalkprogram.
While several languages were available on DTSS, as of 1972[update]98% of programs were written in Dartmouth BASIC.[38]Because BASIC did not change, the system remained compatible with older applications; Kemeny reported in 1974 that programs he had written in 1964 would still run.[14]By 1980, supported languages and systems included:[42]
- 7MAP – DTSS716Macro AssemblyProgram
- 8MAP – DTSSPDP-8Macro Assembly Program
- 9MAP – DTSSPDP-9Macro Assembly Program
- ALGOL – DTSSALGOL 60
- ALGOL68 – DTSSALGOL 68
- APL – DTSSAPL
- BASIC –Dartmouth BASIC
- CHESS – Chess-playing Program
- COBOL – DTSSCOBOL
- COURSE – IBM-compatible COURSEWRITER III author program
- CPS – 'Complete Programming System' developed at Bates College
- CROSREF – Program cross-references
- DDT – Honeywell 600/6000machine languagedebugging program
- DMAP – DTSSDATANET-30Macro Assembly Program
- DTRAC – DTSSText Reckoning and CompilingLanguage
- DXPL – DTSSXPLTranslator Writing System
- DYNAMO –DYNAMOSimulation language
- FORTRAN – DTSSFORTRAN
- GMAP – Honeywell 600/6000 Macro Assembly Program
- LISP – DTSSLISP
- MIX – DTSSMIXAssembler
- PILOT – DTSS PILOT course writer
- PL/I – DTSSPL/I
- PLOT – Graphics system for use with BASIC or SBASIC
- SBASIC – Structured BASIC
- SIX – FORTRAN 76
- SNOBOL – DTSSSNOBOL4
DTSS today
[edit]In 2000, a project to recreate the DTSS system on a simulator was undertaken and as a result DTSS is now available forMicrosoft Windowssystems and for theApple Macintoshcomputer.[43]
See also
[edit]References
[edit]- ^Rankin, Joy Lisi (2018).A People's History of Computing in the United States.Cambridge, Massachusetts: Harvard University Press.ISBN9780674970977.
- ^Application to the National Science Foundation,Kurtz, Rieser, and Meck, cited in Rankin, pages 20-21
- ^Rankin, pages 22-23
- ^Cite error: The named reference
Dartmouth
was invoked but never defined (see thehelp page). - ^Rankin, pages 24-25
- ^The GE-Dartmouth Computer Partnership,John G. Kemeny, DTSS History Birth 1967-1970 Folder 2, Box 4, Garland Papers, Dartmouth College Library
- ^"Kemeny's Kids".Archived fromthe originalon October 9, 2007.
- ^The Dartmouth Time-Sharing System - A Brief Description(PDF).October 1964.
- ^Gordon M. Bull (1980).The Dartmouth Time-Sharing System(PDF).Ellis Horwood Ltd. and John Wiley & Sons.A description of DTSS c. 1977
- ^Rankin, pages 33-34
- ^Bull, page 13
- ^"The Dartmouth Time-Sharing System, A Brief Description", October 19, 1964, with revisions by GE staff, 1965
- ^abcdKemeny, John G.; Kurtz, Thomas E. (October 11, 1968)."Dartmouth Time-Sharing".Science.162(3850):223–228.Bibcode:1968Sci...162..223K.doi:10.1126/science.162.3850.223.PMID5675464.
- ^abc"Transcripts OF 1974 National Computer Conference Pioneer Day Session".Dartmouth Time Sharing System.Dartmouth College. 1974.
- ^abcdefThe Kiewit Computation Center & The Dartmouth Time-Sharing System.Dartmouth College. c. 1971.
- ^John G. Kemeny, "The GE-Dartmouth Computer Partnership", DTSS History Birth 1967-1970 Folder 2, Box 4, Garland Papers, Dartmouth College Library. Cited in Rankin, pages 25-26
- ^General Electric Computer Department, "A Preliminary Proposal for Dartmouth College, October 15, 1962", Box 1, Kurtz Papers, Dartmouth College Library. Cited in Rankin, page 26
- ^Kurtz, "Progress Report Course Content Improvement Project of 15 December 1964". Cited in Rankin, page 118
- ^J.A.N. Lee (Winter 1995). "The Rise and Fall of the General Electric Corporation Computer Department".IEEE Annals of the History of Computing.17(4):24–25.doi:10.1109/85.477434.Cited in Rankin, page 120.
- ^abcBull, page 14
- ^General Electric Information Systems Group, "Computer Time-Sharing on Campus: New Learning Power for Students", May 1968, Folder 3 of 6, DA-29 (7841) DTSS Time-Sharing, Rauner Library, Dartmouth College. Cited in Rankin, page 121
- ^"Computer History Museum's Corporate Histories Collection: Company Details - General Electric Information Services (GEIS)".Archived fromthe originalon March 24, 2009.
- ^"The 1960s".Computing at Dartmouth.Archived fromthe originalon April 25, 2015.
- ^abRobert F. Hargraves, Jr; Andrew G. Stephenson.Design considerations for an educational timesharing system.AFIPS Spring Joint Computer Conference 1969. pp.657–664.doi:10.1145/1476793.1476904.
- ^Bull, page 9
- ^Bull, pages 15, 19
- ^"Timeline - DTSS - Dartmouth Time-Sharing System".
- ^M. Douglas McIlroy(February 2017)."Communication Files: Interprocess IO before Pipes"(PDF).Dartmouth College.
- ^McIlroy, page 4
- ^John McGeachie (1973). "Multiple terminals under user program control in a time-sharing environment".Communications of the ACM.16(10):587–590.doi:10.1145/362375.362376.
- ^Robert Hargraves; Thomas Kurtz (1973). "The Dartmouth Time Sharing Network". InNorman Abramson;Franklin F. Kuo(eds.).Computer-Communication Networks.Prentice-Hall.ISBN978-0-13-165431-0.
- ^abRankin, Joy Lisi (November 1, 2018)."Tech-Bro Culture Was Written in the Code".Slate.RetrievedFebruary 18,2023.
- ^John G. Kemeny; Thomas E. Kurtz (June 1967).The Dartmouth Time-Sharing Computing System(PDF)(Technical report). p. 25. Final Report, NSF grant GE-3854.
- ^Thomas E. Kurtz (October 1968).Demonstration and Experimentation in Computer Training and Use in Secondary Schools(PDF)(Technical report). Interim Report, Grant GW-2246, "Activities and Accomplishments of the First Year".
- ^Thomas E. Kurz.Interim Report of July 1969 on the Dartmouth College Regional College Consortium(Technical report).Cited in Rankin, page 92
- ^abDartmouth College Office of Information Services, April 6, 1971, press release. Cited in Rankin, page 94
- ^Map of the Dartmouth Educational Time-Sharing Network, 1973. Cited in Rankin, page 63
- ^abcdefghKemeny, John G. (1972).Man and the Computer.New York: Charles Scribner's Sons. pp.32–37, 41.ISBN978-0-684-13009-5.LCCN72-1176.
- ^"The 1970s".The Dartmouth Computing Timeline.RetrievedFebruary 18,2023.
- ^McCracken, Harry (April 29, 2014)."Fifty Years of BASIC, the Programming Language That Made Computers Personal".Time.RetrievedMarch 19,2016.
- ^Farber, M. A. (January 24, 1970)."Dartmouth Picks a New President".The New York Times.ISSN0362-4331.RetrievedFebruary 18,2023.
- ^Bull, pages 166-167
- ^"DTSS reborn site".