15
Introduction 1 Chapter 1. Introduction History and Proliferat ion Mandate for Change What’s Good and Wrong Scope of this course

Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Embed Size (px)

Citation preview

Page 1: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 1

Chapter 1. Introduction

• History and Proliferation

• Mandate for Change

• What’s Good and Wrong

• Scope of this course

Page 2: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 2

History of UNIX

• Late 1960s, Bell Telephone Lab.

– Project with GE and MIT: Multics

– Multics was canceled in March 1969

– Ken Thompson: Space Travel game program

– UNIX on PDP-7 (DEC)

– PDP-11, B language

– 1973, released C compiler cc

– 1973, rewritten in C (version 4 UNIX)

Page 3: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 3

Proliferation of UNIX

• 1973, UC Berkeley obtained UNIX

• 1979, Version 7 UNIX (portable UNIX)

• Microsoft and SCO: XENIX on Intel 8086

• 1978, DEC 32-bit VAX-11 computer

– UNIX on VAX: UNIX/32V

– UC Berkeley: 3BSD, 1979

Page 4: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 4

Berkeley Software Distribution

• 3BSD, 1979

– paging-based virtual memory (on VAX-11)

• 4BSD by DARPA project

– Integrate TCP/IP, 4.0 BSD in 1980

– 4.1 BSD in 1981, 4.2 BSD in 1983

– 4.3 BSD in 1986

– 4.4 BSD in 1993

– UC Berkeley discontinue UNIX development

Page 5: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 5

System V

• Bell Telephone Lab.

– System III in 1982

– System V in 1983

• virtual memory different from BSD

– System V Release 2 (SVR2) in 1984

– SVR3 in 1987

• interprocess communication

– SVR4 in 1989

• security and multiprocessor

Page 6: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 6

Commercialization

• Sun Microsystems

– SunOS in 1982 (4.2 BSD-based)• Network File System (NFS)

– Solaris (SVR4-based)

• MS, SCO

– XENIX, SCO UNIX

• IBM: AIX, HP: HP-UX

• DEC: ULTRIX

– first multiprocessor UNIX

Page 7: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 7

Mach

• In mid-1980s, Carnegie-Mellon University

• Microkernel

– small set of essential services

– other functions at the user level

• Uni- and Multi-processor

• Distributed environment

• Mach 3.0: OSF/1 and NextStep

Page 8: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 8

Standards of UNIX

• Initially: AT&T System V and BSD.

• System V Interface Definition (SVID)

– System V-based

• IEEE POSIX Spec.

– Portable Operating Systems based on UNIX

– amalgam of core parts of SVR3 and 4.3BSD

– POSIX.1 in 1990

• X/Open Portability Guide

– based on POSIX.1

Page 9: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 9

OSF and UI• Open Software Foundation

– 1988: DEC + IBM + HP …

– free of AT&T license encumbrances

– 1989, Motif GUI

– OSF/1 based on Mach 2.5

• Unix International

– AT&T + Sun

– marketing SVR4

• 1990s, economic downturn + MS Windows

Page 10: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 10

Mandate for Change

• Functionality: e.g. IPC

• Networking: e.g. NFS, NIS, DCE

• Performance: e.g. Fast file system

• Hardware Changes: e.g. Multiprocessor, RAID

• Quality improvement

• Paradigm shifts

– from centralized to distributed (client-server)

Page 11: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 11

Traditional UNIX kernel

file system (s5fs)

virtual memory

loader (a.out)

block driver switch

disk driver

tape driver

character driver switch

printer driver

network driver

tty driver

kernel

Page 12: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 12

Modern UNIX kernel

commonfacilities

execswitch

vnode/vfsinterface

schedulerframework

STREAMS

block deviceswitch

virtualmemory

framework

NFSFFS

s5fs

RFS

time-sharingprocesses

real-timeprocesses

systemprocesses

tty drivernetworkdriver

tapedriver

diskdriver

filemappings

devicemappings

anonymousmappings

a.outcoff elf

Page 13: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 13

Good about UNIX

• License and source code

• UC Berkeley

• small and well-designed

• simple file system

• uniform I/O interface

• portability

Page 14: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 14

Wrong with UNIX

• lack of a simple, uniform GUI

• variants of UNIX

• standardization vs. product differentiation

• bad for code reuse

• kernel became bloated, unmodular, and co

mplex

Page 15: Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course

Introduction 15

Scope of the Course

• Modern UNIX systems

• Baseline systems

– System V, 4BSD, and Mach

• Variant systems

– SunOS, Solaris 2.x, AIX, HP-UX, ULTRIX, …

• Term project: MS Windows NT