ICS 54 Klefstad Course Introduction Course topics Motivation About the course Summary of Unix features History Course topics . Unix . a popular operating system started in 1969 at AT&T's Bell Labs . Berkeley Unix is one of the most popular versions of Unix . C++ . C is a popular systems programming language . ANSI C is a standard, improved version of C . C++ is an object-oriented programming language based on C Motivation . knowledge of Unix and C++ is useful here at UCI and in your career . expertise will increase your efficiency and effectiveness . mastery of one operating system and programming language will make it easier for you to learn others later . practical experience through homework and quizzes About the course . course will follow an excellent textbook . will start with basics and overview . will cover several topics in depth possibly including: . utilities: vi, emacs, filters, and pipelines . shell: usage and programming . C-level systems programming: to write new tools . networking: rlogin, ftp, uucp, sockets . program maintenance: debugger, make, RCS . document formatting: LaTeX, spell, xfig, tpic . windowing systems: wm, X-Windows Summary of Unix features . multi-user time-sharing operating system . hierarchical file system . files (terminals) . directories (internal nodes) . root directory . file access control . super users vs. regular users . groups . file protection . compatible input/output for files, devices, and processes . redirection of I/O provides great flexibility and power . compactness and efficiency . small kernel - easy to port to a new computer . large (growing) number of programs providing different functionality . concurrent processes . both users and programs can create and manage multiple concurrent processes . concurrent processes may be composed with pipelines or sockets . many utilities . text editors, language processors, document processors, electronic mail, file manipulation, database, software engineering, networking, and many more . a general command processor shell . user customizable . may be replaces/redefined . many exist: bourne, csh, tcsh, etc . portability . easy to make Unix work on a new computer . Unix is written in C . machine-specific portions are isolated . extensible/customizable . shell and tools can be combined or redefined . new tools can be written in C or shell language History . Unix was first began in 1969 by Rudd Canaday, Ken Thompson, and Dennis Ritchie at AT&T's Bell Labs. . they wanted a simple, but powerful, programming environment . C was developed for writing Unix . Unix was re-written in C in 1973 . 7th edition of Unix was released in 1979 . Prof. R. S. Fabry at U. C. Berkeley added vi, csh, virtual memory to release Berkeley Unix 4.1 in 1981 . added new file system, full networking, interprocess communication for Unix 4.2 in 1983 . added job control for Unix 4.3 in 1986 . Bell Labs has their own version currently called 'System V' Unix . numerous other versions including: . HP-UX (Hewlett-Packard) . Ultrix (DEC) . AIX (IBM) . XENIX (Microsoft)