• go to John McCarthy's profile page
  • go to Andrew C Yao's profile page
  • go to Douglas Engelbart's profile page
  • go to A J Milner 's profile page
  • go to John Cocke 's profile page
  • go to Robert E Kahn's profile page
  • go to Richard E Stearns's profile page
  • go to Jeffrey D Ullman's profile page
  • go to A. J. Perlis 's profile page
  • go to Adi Shamir's profile page
  • go to Donald E. Knuth's profile page
  • go to E. Allen Emerson's profile page
  • go to Avi Wigderson's profile page
  • go to John Backus 's profile page
  • go to Butler W Lampson's profile page
  • go to Frances Allen's profile page
  • go to Peter Naur's profile page
  • go to Marvin Minsky 's profile page
  • go to Michael O. Rabin 's profile page
  • go to Yann LeCun's profile page
  • go to Alan Kay's profile page
  • go to Edgar F. Codd's profile page
  • go to Dennis M. Ritchie 's profile page
  • go to David Patterson's profile page

Fernando J ("Corby") Corbato DL Author Profile link

United States – 1990
Additional Materials

The MIT Whirlwind Computer

Whirlwind was an early vacuum tube research computer constructed at the MIT Servomechanisms Laboratory for the US Navy, first operational in 1951. It could initially perform about 20,000 instructions per second. Whirlwind was the first computer to use magnetic core memory; after the installation of 2048 words of core memory in 1953, it could perform about 40,000 instructions per second.

The IBM 704 Computer

The IBM 704 was an early commercial vacuum tube computer introduced by IBM in 1956. It had up to 8,192 36-bit words of core memory and could perform about 40,000 instructions per second.

The IBM 709 Computer

The IBM 709, introduced in 1958, was a more powerful successor to the IBM 704. It had 32,768 words of core memory and could perform about 42,000 integer additions per second, and introduced indirect addressing and three index registers.

The IBM 7090 and 7094 Computers

The IBM 7090, introduced in 1959, was a transistorized version of the IBM 709. It could perform about 210,000 floating additions per second.

The IBM 7094, introduced in 1962, was a more powerful successor to the IBM 7090. It could perform about 350,000 floating additions per second. It also increased the number of index registers from three to seven.

Computer Terminals and the Flexowriter

Computer terminals were initially adapted from electromechanical keyboard-printer devices that had been used for the transmission of telegrams, news, and business transactions  beginning as early as 1910. The Teletype Corporation was a major producer of such devices.

Flexowriter was another electric typewriter, originally developed for office printing of letters from paper tape. Several early computers adapted Flexowriter devices for operator input and printed output.

The General Electric 645 Computer

The GE-645,  an upgraded version of General Electric's GE-635, was announced in 1965 and delivered in 1967. Like the IBM 7xxx-series, it used 36-bit words and core memory for main storage. The CPU architecture, which had many similarities to the IBM 7094, provided an accumulator and quotient register and eight index registers. The virtual memory facility added a special register for the Descriptor Segment Base, and additional pointer registers for segment addressing. The CPU speed was about 500,000 integer additions per second.

Paging and Segmentation

Paging is a memory addressing scheme that divides addressable memory into fixed-size blocks called pages. Addresses referenced by programs are divided into a part indicating a page number, and an offset into the page. The system uses tables to map page numbers into absolute memory addresses. The tables may indicate that a page is not available in main memory; references to such a page will cause a CPU trap called a page fault, which invokes a supervisor routine that fetches the page contents into memory, possibly evicting some other page's contents first. The Ferranti Atlas was the earliest system to provide paging. In Multics, paging is invisible to user programs, except for delays when a page fault occurs.

Segmentation is an addressing scheme that divides memory addresses into a part indicating a variable-length segment, and an offset in the segment. The system uses tables to map segment numbers into the absolute memory addresses, the segment length, and permission flags. The tables may indicate that a segment is not active in main memory;  references to such a segment will cause a CPU trap called a segment fault, which activates the segment and allocates it a page table. Out-of-bounds offsets, or operations not permitted by the permission flags, are trapped by the CPU. The Burroughs B5000 system provided a version of segmentation. In Multics, segmentation is employed by programs to organize data into separately managed collections. The Multics mechanism enables multiple processes to share a segment in memory using the same page table.

Oral interviews

In 2006 Steven Webber interviewed Corbato for the Computer History Museum. They described the contents of this interview as:

Fernando Corbató reviews his early educational and naval experiences in the Eddy program during World War II. Corbató attended Cal Tech and MIT, where he received his PhD under the tutelage of Professor Phil Morse and worked with Whirlwind. A detailed exploration of Corbató's time-sharing systems projects including the Compatible Time-Sharing System (CTSS), Project MAC, and Multics completes the oral history.

The interview transcript is available here.

Arthur L. Norberg interviewed Corbató for the Charles Babbage Institute on November 14, 1990.

Corbató discusses computer science research, especially time-sharing, at the Massachusetts Institute of Technology (MIT). Topics in the first session include: Phil Morse and the establishment of the Computation Center, Corbató's management of the Computation Center, the development of the WHIRLWIND computer, John McCarthy and research on time-sharing, cooperation between International Business Machines (IBM) and MIT, and J. C. R. Licklider and the development of Project MAC. Topics in the second session include: time-sharing, the development of MULTICS by the General Electric (GE) Computer Division, IBM's reaction to MIT working with GE, the development of CTSS, the development of UNIX in cooperation with Bell Labs, interaction with the Information Processing Techniques Office of the Defense Advanced Research Projects Agency, interaction with Honeywell after they purchased GE's Computer Division, and the transformation of Project MAC into the Laboratory for Computer Science.

transcript of the interview is available here.