Life and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk

2,954 views

Published on

Mr. T. M. Vijayaraman, Ex-CTO, Persistent Systems talks about Life and Work of Ken Thompson and Dennis Ritchie.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,954
On SlideShare
0
From Embeds
0
Number of Embeds
282
Actions
Shares
0
Downloads
39
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Life and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk

  1. 1. www.persistentsys.com © 2012 Persistent Systems Ltd Life and Work of Ritchie & Thompson July 27, 2013
  2. 2. © 2012 Persistent Systems Ltd 2 ACM A. M. Turing Award Dennis MacAlistair Ritchie and Kenneth Lane Thompson United States – 1983 Citation: For their development of generic operating systems theory and specifically for the implementation of the UNIX
  3. 3. © 2012 Persistent Systems Ltd 3 Denis Ritchie (Sept 9, 1941 – Oct 12, 2011)  Born: 9 Sep1941, New York, USA  Education:  Ph. D. in Physics and Applied Mathematics, Harvard, 1967  Professional Career:  Joined Bell Laboratories as Member Technical Staff after graduation  Became head of the Bell Laboratories Computing Techniques Research Department in 1990  Retired as head of Lucent Technologies' System Software Research Department in 2007  Died on 12 October, 2011 Home Page: http://cm.bell-labs.com/who/dmr/
  4. 4. © 2012 Persistent Systems Ltd 4 Ken Thompson  Born: 4 Feb1943, New Orleans, USA  Education:  EECS Bachelor of Science (1965) and master's degree (1966), Electrical Engineering and Computer Science, University of California, Berkeley  Professional Career:  Joined Bell Laboratories as Member Technical Staff after graduation  Retired from Bell Labs in 2000 and became a Fellow at Entrisphere Inc. until 2006  Currently at Google Inc. as a Distinguished Engineer since 2006 Home Page: http://www.cs.bell-labs.com/who/ken/
  5. 5. © 2012 Persistent Systems Ltd 5 Ritchie and Thompson – Joint Awards/Honors  ACM Programming Systems and Languages Paper Award (1975)  ACM A. M. Turing Award (1983)  ACM Software System Award (1983);  IEEE Emmanuel R. Piore Award (1983)  IEEE Richard W. Hamming Medal (1990);  IEEE Computer Pioneer Award (1994);  Computer History Museum Fellow Award (1997);  1998 National Medal of Technology from President Bill Clinton; ACM SIGOPS Hall of Fame Award (2005).  Japan Prize for Information and Communications (2011).
  6. 6. © 2012 Persistent Systems Ltd 6 Video Introduction of Dennis Ritchie and Ken Thompson at the 27th Japan Prize for Information and Communications http://www.youtube.com/watch?v=IjvjqAVkvYo Duration: 8 mins
  7. 7. © 2012 Persistent Systems Ltd 7 Early Unix History – A Chronology 1940 - 1968 1941 Dennis Ritchie born 1943 Ken Thompson is born. 1963 Project MAC (Multiple Access Computers) is organized at MIT to do research on interactive computing and time-sharing systems. 1965 AT&T, GE, and Project MAC at IBM join together to develop the time-sharing system MULTICS (Multiplexed Information and Computing Service). 1966 Ken Thompson finishes studies at UCB and joins technical staff at AT&T Bell Labs to work on MULTICS. 1968 Dennis Ritchie completes work on his doctorate at Harvard and joins Bell Labs to work on MULTICS project. Adapted from http://snap.nlc.dcccd.edu/learn/drkelly/hst-hand.htm
  8. 8. © 2012 Persistent Systems Ltd 8 Early Unix History– A Chronology 1969 1969 AT&T Bell Labs drops out of MULTICS project. A system which was supposed to support 1000 on line users can barely handle three. Out of the ashes grows the most influential operating system in history. Thompson gets an idea for a new type of file system and hashes out his ideas with Ritchie and Rudd Canaday. Thompson writes first version of UNICS for PDP-7 in one month while wife is on vacation. He allocates one week each to the operating system functions: the kernel, the shell, the editor, and the assembler. He does this on a machine with 4K of 18 bit words. UNICS is pun on MULTICS and stands for Uniplexed Information and Computing Services. Name is changed to UNIX which is not an acronym. This version is in assembly language. Thompson develops the interpretive language B based upon BCPL. Ritchie improved on "B" and called it "C" Adapted from http://snap.nlc.dcccd.edu/learn/drkelly/hst-hand.htm
  9. 9. © 2012 Persistent Systems Ltd 9 Early Unix History– A Chronology 1970-1973 1970 DEC begins shipping PDP-11 and revolutionizes the computer industry by selling 250,000 systems. Bell Labs gets a PDP-11 to do text processing for the legal department. System is developed and implemented in UNIX. The standard DEC OS is never installed. 1971 The First Edition of UNIX manual is written. 1972 UNIX OS is rewritten in C which opened the door for porting. 1973 First UNIX development support group is formed in Bell Labs. Thompson delivers first UNIX paper at the ACM Symposium on Operating Systems at the Thomas J. Watson Research Center in Yorktown Heights, NY. Within six months, the number of UNIX sites triples from 16 to 48. Adapted from http://snap.nlc.dcccd.edu/learn/drkelly/hst-hand.htm
  10. 10. © 2012 Persistent Systems Ltd 10 Early Unix History– A Chronology 1974-75 1974 "The UNIX Time-Sharing System" is published in CACM by Ken Thompson and Dennis Ritchie. It is a revision of the 1973 paper. University of California at Berkeley (UCB) gets Version 4 of UNIX. Keith Standiford converts UNIX to PDP 11/45. Berkeley begins making major enhancements to UNIX and sets the stage for becoming a major distribution center for their version of UNIX. The Elements of Programming Style by Kernighan and Plauger is published. 1975 Thompson begins one year sabbatical at Berkeley. AT&T officially begins licensing UNIX to universities. Adapted from http://snap.nlc.dcccd.edu/learn/drkelly/hst-hand.htm
  11. 11. © 2012 Persistent Systems Ltd 11 Early Unix History– A Chronology 1976-77 1976 Software Tools by Kernighan and Plauger is published. Boggs and Metcalfe invent Ethernet at Xerox in Palo Alto. 1977 UK UNIX Users Group is formed as Special Interest Group (SIG) in DECUS UK. INTERACTIVE Systems develops the first commercial version of UNIX (IS/1) on a PDP-11. Adapted from http://snap.nlc.dcccd.edu/learn/drkelly/hst-hand.htm
  12. 12. © 2012 Persistent Systems Ltd 12 Early Unix History– A Chronology 1978 Bill Joy produces first Berkeley Software Distribution (BSD) of UNIX. UNIX ported to an Interdata 8/32, the first non-DEC computer to run UNIX after nearly ten years of running only on DEC equipment. UNIX is ported to a DEC VAX, but not by Thompson and Ritchie, since they had become disenchanted by DEC and its unwillingness to support UNIX. DEC's refusal to support UNIX must be one of the all time great blunders of the computer industry. The C Programming Language by Kernighan and Ritchie is published. P.J. Plauger forms Whitesmiths Ltd and writes the first commercial C compiler. The USENIX UNIX users group is formed. Doug and Larry Michels start Santa Cruz Operations, Inc. (SCO) to sell UNIX on a PC. By 1992, they grow to $175 million in revenues. Adapted from http://snap.nlc.dcccd.edu/learn/drkelly/hst-hand.htm
  13. 13. © 2012 Persistent Systems Ltd 13 Early Unix History– A Chronology 1979-80 1979 Seventh Edition UNIX PROGRAMMERS MANUAL (UNIX Version 7) is published. It is the first edition without Thompson's or Ritchie's names. It is titled "UNIX (with a TM sign) Time- Sharing System." Bell Labs starts to protect its assets. Microsoft licenses UNIX from AT&T and announces XENIX, which is soon overshadowed by MS-DOS. 1980 BSD UNIX finds its way back into Bell Labs as a new improved version. Berkeley lands large DARPA contract and forms Computer Systems Research Group (CSRG). SCO becomes a distributor for Microsoft XENIX and licenses the name XENIX because they sold their trade name DYNIX to Sequent. Adapted from http://snap.nlc.dcccd.edu/learn/drkelly/hst-hand.htm
  14. 14. © 2012 Persistent Systems Ltd 14 Early Unix History– A Chronology 1981-83 1981 The IBM PC is released running Microsoft DOS; XENIX is pushed into the background. Amdahl develops the first mainframe version of UNIX (UTS). 1982 AT&T announces official support for UNIX and its first commercial release: UNIX System III. Bill Joy, the inspiration behind BSD, leaves Berkeley to co-found Sun Microsystems. SUN gets its name from the Stanford University Network (SUN) board. Sun workstation is based on the Motorola 68000 chip running SunOS based on 4.2BSD. It includes an optional local area network based on Ethernet. HP announces support for UNIX (HP/UX) on its 9000 workstations. DEC releases ULTRIX. IBM releases CPIX. 1983 Thompson and Ritchie receive ACM Turing award for their work on UNIX. Adapted from http://snap.nlc.dcccd.edu/learn/drkelly/hst-hand.htm
  15. 15. © 2012 Persistent Systems Ltd 15 Early Unix History– A Chronology 1981-83 1981 The IBM PC is released running Microsoft DOS; XENIX is pushed into the background. Amdahl develops the first mainframe version of UNIX (UTS). 1982 AT&T announces official support for UNIX and its first commercial release: UNIX System III. Bill Joy, the inspiration behind BSD, leaves Berkeley to co-found Sun Microsystems. SUN gets its name from the Stanford University Network (SUN) board. Sun workstation is based on the Motorola 68000 chip running SunOS based on 4.2BSD. It includes an optional local area network based on Ethernet. HP announces support for UNIX (HP/UX) on its 9000 workstations. DEC releases ULTRIX. IBM releases CPIX. 1983 Thompson and Ritchie receive ACM Turing award for their work on UNIX. Adapted from http://snap.nlc.dcccd.edu/learn/drkelly/hst-hand.htm
  16. 16. © 2012 Persistent Systems Ltd 16 Video: Ken Thompson and Dennis Ritchie Explain UNIX (Bell Labs) http://www.youtube.com/watch?v=JoVQTPbD6UY Duration: 3 mins
  17. 17. © 2012 Persistent Systems Ltd 17 The UNIX-11 Time-Sharing System (CACM Paper, July 1974) http://pdos.csail.mit.edu/6.828/2004/readings/ritchie74unix.pdf  General-purpose timesharing operating system DEC PDP-11 machines  Operational from Feb 1971, the System used by the Patent Division at Murray Hill to prepare Patent Applications  Hardware (PDP 11/45)  16-bit word (8-bit byte)  144Kb of core memory – Unix occupies 42Kb  1 Mb fixed-head disk used for file system storage and swapping  4 Moving-head disks – removable 40Mb disk packs  Paper tape reader-punch, Lineprinter  Console teletype and communication interfaces for character terminals
  18. 18. © 2012 Persistent Systems Ltd 18 The UNIX-11 Time-Sharing System (CACM Paper)  In addition to the system proper  C Compiler  Text Editor  Linkloader  Symbolic Debugger  BASIC Interpreter  Fortran Compiler  SNOBOL Interpreter  Top-down Compiler Compiler (TMG)  Bottom up Compiler Compiler (YACC)  Macro processor
  19. 19. © 2012 Persistent Systems Ltd 19 The UNIX-11 Time-Sharing System (CACM Paper)  File System - Rooted  Ordinary Files  Directories  Special Files  Mountable File Systems  Access Control  Read, write, and execute permissions for the Owner and Other users  Set-uid bit  Notion of a Super User
  20. 20. © 2012 Persistent Systems Ltd 20 The UNIX-11 Time-Sharing System (CACM Paper)  File System – I/O calls  Simple – no distinction between “random” and sequential I/O Filep=open(name, flag) n=read(filep,buffer,count) n=write(filep,buffer,count) location=seek(filep,base,offset)
  21. 21. © 2012 Persistent Systems Ltd 21 The UNIX-11 Time-Sharing System (CACM Paper)  File System – Implementation  Directory contains filename and pointer to the file i-number  i-number is an index to the system table i-list  The entry (i-node) contains the file description: • Its owner • Its protection bits • The physical disk address for its contents • Its size • Time of last modification • The number of links to the file • Bits for directory, special file etc.  Common Buffer Pool
  22. 22. © 2012 Persistent Systems Ltd 22 The UNIX-11 Time-Sharing System (CACM Paper)  Processes and Images  processid = fork() Splits into two independent processes Program can test the return value to identify child or parent  execute (file, arg1, arg2, …., argn)  processid = wait()  Exit(status)
  23. 23. © 2012 Persistent Systems Ltd 23 The UNIX-11 Time-Sharing System (CACM Paper)  Processes, Images, Pipes  processid = fork() Splits into two independent processes Program can test the return value to identify child or parent  execute (file, arg1, arg2, …., argn)  processid = wait()  Exit(status)  Filep = pipe() interprocess channel - filedescriptor
  24. 24. © 2012 Persistent Systems Ltd 24 The UNIX-11 Time-Sharing System (CACM Paper)  The Shell  Command arg1, arg2, … , argn)  Standard I/O and file redirection  stdin, stdout, stderr (file descriptors 0, 1 and 2)  ed <script  Filters e.g. ls | pr -2 | opr  processid = wait()  Multitasking  Shell itself as a command  Init
  25. 25. © 2012 Persistent Systems Ltd 25 The UNIX-11 Time-Sharing System (CACM Paper)  Perspective  Success of UNIX attributed to the fact that it was not designed to meet any predefined objective  Three considerations  A system to make it easy to write, test, and run programs  Made under sever size constraint – economy but also elegance  The system maintains itself – all source code etc. available to early users.
  26. 26. © 2012 Persistent Systems Ltd 26 Unix Critcs and Detractors  The UNIX-Hater’s Handbook Edited by Simson Garfinkel, Daniel Weise,and Steven Strassmann http://web.mit.edu/~simsong/www/ugh.pdf
  27. 27. © 2012 Persistent Systems Ltd 27  Portable OS and Standard OS  Networking and Internet  Itself not “open source” or “public domain” - yet laid the seed  GNU – Richard Stallman  Minix – Tanenbaum  Linux – Linus Trovalds  Android and other mobile operating systems Impacts
  28. 28. © 2012 Persistent Systems Ltd 28 Video: Dennis Ritchie - Write in C http://www.youtube.com/watch?v=H4YRPdRXKFs Duration: 4 mins
  29. 29. © 2012 Persistent Systems Ltd 2929 © 2012 Persistent Systems Ltd Thank You Persistent Systems Limited www.persistentsys.com

×