UNIX: Introduction Unix Family Tree (Simplified) Design Features

Total Page:16

File Type:pdf, Size:1020Kb

UNIX: Introduction Unix Family Tree (Simplified) Design Features UNIX: Introduction Unix Family Tree (Simplified) • Unix first developed in 1969 at Bell Labs (Thompson & Ritchie) 1969 First Edition 1973 Fifth Edition • Originally written in PDP-7 asm, but then (1973) 1974 rewritten in the `new' high-level language C 1975 1976 Sixth Edition ) easy to port, alter, read, etc. 1977 1978 Seventh Edition th 32V • 6 edition (\V6") was widely available (1976). 1979 3BSD 1980 4.0BSD { source avail ) people could write new tools. 1981 4.1BSD { nice features of other OSes rolled in promptly. 1982 System III 1983 System V Eighth Edition 4.2BSD SunOS • By 1978, V7 available (for both the 16-bit PDP-11 1984 SVR2 and the new 32-bit VAX-11). 1985 1986 Mach 4.3BSD SunOS 3 • Since then, two main families: 1987 SVR3 Ninth Edition 1988 4.3BSD/Tahoe { AT&T: \System V", currently SVR4. 1989 SVR4 Tenth Edition 4.3BSD/Reno { Berkeley: \BSD", currently 4.3BSD/4.4BSD. 1990 OSF/1 SunOS 4 1991 • Standardisation efforts (e.g. POSIX, X/OPEN) to 1992 Solaris homogenise. 1993 4.4BSD Solaris 2 • Best known \UNIX" today is probably linux, but also get FreeBSD, NetBSD, and (commercially) Solaris, OSF/1, IRIX, and Tru64. OS Fdns Part 4: Case Studies | UNIX Introduction 149 OS Fdns Part 4: Case Studies | UNIX Introduction 150 Design Features Structural Overview Ritchie and Thompson writing in CACM, July 74, identified the following (new) features of UNIX: Application Application Application (Process) (Process) (Process) 1. A hierarchical file system incorporating demountable volumes. 2. Compatible file, device and inter-process I/O. User System Call Interface 3. The ability to initiate asynchronous processes. Kernel Memory Process File System 4. System command language selectable on a Management Management per-user basis. Block I/O Char I/O 5. Over 100 subsystems including a dozen languages. 6. A high degree of portability. Device Driver Device Driver Device Driver Device Driver Hardware Features which were not included: • real time • Clear separation between user and kernel portions. • multiprocessor support • Processes are unit of scheduling and protection. Fixing the above is pretty hard. • All I/O looks like operations on files. OS Fdns Part 4: Case Studies | UNIX Overview 151 OS Fdns Part 4: Case Studies | UNIX Overview 152 File Abstraction Directory Hierarchy • A file is an unstructured sequence of bytes. / • Represented in user-space by a file descriptor (fd) • Operations on files are: bin/ dev/ etc/ home/ usr/ { fd = open (pathname, mode) hda hdb tty { fd = creat(pathname, mode)) steve/ jean/ { bytes = read(fd, buffer, nbytes) { count = write(fd, buffer, nbytes) unix.ps index.html { reply = seek(fd, offset, whence) { reply = close(fd) • Directories map names to files (and directories). • Devices represented by special files: • Have distinguished root directory called '/' { support above operations, although perhaps • Fully qualified pathnames ) perform traversal with bizarre semantics. from root. { also have ioctl's: allow access to • Every directory has '.' and '..' entries: refer to self device-specific functionality. and parent respectively. • Hierarchical structure supported by directory files. • Shortcut: current working directory (cwd). • In addition shell provides access to home directory as ~username (e.g. ~steve/) OS Fdns Part 4: Case Studies | UNIX Files and the Filesystem 153 OS Fdns Part 4: Case Studies | UNIX Files and the Filesystem 154 Aside: Password File File System Implementation • /etc/passwd holds list of password entries. data • Each entry roughly of the form: type mode userid groupid data user-name:encrypted-passwd:home-directory:shell size nblocks nlinks flags data • Use one-way function to encrypt passwords. timestamps (x3) data { i.e. a function which is easy to compute in one direct direction, but has a hard to compute inverse. direct blocks (x12) blocks (512) • To login: data 1. Get user name single indirect double indirect to block with 512 2. Get password single indirect entries triple indirect data 3. Encrypt password to block with 512 4. Check against version in /etc/password double indirect entries 5. If ok, instantiate login shell. • Inside kernel, a file is represented by a data • Publicly readable since lots of useful info there. structure called an index-node or i-node. • Problem: off-line attack. • Holds file meta-data: • Solution: shadow passwords (/etc/shadow) 1. Owner, permissions, reference count, etc. 2. Location on disk of actual data (file contents). • Where is the filename kept? OS Fdns Part 4: Case Studies | UNIX Files and the Filesystem 155 OS Fdns Part 4: Case Studies | UNIX Files and the Filesystem 156 Directories and Links On-Disk Structures Filename I-Node Hard Disk . 13 .. 2 Partition 1 Partition 2 hello.txt 107 / unix.ps 78 Filename I-Node . 56 .. 214 unix.ps 78 home/ bin/ doc/ Inode Data Inode Data index.html 385 Table Blocks Table Blocks misc 47 Boot-Block Super-Block Super-Block 0 1 2 i i+1 j j+1 j+2 l l+1 m steve/ jean/ hello.txt • A disk is made up of a boot block followed by one misc/ index.html unix.ps or more partitions. • (a partition is just a contiguous range of N • Directory is a file which maps filenames to i-nodes. fixed-size blocks of size k for some N and k). • An instance of a file in a directory is a (hard) link. • A Unix file-system resides within a partition. • (this is why have reference count in i-node). • Superblock contains info such as: • Directories can have at most 1 (real) link. Why? { number of blocks in file-system { number of free blocks in file-system • Also get soft- or symbolic-links: a `normal' file { start of the free-block list which contains a filename. { start of the free-inode list. { various bookkeeping information. OS Fdns Part 4: Case Studies | UNIX Files and the Filesystem 157 OS Fdns Part 4: Case Studies | UNIX Files and the Filesystem 158 Mounting File-Systems In-Memory Tables Process A process-specific Root File-System file tables / Mount 0 11 Point 1 3 2 25 Process B 3 17 4 1 0 2 bin/ dev/ etc/ usr/ home/ File-System 1 27 on /dev/hda2 2 62 3 5 4 19 N 6 hda1 hda2 hdb1 / steve/ jean/ N 32 User Space Kernel Space 0 47 acitve inode table 1 135 17 • Entire file-systems can be mounted on an existing system-wide 19 78 directory in an already mounted filesystem. open file table Inode 78 (includes any process 78 -specific info e.g. file pointer) • At very start, only `/' exists ) need to mount a root file-system. • Subsequently can mount other file-systems, e.g. • Recall process sees files as file descriptors mount("/dev/hda2", "/home", options) • In implementation these are just indices into • Provides a unified name-space: e.g. access process-specific open file table /home/steve/ directly. • Entries point to system-wide open file table. Why? • Cannot have hard links across mount points: why? • These in turn point to (in memory) inode table. • What about soft links? OS Fdns Part 4: Case Studies | UNIX Files and the Filesystem 159 OS Fdns Part 4: Case Studies | UNIX Files and the Filesystem 160 Access Control Consistency Issues Owner Group World Owner Group World • To delete a file, use the unlink system call. R W E R W E R W E R W E R W E R W E • From the shell, this is rm <filename> = 0640 = 0755 • Procedure is: 1. check if user has sufficient permissions on the • Access control information held in each inode. file (must have write access). • Three bits for each of owner, group and world: 2. check if user has sufficient permissions on the read, write and execute. directory (must have write access). 3. if ok, remove entry from directory. • What do these mean for directories? 4. Decrement reference count on inode. • In addition have setuid and setgid bits: 5. if now zero: { normally processes inherit permissions of (a) free data blocks. invoking user. (b) free inode. { setuid/setgid allow user to \become" someone • If crash: must check entire file-system: else when running a given program. { e.g. prof owns both executable test (0711 and { check if any block unreferenced. setuid), and score file (0600) { check if any block double referenced. ) any user can run it. ) it can update score file. ) but users can't cheat. OS Fdns Part 4: Case Studies | UNIX Files and the Filesystem 161 OS Fdns Part 4: Case Studies | UNIX Files and the Filesystem 162 Unix File-System: Summary Unix Processes • Files are unstructured byte streams. Kernel Address Space • Everything is a file: `normal' files, directories, Unix (shared by all) symbolic links, special files. Kernel • Hierarchy built from root (`/'). Stack Segment Address Space • Unified name-space (multiple file-systems may be grows downward as per Process mounted on any leaf directory). functions are called Free • Low-level implementation based around inodes. Space • grows upwards as more Disk contains list of inodes (along with, of course, memory allocated actual data blocks). Data Segment • Processes see file descriptors: small integers which map to system file table. Text Segment • Permissions for owner, group and everyone else. • Setuid/setgid allow for more flexible control. • Recall: a process is a program in execution. • Care needed to ensure consistency. • Have three segments: text, data and stack. • Unix processes are heavyweight. OS Fdns Part 4: Case Studies | UNIX Files and the Filesystem 163 OS Fdns Part 4: Case Studies | UNIX Processes 164 Unix Process Dynamics Start of Day • Kernel (/vmunix) loaded from disk (how?) and parent process parent process (potentially) continues execution starts. fork wait • Root file-system mounted. child zombie • process process Process 1 (/etc/init) hand-crafted.
Recommended publications
  • Windows XP History and Versions
    Lecture 23: Windows XP History and Versions n Mid-80ies Microsoft and IBM cooperated to develop OS/2 n Windows XP is produced by Microsoft Co. n 1988 - Microsoft started to develop its own new technology (NT) OS n XP is multi-user, multi-process, preemptive multitasking OS, 30M lines of source code capable of running OS/2, Windows and Unix apps. Hired Dave Cutler - architect of DEC VAX/VMS to head the design n It is developed to support multiple platforms and targeted towards enterprise workstations and server market as well as n NT v. 3.1 first released commercially July 1993 desktops n NT v 4.0 adopted Windows 95 user interface, graphics code moved into kernel to improve performance n In today’s lecture n 2000 – improved networking and laptop support, support for plug-and- u XP’s predecessors, the history of XP design, XP versions play devices, support for more processors (up to 8) and memory, u design principles becomes true multi-user through terminal server u components n XP (released Oct 2001) – update for 2000 replacement for 95/98 F hardware abstraction layer u simplifies user interface, improved reliability, performance F executive improvements, partial 64-bit support F environmental subsystems n versions F file system u desktop: XP personal – 95/98 replacement, professional – advanced features like POSIX support, some network features 1 u server: .NET – support for web/print service, clusters, large memory2 and multiple processors Design goals Components n XP is microkernel-based, modular n security – NT was C-2 certified (US
    [Show full text]
  • Marjn Norling November 2012
    Mar$n Norling November 2012 UNIX Lecture Goals • Goal 1: Know basic UNIX commands and their use from memory. • Goal 2: Know how to find informaon on more advanced UNIX commands and their use. • Goal 3: Understand the basics of regular expression paerns. • Goal 4: Know the basic loops and condi$onals for shell scrip$ng and understand how to use them. UNIX Schedule Thursday Friday 09.00-09.45 UNIX introduc$on 09.00-09.45 Bash Scrip$ng 10.00-10.45 UNIX basics 10.00-10.45 Tutorial: Bash scrip$ng 11.00-12.00 Redirects to regexp 11.00-12.00 Tips & Quesons 12.00-13.00 Lunch 12.00-13.00 Lunch 13.00-16.00 Tutorial: Basics 13.00-16.00 Tutorial: finishing up UNIX HISTORY UNIX History • 1969 – First Version of UNIX developed at Bell Labs by AT&T • 1975 – UNIX 6, the first to be widely available outside Bell Labs. The first “Berkeley So]ware Distribu$on” (BSD) is released. • 1989 – UNIX System V, the last tradi$onal UNIX version. • 1991 – Linus Torvalds begin developing Linux. “UNIX-like” • Today – UNIX itself, what’s now called “tradi$onal UNIX” is not used, except by enthusiasts. • There are many “UNIX-like” systems (also known as *nix or UN*X) that are similar to UNIX while not conforming to the Single UNIX Specificaon. • In fact, most operang systems today except windows are “UNIX like”. Single UNIX Specificaon (SUS) • Developed and maintained by the Aus$n Group, based on earlier work by the IEee and The Open Group.
    [Show full text]
  • AXIS NPS 630/632 User's Manual
    Preface Preface Thank you for purchasing the Axis NPS 630/632 Network Print Server. Our goal in developing this product is to enable you to connect your printers anywhere in your network, allowing all network users access to shared printer resources. About Axis Axis Communications, founded in 1984, is one of the world’s fastest growing companies in the printer interface and network print server market. The head quarters are located in Lund, Sweden, with subsidiaries in Boston, Tokyo, and Hong Kong. Axis Communications has a distributor network operating in more than 60 countries world-wide, marketing three product lines: Network CD- CD-ROM servers provide a flexible and cost-efficient solution for sharing ROM Servers CD-ROMs across the network. They are available in Ethernet and Token Ring versions, with or without built in drive option. Network Print These intelligent Ethernet and Token Ring print servers support a wide Servers range of LAN protocols. The Axis NPS 530, 532, 550, AXIS 150 and 152 are Ethernet print servers, and the Axis NPS 630, 632 and 650 are Token Ring print servers. IBM Mainframe These products include a wide range of plug-in interfaces and free and S/3x – AS/ standing products such as the Cobra+ and the AFP IPDS-to-PostScript 400 Printer converter. Interfaces Axis NPS 630/632 User’s Manual Version 2.0 Part No.:13768 October 1995 Copyright © Axis Communications AB Axis NPS 630/632 User’s Manual 1 Preface About this manual This manual will guide you through a simple step-by-step installation and configuration procedure.
    [Show full text]
  • Unifying the User and Kernel Environments
    Unifying the User and Kernel Environments Richard P. Draves Scott M. Cutshall March 12, 1997 Technical Report MSR-TR-97-10 Microsoft Research Microsoft Corporation One Microsoft Way Redmond, WA 98052 Unifying the User and Kernel Environments Richard P. Draves and Scott M. Cutshall Microsoft Research One Microsoft Way Redmond, WA 98052 http://www.research.microsoft.com Abstract Vendors of commercial operating systems today invest resources in two very different environments—one for user- level (application or server) programming and one for kernel-level (device driver or subsystem) programming. The kernel environment is typically more restrictive, with completely different interfaces and programming conventions. Based on our experience developing and deploying an operating system for an interactive TV system, we believe that it is desirable to unify the user and kernel environments. We structured our operating system to provide common programming and run-time environments for user-level code and kernel-level code. For example, modules loaded into the kernel did not have any restrictions on their use of shared libraries or stack space. We found that unifying the user and kernel environments with common interfaces and run-time requirements, common documentation, and a common debugger produced significant software-engineering benefits. In addition, we could transparently collocate trusted server code in the kernel to reduce memory usage and improve performance. 1. Introduction We advocate structuring operating systems to unify the user and kernel environments. The operating system should present a single environment, with common interfaces or APIs, common run-time characteristics for scheduling, paging, stack usage, and shared libraries, common debugger and development tools, etc.
    [Show full text]
  • Roadmap for Section 1.2
    Unit OS1: Overview of Operating Systems 1.2. The Evolution of Operating Systems Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Roadmap for Section 1.2. History of Operating Systems Tasks of an Operating System OS as extension of the hardware Main concepts: processes, files, system calls Operating system structuring 3 1 Operating Systems Concepts System software manages resources OS hides complexity of underlying hardware Layered architectures Banking Airline Web browser Application programs system reservation Command Compilers Editors interpreter System programs Operating system Machine language Microprogramming Hardware Physical devices 4 History of operating systems Batch processing The elements of the basic IBM 1401 system are the 1401 Processing Unit, 1402 Card Read-Punch, and 1403 Printer. Punching cards Multiprocessing programming Job 3 Job 2 Memory Job 1 partitions OS 5 2 The Evolution of Operating System Functionality Batch Job Processing Linkage of library routines to programs Management of files, I/O devices, secondary storage Multiprogramming Resource managment and sharing for multiple programs Quasi-simultaneous program execution Single user Multiuser/Timesharing Systems Management of multiple simultaneous users interconnected via terminals Fair resource management: CPU scheduling, spooling, mutual exclusion Real-Time Systems (process control systems) Management of time-critical processes High requirements with respect to reliability and availability 6 Tasks of an Operating
    [Show full text]
  • VAX VMS at 20
    1977–1997... and beyond Nothing Stops It! Of all the winning attributes of the OpenVMS operating system, perhaps its key success factor is its evolutionary spirit. Some would say OpenVMS was revolutionary. But I would prefer to call it evolutionary because its transition has been peaceful and constructive. Over a 20-year period, OpenVMS has experienced evolution in five arenas. First, it evolved from a system running on some 20 printed circuit boards to a single chip. Second, it evolved from being proprietary to open. Third, it evolved from running on CISC-based VAX to RISC-based Alpha systems. Fourth, VMS evolved from being primarily a technical oper- ating system, to a commercial operat- ing system, to a high availability mission-critical commercial operating system. And fifth, VMS evolved from time-sharing to a workstation environment, to a client/server computing style environment. The hardware has experienced a similar evolution. Just as the 16-bit PDP systems laid the groundwork for the VAX platform, VAX laid the groundwork for Alpha—the industry’s leading 64-bit systems. While the platforms have grown and changed, the success continues. Today, OpenVMS is the most flexible and adaptable operating system on the planet. What start- ed out as the concept of ‘Starlet’ in 1975 is moving into ‘Galaxy’ for the 21st century. And like the universe, there is no end in sight. —Jesse Lipcon Vice President of UNIX and OpenVMS Systems Business Unit TABLE OF CONTENTS CHAPTER I Changing the Face of Computing 4 CHAPTER II Setting the Stage 6 CHAPTER
    [Show full text]
  • MICROSOFT WINDOWS Early Versions Main Articles: Windows 1.0
    MICROSOFT WINDOWS Early versions Main articles: Windows 1.0, Windows 2.0, and Windows 2.1x Windows 1.0, the first version, released in 1985 The history of Windows dates back to September 1981, when Chase Bishop, a computer scientist, designed the first model of an electronic device and project "Interface Manager" was started. It was announced in November 1983 (after the Apple Lisa, but before the Macintosh) under the name "Windows", but Windows 1.0 was not released until November 1985.[5] Windows 1.0 achieved little popularity and was to compete with Apple's own operating system. Windows 1.0 is not a complete operating system; rather, it extends MS-DOS. The shell of Windows 1.0 is a program known as the MS- DOS Executive. Components included Calculator, Calendar, Cardfile, Clipboard viewer, Clock, Control Panel, Notepad, Paint, Reversi, Terminal and Write. Windows 1.0 does not allow overlapping windows. Instead all windows are tiled. Only modal dialog boxes may appear over other windows. Windows 2.0 was released in December 1987 and was more popular than its predecessor. It features several improvements to the user interface and memory management.[citation needed] Windows 2.03 changed the OS from tiled windows to overlapping windows. The result of this change led to Apple Computer filing a suit against Microsoft alleging infringement on Apple's copyrights.[6][7] Windows 2.0 also introduced more sophisticated keyboard shortcuts and could make use of expanded memory. Windows 2.1 was released in two different versions: Windows/286 and Windows/386. Windows/386 uses the virtual 8086 mode of Intel 80386 to multitask several DOS programs and the paged memory model to emulate expanded memory using available extended memory.
    [Show full text]
  • Thesis May Never Have Been Completed
    UvA-DARE (Digital Academic Repository) Digital Equipment Corporation (DEC): A case study of indecision, innovation and company failure Goodwin, D.T. Publication date 2016 Document Version Final published version Link to publication Citation for published version (APA): Goodwin, D. T. (2016). Digital Equipment Corporation (DEC): A case study of indecision, innovation and company failure. General rights It is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright holder(s), other than for strictly personal, individual use, unless the work is under an open content license (like Creative Commons). Disclaimer/Complaints regulations If you believe that digital publication of certain material infringes any of your rights or (privacy) interests, please let the Library know, stating your reasons. In case of a legitimate complaint, the Library will make the material inaccessible and/or remove it from the website. Please Ask the Library: https://uba.uva.nl/en/contact, or a letter to: Library of the University of Amsterdam, Secretariat, Singel 425, 1012 WP Amsterdam, The Netherlands. You will be contacted as soon as possible. UvA-DARE is a service provided by the library of the University of Amsterdam (https://dare.uva.nl) Download date:26 Sep 2021 Digital Equipment Corporation (DEC) (DEC) Corporation Digital Equipment David Thomas David Goodwin Digital Equipment Corporation (DEC): A Case Study of Indecision, Innovation and Company Failure David Thomas Goodwin Digital Equipment Corporation (DEC): A Case Study of Indecision, Innovation and Company Failure David Thomas Goodwin 1 Digital Equipment Corporation (DEC): A Case Study of Indecision, Innovation and Company Failure ACADEMISCH PROEFSCHRIFT ter verkrijging van de graad van doctor aan de Universiteit van Amsterdam op gezag van de Rector Magnificus prof.
    [Show full text]
  • 2.5 Win-History [Read-Only]
    Unit OS2: Operating System Principles 2.5. History of the Windows NT/2000/XP/2004 OS Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Copyright Notice © 2000-2005 David A. Solomon and Mark Russinovich These materials are part of the Windows Operating System Internals Curriculum Development Kit, developed by David A. Solomon and Mark E. Russinovich with Andreas Polze Microsoft has licensed these materials from David Solomon Expert Seminars, Inc. for distribution to academic organizations solely for use in academic environments (and not for commercial use) Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze 2 1 Roadmap for Section 2.5. History of NT Windows Release History and Versions New features in Windows XP/2003 Original Windows Design Goals/Culture How Development Processes evolved throughout Windows NT 3.1 Development and Windows 2000 Development Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze 3 NT Timeline first 10 years 2/89 Coding Begins 7/93 NT 3.1 Ships 9/94 NT 3.5 Ships 5/95 NT 3.51 Ships 7/96 NT 4.0 Ships 12/99 NT 5.0 a.k.a. Windows 2000 ships Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze 4 2 Unix Timeline first 20 years ’69 Coding Begins ’71 First Edition – PDP 11/20 ’73 Fourth Edition – Rewritten in C ’75 Fifth Edition – Leaves Bell Labs, basis for BSD 1.x ’79 Seventh Edition – One of the best ’82 System III ’84 4.2 BSD ’89 SVR4 Unification of Xenix, BSD, System V NT development begins Windows Operating System Internals - by David A.
    [Show full text]
  • Unix History 2.6 Unix Geschichte 2.6 1972
    1960 AT&T UNICS 1969 1970 UNIX 1 1971 UNIX 2 Unix history 2.6 Unix Geschichte 2.6 1972 Small UNIX history Kleine UNIX-Geschichte UNIX 3 1973 Represented are only the origin lines. Dargestellt sind nur die Ursprungslinien. The different influences are shown only with Apple, since they impair Die verschiedenen Einflüsse sind nur bei Apple abgebildet, da sie die the clarity strongly. Übersichtlichkeit stark beeinträchtigen. UNIX 4 Further data are: Manufacturer, operating system name as well as the Weitere Daten sind: Hersteller, Betriebssystem-Name sowie das 1973 feature year of the software. The individual versions are listed only with Erscheinungsjahr der Software. Die einzelnen Versionen sind nur bei UNIX and Linux. UNIX und Linux aufgelistet. More detailed list under: http://www.levenez.com/unix/ Detailliertere Liste unter: http://www.levenez.com/unix/ UNIX 5 1974 UNIX 6 1976 UNIX 7 Berkeley Software 1979 Distribution: BSD 1978 1980 UNIX System III Microsoft BSD 4.1 1981 XENIX 1981 1980 UNIX V UNIX 8 SUN SPIX QUNIX 1983 1985 Sun OS 1.0 1982 1981 1982 UNIX V.2 Microsoft/SCO Siemens UNIX 9 Sun OS 2.0 Dynix Venix 1984 XENIX 3.0 Sinix 1.0 1986 1985 1984 1985 1984 1984 HP IBM UNIX 10 MIPS BSD 4.2 GNU Sun OS 3.0 Andrew S. Mach HP-UX AIX/RT 2 End: 1989 MIPS OS 1985 Trix 1986 Tanenbaum: Minix 1985 1986 1986 1985 1986 1987 UNIX V.3 SGI Mach 2.0 Minix 1.0 NonStop-UX 1986 IRIX 1996 1987 1987 1988 UNIX V.4 AIX/6000 v3 BOS MIPS OS NeXT A/UX 1988 1989 1989 End: 1989 NeXTSTEP 1988 1988 1990 UNIX V.x Trusted AIX 3.1 IRIX 4.0 Mach 3.0 Linus Torvalds
    [Show full text]
  • Operating System Selection
    EARTH STATION CONTROL COMPUTER - OPERATING SYSTEM SELECTION D. Varney and L. D'Ad.dario June 11, 1991 Abstract This report describes a survey of real-time operating systems that may form a suitable platform for construction of the control software for the Green Bank OVLBI Earth Station. After considering the performance requirements, desire for standardization, hardware and software costs, and several other factors, we have selected Venix, by VenturCom, Inc. This includes a fully-preemptable real-time kernel that is compliant with UNIX interface standards, including SVID, Posix 1003.1 and 1003.4, and ABI/386. It runs on 80386 processors in the IBM-AT architecture. 1 Introduction The software requirements for the OVLBI Earth Station control computer were outlined in OVLBI- ES Memo No. 8. In the present memo, we discuss the implications for the choice of operating system (OS), evaluate several candidate OS's, and report the final selection. This will have a strong effect on the choice of hardware platform, which will be discussed in a subsequent memo. The main requirements on the OS are (1) that it provide good real-time performance for time- critical tasks, including predictable interrupt response and task switching times regardless of system loading; and (2) that it provide good support for networking, both local-- and wide-area, including the protocols commonly used at the NRAO for remote access and file transfer, namely TCP/IP. To this we add a desire for good debugging facilities to ease development, especially for real-time tasks. UNIX has become the most standard and portable operating system available.
    [Show full text]
  • Advanced Programming in the UNIX Environment
    CS631-AdvancedProgrammingintheUNIXEnvironment Slide1 CS631 - Advanced Programming in the UNIX Environment Department of Computer Science Stevens Institute of Technology Jan Schaumann [email protected] https://www.cs.stevens.edu/~jschauma/631/ Lecture 01: Introduction, UNIX history, UNIX Programming Basics August 27, 2018 CS631-AdvancedProgrammingintheUNIXEnvironment Slide2 New Rules Close your laptops! Lecture 01: Introduction, UNIX history, UNIX Programming Basics August 27, 2018 CS631-AdvancedProgrammingintheUNIXEnvironment Slide3 New Rules Close your laptops! Open your eyes! (Mind, too.) Lecture 01: Introduction, UNIX history, UNIX Programming Basics August 27, 2018 CS631-AdvancedProgrammingintheUNIXEnvironment Slide4 So far, so good... What questions do you have? Lecture 01: Introduction, UNIX history, UNIX Programming Basics August 27, 2018 CS631-AdvancedProgrammingintheUNIXEnvironment Slide5 About this class The class is called “Advanced Programming in the UNIX Environment”. It is not called: “An Introduction to Unix” “An Introduction to Programming” “An introduction to C” Lecture 01: Introduction, UNIX history, UNIX Programming Basics August 27, 2018 CS631-AdvancedProgrammingintheUNIXEnvironment Slide6 What is it? https://www.bell-labs.com/usr/dmr/www/chist.html Lecture 01: Introduction, UNIX history, UNIX Programming Basics August 27, 2018 CS631-AdvancedProgrammingintheUNIXEnvironment Slide7 In a nutshell: the ”what” $ ls /bin [ csh ed ls pwd sleep cat date expr mkdir rcmd stty chio dd hostname mt rcp sync chmod df kill mv
    [Show full text]