CSC209: Software Tools and Systems Programming Administrivia More

Total Page:16

File Type:pdf, Size:1020Kb

CSC209: Software Tools and Systems Programming Administrivia More Administrivia • Email: [email protected] CSC209: Software Tools and – Email must include your name. – Please set up your mail program to use plain text, Systems Programming not html. – Email is a formal method of communication: Richard Krueger • Use proper English. • State your question clearly, with enough context. Email : [email protected] • Sign it. Office hours: BA 3234 2 More on email Course Information • Not helpful – I used the makefile you gave us, but my program • Check the course information sheet (handed doesn’t compile. What could be wrong?” out and on the course web page) for – My program gets a seg fault error message, but I – Office hours don’t know why. – Contact information • Much better – Assignment schedule – When I compile my program, I get the following error message. It seems to indicate that there is a problem • The course web page is the official source of with the following lines of code. (cut and paste error announcements. messages and code.) http://www.cs.utoronto.ca/~csc209h/ – The debugger tells me that the seg fault I’m getting is • Make sure you have the prerequisites! on the following line. I don’t see what the problem is with this line. (file included below) 3 4 Assignments Submitting Assignments • A1: Shell programming (Bourne shell) • You will be using CVS to manage and submit • A2: Manipulating files and directories (in C) your assignments. • A3: Processes (in C) • The repositories will be set up this week. • A4: Sockets (in C) • You should start learning how to use it as • The assignments are best done over a couple of soon as possible. weeks, a few hours at a time. • Do not wait until the last minute to try to • All code must work on the CDF servers to commit your assignment for the first time. receive full marks. • This week’s tutorial will cover using CVS. • Don’t wait until the last day! • See web page for tutorial information. 5 6 Plagiarism What is cheating? • “The work you submit must be your own, • Cheating is done without participation by others. It is an – copying parts or all of another student’s academic offense to hand in anything written assignment – including code from books, web sites, other by someone else without acknowledgement.” courses without attribution • You are not helping your friend when you – getting someone else to do substantial parts of give him or her a copy of your assignment. your assignment • You are hurting your friend when you ask him – giving someone else your solution or her to give you a copy of their assignment. • Cheating is not – helping to find a bug in a friend’s code (be careful) – helping each other understand man pages or 7 example code. 8 The Big Picture (in Java) The Big Picture Source code file Compile it Object file Source code file Compile it Object file Hw.java hw.c Hw.class hw FODVV+Z^ LQFOXGHVWGLRK! SXEOLFVWDWLFYRLG YRLG PDLQ 6WULQJ>@DUJV ^ PDLQ VRSULQWOQ ´+HOORµ % javac Hw.java ^ % gcc –o hw hw.c ` SULQWI ´+HOORZRUOGµ ` ` Run it in VM Process Run it Process 90 % java Hw % hw +Z 9 10 Source Code Files Compiling a program hw.c LQFOXGHVWGLRK! • What is a file? % gcc –o hw hw.c YRLG • A compiler is a program PDLQ ^ • How does the system know translates source code into SULQWI ´+HOORZRUOGµ where to find hw.c? object (machine) code. ` • Here we are running the compiler at the command line. • What is the meaning of • A shell is a program that can #include<stdio.h> ? execute another program. • What does printf really do? 11 12 Shells Object Files/Executables % gcc –o hw hw.c high address • Typical memory • The % is a shell prompt. stack layout of programs. • Shells – accept commands (programs) as Process control block (PCB) input sp (stack pointer) pc (program counter) – finds the executable ... – interprets the arguments heap – starts executing the command uninit. data • Shells also have some “built-in” init. data commands. text low address 13 14 Running a program Processes % gcc –o hw hw.c • load a program into memory • A process is an executing instance of a % hw and hand it off to the OS to program. run the program. • The OS keeps track of information about the process. – process ID – a unique non-negative integer – process state – “running”, “ready”, “blocked” – program counter – which instruction is being executed. – a list of open files – etc. 15 16 A different big picture Course Overview • Software Tools sh less vi perl gcc nedit grep ddd – Understanding the shell libc – C Interface to Unix system services – Shell programming • Systems Programming Unix system services – C – files Unix kernel (in C) – processes computer – concurrency – communication 17 18 Self Study Topics Unix History • Inspired by Ken Thompson to play Space Travel on • Using CVS - some tutorial coverage his DEC PDP-7 in 1969. • Thompson wrote the first version of Unix in • Using Unix - some tutorial coverage assembler in one month. • Dennis Ritchie and Ken Thompson ported an • Learning an editor – nedit, vi, emacs enhanced version to a PDP-11/20 in 1970. • Learning a debugger – ddd is the • Ritchie and Rudd Canaday ported a cut down version of the BCPL language to Unix, calling it B. easiest • The PDP-11 was purchased for text processing. • Readings • The first user was Bell’s Patent Department. • Pipes and C were added in 1971-73 19 20 More Unix History Why Unix? • BTL Lawyers, “License to universities, but no support.” • This led to extensive sharing. • Available on a number of platforms. • University of Toronto on the first mailing list in 1975. • Multi-user, multi-programmed. • Software Tools User Group formed in 1978. • Shares computer resources sensibly. • Canadian connection! – Bill Reeves, Brian Kernighan, Rob Pike... • Permits manipulation of files, processes, and • Berkeley Software Distribution grew out of collecting and programs. distributing bug fixes. (Led to FreeBSD, NetBSD) • Allows inter-process and inter-machine • Bill Joy started at Berkeley but joined the startup Sun communication. Microsystems in 1982. • Permits access to its operating features. • 1991, Linus Torvalds posts a note describing his experimental OS modeled on minix. 21 22 The Unix Philosophy Files and Directories • Write programs that do one thing and • “Everything is a file.” do it well. • Unix provides a file interface for all Input/Output. – regular files Try ls –l /dev and look • Write programs to work together. – directories at the permissions string. crw------- – devices brw------- • Write programs that handle text streams, • video (block) c = character, b = block because that is a universal interface. • keyboard (character) • sound (audio) • network (block) • File interface = open, read, write, close 23 24 File System Hierarchy File System Hierarchy / hard link • Everything starts in the “root” directory whose name is “/” u h usr • A directory is a file that contains directory entries. (Ch 4.3) u1 u2 u3 bin lib • A directory entry maps a file name to an F inode. csc209h symbolic krueger • An inode is the data structure that contains links IDOO information about a file, including which disk c4reidka Use df to see all the different disk blocks contain the file data. SXE partitions on CDF. UHSR 25 26 File Systems and Links Directories and Links Ch. 4.5, GLUHFWRU\ILOH 4.3, 3.2 • One file system per disk partition. 2 . • A file system can be mounted at any point in the 2 .. directory tree of another file system. 14 u 46505 home • An entry in a directory file which specifies an inode is 139412 cdrom a hard link. 201345 lib • There can be several hard links to a file, but hard % ls –l / links cannot cross file systems. drwxr-xr-x 2 root root 4096 Nov 8 17:56 bin/ drwxr-xr-x 2 root root 4096 Aug 10 14:46 cdrom/ • A soft link (symbolic link) is a small file containing the drwxrwsr-x 2 root staff 4096 Feb 8 2002 home/ path name of the linked file or directory. drwxr-xr-x 6 root root 4096 Sep 2 15:26 lib/ lrwx------ 1 root root 6 Sep 2 15:32 u -> /cdf/u/ • Soft links work across file systems. 27 28 &K Inodes and Directory Entries Stat Inode 12345 Directory Entry size eddie% stat csc209h owner UID, GID File: "csc209h" 12345 afile access time Size: 3584 Allocated Blocks: 8 modified time Filetype: Directory creation time Mode: (0755/drwxr-xr-x) link and block counts Uid: ( 0/ root) Gid: ( 517/ permissions csc209h) direct pointers Device: 0/6 Inode: 1055265 Links: 143 to file blocks Device type: 0/0 Access: Sun Aug 26 15:00:58 2001 single indirect pointer pointers to Modify: Mon Jul 23 09:26:51 2001 double indirect pointer next file Change: Mon Jul 23 09:26:51 2001 “man 2 stat” blocks shows the triple indirect pointer C function 29 30 &K Permissions Example UZ[U[U[ UHLG -DQ DOOH[HF UUU UHLG -DQ UHDGRQO\ UZUU UHLG -DQ DOOUHDG p r r GU[U[U[ UHLG -DQ GLUUHDG UZ UHLG -DQ RZQHUUHDG se rou the u g o G[[[ UUU UHLG -DQ UHDGRQO\ 1 reid 0 Jan 11 22:23 dir-search GUZ[U[U[ UHLG -DQ GLUUHDG UZ[U[U[ ---x--x--x 1 reid 0 Jan 11 22:23 dir-search/xfile GUZ[[[ UHLG -DQ GLUVHDUFK • File permissions What is the result of the following: – read, write, execute – pretty much what you think $ ls readonly • Directory permissions $ readonly – read – you can run ls on the directory $ ls dir-search Use chmod to – write – you can create and delete files in the change file directory $ dir-search/xfile permssions. – execute – you can “pass through” the directory $ cd dir-search when searching subdirectories.
Recommended publications
  • UNIX and Computer Science Spreading UNIX Around the World: by Ronda Hauben an Interview with John Lions
    Winter/Spring 1994 Celebrating 25 Years of UNIX Volume 6 No 1 "I believe all significant software movements start at the grassroots level. UNIX, after all, was not developed by the President of AT&T." Kouichi Kishida, UNIX Review, Feb., 1987 UNIX and Computer Science Spreading UNIX Around the World: by Ronda Hauben An Interview with John Lions [Editor's Note: This year, 1994, is the 25th anniversary of the [Editor's Note: Looking through some magazines in a local invention of UNIX in 1969 at Bell Labs. The following is university library, I came upon back issues of UNIX Review from a "Work In Progress" introduced at the USENIX from the mid 1980's. In these issues were articles by or inter- Summer 1993 Conference in Cincinnati, Ohio. This article is views with several of the pioneers who developed UNIX. As intended as a contribution to a discussion about the sig- part of my research for a paper about the history and devel- nificance of the UNIX breakthrough and the lessons to be opment of the early days of UNIX, I felt it would be helpful learned from it for making the next step forward.] to be able to ask some of these pioneers additional questions The Multics collaboration (1964-1968) had been created to based on the events and developments described in the UNIX "show that general-purpose, multiuser, timesharing systems Review Interviews. were viable." Based on the results of research gained at MIT Following is an interview conducted via E-mail with John using the MIT Compatible Time-Sharing System (CTSS), Lions, who wrote A Commentary on the UNIX Operating AT&T and GE agreed to work with MIT to build a "new System describing Version 6 UNIX to accompany the "UNIX hardware, a new operating system, a new file system, and a Operating System Source Code Level 6" for the students in new user interface." Though the project proceeded slowly his operating systems class at the University of New South and it took years to develop Multics, Doug Comer, a Profes- Wales in Australia.
    [Show full text]
  • The Strange Birth and Long Life of Unix - IEEE Spectrum Page 1 of 6
    The Strange Birth and Long Life of Unix - IEEE Spectrum Page 1 of 6 COMPUTING / SOFTWARE FEATURE The Strange Birth and Long Life of Unix The classic operating system turns 40, and its progeny abound By WARREN TOOMEY / DECEMBER 2011 They say that when one door closes on you, another opens. People generally offer this bit of wisdom just to lend some solace after a misfortune. But sometimes it's actually true. It certainly was for Ken Thompson and the late Dennis Ritchie, two of the greats of 20th-century information technology, when they created the Unix operating system, now considered one of the most inspiring and influential pieces of software ever written. A door had slammed shut for Thompson and Ritchie in March of 1969, when their employer, the American Telephone & Telegraph Co., withdrew from a collaborative project with the Photo: Alcatel-Lucent Massachusetts Institute of KEY FIGURES: Ken Thompson [seated] types as Dennis Ritchie looks on in 1972, shortly Technology and General Electric after they and their Bell Labs colleagues invented Unix. to create an interactive time- sharing system called Multics, which stood for "Multiplexed Information and Computing Service." Time-sharing, a technique that lets multiple people use a single computer simultaneously, had been invented only a decade earlier. Multics was to combine time-sharing with other technological advances of the era, allowing users to phone a computer from remote terminals and then read e -mail, edit documents, run calculations, and so forth. It was to be a great leap forward from the way computers were mostly being used, with people tediously preparing and submitting batch jobs on punch cards to be run one by one.
    [Show full text]
  • The Strange Birth and Long Life of Unix - IEEE Spectrum
    The Strange Birth and Long Life of Unix - IEEE Spectrum http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-li... COMPUTING / SOFTWARE FEATURE The Strange Birth and Long Life of Unix The classic operating system turns 40, and its progeny abound By WARREN TOOMEY / DECEMBER 2011 They say that when one door closes on you, another opens. People generally offer this bit of wisdom just to lend some solace after a misfortune. But sometimes it's actually true. It certainly was for Ken Thompson and the late Dennis Ritchie, two of the greats of 20th-century information technology, when they created the Unix operating system, now considered one of the most inspiring and influential pieces of software ever written. A door had slammed shut for Thompson and Ritchie in March of 1969, when their employer, the American Telephone & Telegraph Co., withdrew from a collaborative project with the Photo: Alcatel-Lucent Massachusetts Institute of KEY FIGURES: Ken Thompson [seated] types as Dennis Ritchie looks on in 1972, shortly Technology and General Electric after they and their Bell Labs colleagues invented Unix. to create an interactive time-sharing system called Multics, which stood for "Multiplexed Information and Computing Service." Time-sharing, a technique that lets multiple people use a single computer simultaneously, had been invented only a decade earlier. Multics was to combine time-sharing with other technological advances of the era, allowing users to phone a computer from remote terminals and then read e-mail, edit documents, run calculations, and so forth. It was to be a great leap forward from the way computers were mostly being used, with people tediously preparing and submitting batch jobs on punch cards to be run one by one.
    [Show full text]
  • Cannibal Code
    KIll it with Fire © 2021 by Marianne Bellotti 2 CANNIBAL CODE f technology advances in cycles, you might assume the best legacy I modernization strategy is to wait a decade or two for paradigms to shift back and leapfrog over. If only! For all that mainframes and clouds might have in common in general, they have a number of significant dif- ferences in the implementation that block easy transitions. While the architectural philosophy of time-sharing has come back in vogue, other components of technology have been advancing at a different pace. You can divide any single product into an infinite number of elements: hard- ware, software, interfaces, protocols, and so on. Then you can add specific techniques within those categories. Not all cycles are in sync. The odds of a modern piece of technology perfectly reflecting an older piece of tech- nology are as likely as finding two days where every star in the sky had the exact same position. So, the takeaway from understanding that technology advances in cycles isn’t that upgrades are easier the longer you wait, it’s that you should avoid upgrading to new technology simply because it’s new. KIll it with Fire © 2021 by Marianne Bellotti Alignable Differences and User Interfaces Without alignable differences, consumers can’t determine the value of the technology in which they are being asked to invest. Completely innovative technology is not a viable solution, because it has no refer- ence point to help it find its market. We often think of technology as being streamlined and efficient with no unnecessary bits without a clear purpose, but in fact, many forms of technology you depend on have ves- tigial features either inherited from other older forms of technology or imported later to create the illusion of feature parity.
    [Show full text]
  • A Short UNIX History How Our Culture Created Linux
    A Short UNIX History or How Our Culture Created Linux Clement T. Cole Witch Doctor Compaq [email protected] A UNIX Family History RIG CMU CMU CMU CMU OSF1 Tru64 Linux Accent Mach Mach Mach Linux . 1.X Other Players 2.5 3.0 99 Minix Multics Idris BBN GNU C 386/BSD FreeBSD Generic TCP/IP Net 2.0 Net 1.0 4BSD 4.1A UCB BSD 2BSD 3BSD 4.1BSD 4.2BSD 4.3BSD 4.3Tahoe 4.3Reno 4.4BSD Research X Windows X 10 X 11 32V 1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th Ed Ed Ed Ed Ed Ed Ed Ed Ed Ed NT/OS2 NT/Win PWB PWB/UNIX PWB 1.0 PWB 2.0 Sys III Sys V Sys V. SVR3 SVR4 SVR4/ 2 ESMP µSoft/SCO µSoft/Xenix SCO/Xenix SCO/UNIX UNIXWARE ‘72 ‘73 ‘74 ‘75 ‘76 ‘77 ‘78 ‘79 ‘80 ‘81 ‘82 ‘83 ‘84 ‘85 ‘86 ‘87 ‘88 ‘89 ‘90 ‘91 ‘92 ‘93 Clem Cole Themes ◆ Something new is really something old. ◆ The Open Source Culture predates UNIX and Linux. ◆ Evolution is good. ◆ Fighting is not always bad, but learn when it’s good enough and stop fighting. Clem Cole Agenda ◆ Technical History ◆ Legal History ◆ What it all means Clem Cole A Word on Engineers “Good programmers write good programs. Great programmers start and build upon other great programmer’s work.” Unknown origin, often attributed to Fred Brooks. Clem Cole Multics ◆ MULTiplexed Information and Computing Service ❖ or “Many Unbelievably Large Tables In Core Simultaneously.” ❖ Actually very cool system, see: The Multics system; an Examination of its Structure, Elliott I.
    [Show full text]
  • Contents of Lecture 8 on UNIX History
    Contents of Lecture 8 on UNIX History Before UNIX Origin of UNIX Commerical wars and other threats Linux Game over. UNIX won. Continued work by the original UNIX team: Plan 9 and Inferno Microkernels vs Monolithic kernels and other issues. Jonas Skeppstedt ([email protected]) Lecture 8 2014 1 / 67 CTSS The Compatible Time-Sharing System was designed at MIT in the early 1960s. Supported up to 32 simultanously logged in users: proof of the time-sharing idea. Ran on IBM 7090 with 32K 36 bit words, of which the monitor used 5K. User programs were swapped in from a magnetic drum (disk). Multilevel feedback scheduling queue. Higher priorities have shorter time quantum Initial priority (quantum) reflects size of the executable file so it can be swapped in and run. CTSS was extremely successful and used as late as 1972: basis for MULTICS. Jonas Skeppstedt ([email protected]) Lecture 8 2014 2 / 67 MULTICS Multiplexed Information and Computing Ser vice designed by MIT, AT&T, and GE. AT&T and GE provided telephone and electricity ser vices as utilities. GE also produced computers, eg the GE-645 used in MULTICS development. Why not do the same with computing power? The goal was one computer for 100,000s users in Boston (on hardware equivalent to about 386 or 486). Designed as an extension to CTSS with virtual memory and sophisticated protection (more levels than UNIX user vs superuser). MULTICS was written in PL/1 and consisted of about 300,000 lines. Jonas Skeppstedt ([email protected]) Lecture 8 2014 3 / 67 End of MULTICS Lots of people were very enthusiastic about MULTICS, including the newly graduated Ken Thompson from Berkeley.
    [Show full text]
  • The Development of the C Languageߤ
    The Development of the C Languageߤ Dennis M. Ritchie Bell Labs/Lucent Technologies Murray Hill, NJ 07974 USA [email protected] ABSTRACT The C programming language was devised in the early 1970s as a system implementation language for the nascent Unix operating system. Derived from the typeless language BCPL, it evolved a type structure; created on a tiny machine as a tool to improve a meager programming environment, it has become one of the dominant languages of today. This paper studies its evolution. Introduction This paper is about the development of the C programming language, the influences on it, and the conditions under which it was created. For the sake of brevity, I omit full descriptions of C itself, its parent B [Johnson 73] and its grandparent BCPL [Richards 79], and instead concentrate on characteristic elements of each language and how they evolved. C came into being in the years 1969-1973, in parallel with the early development of the Unix operating system; the most creative period occurred during 1972. Another spate of changes peaked between 1977 and 1979, when portability of the Unix system was being demonstrated. In the middle of this second period, the first widely available description of the language appeared: The C Programming Language, often called the ‘white book’ or ‘K&R’ [Kernighan 78]. Finally, in the middle 1980s, the language was officially standardized by the ANSI X3J11 committee, which made further changes. Until the early 1980s, although compilers existed for a variety of machine architectures and operating systems, the language was almost exclusively associated with Unix; more recently, its use has spread much more widely, and today it is among the lan- guages most commonly used throughout the computer industry.
    [Show full text]
  • CSC209: Software Tools and Systems Programming
    COURSE INTRODUCTION Software Tools EECS2031 Winter 2018 Manos Papagelis Thanks to Karen Reid and Alan J Rosenthal for material in these slides What EECS2031 is about? A useful way to think about this course is that it is about the environment in which your programs run understanding the environment developing tools: for interacting with the environment for getting information about it for influencing it learning a new language (or two) to help us Course Overview Part I (UNIX, Shell Programming) ~3 Weeks UNIX Understanding the Shell and Shell Programming Part II (C Programming) ~7 Weeks C Fundamentals, Input/Output Expressions, Selection Statements, Loops, Types Arrays, Functions Pointers, Arrays, Strings Structures, Dynamic Memory Management Part III (UNIX Programming) ~2 Weeks Processes, Signals, Pipes Self Study Topics Using Unix - some tutorial coverage Using software tools an editor – vi, emacs, nedit, … a debugger – gdb, … an IDE – eclipse, … Readings Environment Environment: EECS Computing Facility UNIX/LINUX system SSH to eecs.yorku.ca Use your EECS login and password Windows & Mac Users Windows: If you want to do some of your work on your own machine, you will need to install cygwin: http://www.cygwin.com/ MacOS: Use the “Terminal” application For my interest How many of you have UNIX/LINUX knowledge? How many of you have done some shell scripting? How many of you have programmed in C or had attended an introductory course in C? How many of you have understanding of processes, pipes, signals in
    [Show full text]
  • Berkeley Odyssey
    BERKELEY ODYSSEY Ten years of BSD history by Marshall Kirk McKusick Ken Thompson and Dennis Ritchie presented the first UNIX paper at the Symposium on Operating Systems Principles at Pur­ due University in November, 1973. Professor Bob Fabry was in attendance and immediately became interested in obtaining a f copy of the system to experiment with at Berkeley. - At the time, Berkeley had only large mainframe computer systems doing batch processing, so the first order of business was to get a PDP-11/45 suitable for running the then current Version 4 of UNIX. The Computer Science Department, together with the Mathematics Department and the Statistics Department were able to jointly purchase a PDP-11/45. In January, 1974, a Version 4 tape was delivered and UNIX was installed by graduate student ¥<~ Keith Standiford. Although Ken Thompson was not involved in the installation — as he had been for most systems up to that time — his exper­ tise was soon needed to determine the cause of several strange system crashes. Because Berkeley had only a 300 baud acoustic- coupled modem without auto answer capability, Thompson would call Standiford in the machine room and have him insert the phone into the modem; in this way Thompson was able to remote­ ly debug crash dumps from New Jersey. 9mm £££ SK wmmMm&?<%?+•*>' '-•fy&Z j?m gis£^t - WMm ^ssg®mmm m^f, ?*S£ SP mm? r^^^m^^S?^^ :%%&m. ':•! '-^SS&^i * Jfjfe BERKELEY ODYSSEY Many of the crashes were project became the first group in immediate interest in the new caused by the disk controller's the Computer Science department system.
    [Show full text]
  • Chapter 9 on the Early History and Impact of Unix Tools to Build the Tools for a New Millennium
    Chapter 9 On the Early History and Impact of Unix Tools to Build the Tools for a New Millennium “When the barbarian, advancing step by step, had discovered the native metals, and learned to melt them in the crucible and to cast them in moulds; when he had alloyed native copper with tin and produced bronze; and, finally, when by a still greater effort of thought he had invented the furnace, and produced iron from the ore, nine tenths of the battle for civilization was gained. Furnished, with iron tools capable of holding both an edge and a point, mankind were certain of attaining to civilization.” Lewis Henry Morgan “When Unix evolved within Bell Laboratories, it was not a result of some deliberate management initiative. It spread through channels of technical need and technical contact.... This was typical of the way Unix spread around Bell Laboratories.... I brought out that little hunk of history to point out that the spread and success of Unix, first in the Bell organizations and then in the rest of the world, was due to the fact that it was used, modified, and tinkered up in a whole variety of organizations.” Victor Vyssotsky “UNIX is a lever for the intellect.” John R. Mashey Iron Tools and Software Tools Our era is witnessing the birth of an important new technology, different from any in the past. This new technology is the technology of software production. The new tools of our era are tools that make it possible to produce software. Unlike the tools forged in the past, software tools are not something you can grab or hold.
    [Show full text]
  • UNIX® Evolution: 1975-1984 Part I Diversity
    UNIX® Evolution: 1975-1984 Part I ߝ Diversity Copyright © 1984, 1985, 1986 Ian F. Darwin SoftQuad Inc. Geoffrey Collyer University of Toronto ABSTRACT This article traces some of the intermediate history of the UNIX Operating System, from the mid nineteen-seventies to the early eighties. It is very slightly updated from an article that appeared as ‘‘The Evolution of UNIX from 1974 to the Present, Part 1’’ in Microsystems, November, 1984 (Vol 5, Number 11), page 44. It was intended as part 1 of 3; unfortunately that issue was also the last issue of Microsystems. This part discusses ‘‘Research UNIX’’; v6, v7 and v8, and tells the tale of many programs and subsystems that are today part of 4BSD and/or System V. 1. Introduction Nobody needs to be told that UNIX is suddenly popular today. In this article we will show you a little of where UNIX was yesterday and has been over the past decade. And, without meaning in the least to min- imise the incredible contributions of Ken Thompson and Dennis Ritchie, we will bring to light many of the others who worked on early UNIX versions, and try to show where some of the key ideas came from, and how they got into the UNIX of today. Our title says we are talking about UNIX evolution. Evolution means different things to different people. We use the term loosely, to describe the change over time among the many different UNIX variants in use both inside and outside Bell Labs. Ideas, code, and useful programs seem to have made their way back and forth ߝ like mutant genes ߝ among all the many UNIXes living in the phone company over the last decade.
    [Show full text]
  • News@UK the Newsletter of UKUUG, the UK’S Unix and Open Systems Users Group Published Electronically At
    news@UK The Newsletter of UKUUG, the UK's Unix and Open Systems Users Group Published electronically at http://www.ukuug.org/newsletter/ Volume 18, Number 2 ISSN 0965-9412 June 2009 Contents News from the Secretariat 3 Chairman's report 3 Open Tech 2009 4 EuroPython 2009 – 28th June to 4th July 2009, Birmingham, UK 4 FFII announcement: Petition to stop software patents 5 LugRadio Live 2009 announcement 5 Spring Conference report 6 Press release from the Free Software Pact 7 The Birth of UNIX 8 Instant Cloud Computing with openQRM 11 Book review: Algorithms in a Nutshell (In a Nutshell (O'Reilly)) 14 Book review: Learning JavaScript 16 Book review: MediaWiki (Wikipedia and Beyond) 17 Book review: Using Drupal 17 Book review: Masterminds of Programming 18 Book review: Ubuntu Kung Fu 19 Book review: The Google Way 20 Book review: Python for Unix and Linux System Administration 21 Contributors 22 Contacts 23 news@UK UKUUG Newsletter News from the Secretariat Jane Morrison I am very pleased to note that the Spring Conference held between the 24th and March in London was very well attended. In fact numbers really did surpass our expectations after all the gloomy reports about the recession at the beginning of the year. Since then we have been really busy organising a full schedule of events for the rest of 2009, all of which are detailed on our web site: • OpenTech 2009: Saturday 4th July • Summer Conference and Tutorials: 7th–9th August, Birmingham • Request Tracker Tutorial: 11th August, London • EuroBSDCon 2009: September 18th–20th, Cambridge • Advanced DNS Administration using BIND9: 13th October, London • Perl Tutorials: 3 separate days 24th, 25th and 26th November, London The tutorials listed above are being organised through collaboration with Josette Garcia at O'Reilly.
    [Show full text]