Operating Systems - computer science department - linux website

30
An Operating System History of Operating Systems Operating Systems Autumn 2018-2019 CS4023

Transcript of Operating Systems - computer science department - linux website

Page 1: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Operating Systems

Autumn 2018-2019

CS4023

Page 2: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Outline

1 An Operating System

2 History of Operating SystemsEarly HistoryEarly 21st CenturyUNIX and its variants

CS4023

Page 3: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

What is an Operating System?

From the user’s point of view an OS is:A program that acts as an intermediary between a user ofa computer and the computer hardwareControls and coordinates use of hardware among variousapplications and usersOperating system goals:

Execute user programs and make solving user problemseasierMake the computer system convenient to useUse the computer hardware in an efficient manner

CS4023

Page 4: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Four Levels of a Computer System

User 1 Process 2 · · · User n − 1 Process n

System and User Applications

Operating System

Computer Hardware

CS4023

Page 5: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Four Levels of a Computer System

User 1 Process 2 · · · User n − 1 Process n

System and User Applications

Operating System

Computer Hardware

System and User Applications: Application programs definethe ways in which the system resources are used to solve thecomputing problems of the users: word processors, compilers,web browsers, database systems, games

CS4023

Page 6: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Four Levels of a Computer System

User 1 Process 2 · · · User n − 1 Process n

System and User Applications

Operating System

Computer Hardware

Operating System: Controls and coordinates use of hardwareamong various applications and users

CS4023

Page 7: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Four Levels of a Computer System

User 1 Process 2 · · · User n − 1 Process n

System and User Applications

Operating System

Computer Hardware

Computer Hardware: Provides basic computing resourcessuch as CPU, memory, I/O devices

CS4023

Page 8: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Four Levels of a Computer System (contd.)

CS4023

Page 9: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Technical Point of View

OS is a resource allocatorManages all resourcesDecides between conflicting requests for efficient and fairresource use

OS is a control programControls execution of programs to prevent errors andimproper use of the computer

CS4023

Page 10: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Another Point of View

No universally accepted definition“Everything a vendor ships when you order an operatingsystem” is good approximation“The one program running at all times on the computer” isthe kernel of the OS; everything else is either a systemprogram (ships with the operating system) or anapplication program (e.g., a browser, or a paint program)

CS4023

Page 11: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

What an OS is not

An operating system is different from the (graphical)interface through which we interactAlthough on Windows there tends to be just one graphicalinterface other OSs (e.g. Linux) have several differentinterfacesThe interface may change but the OS remains the same

CS4023

Page 12: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

Outline

1 An Operating System

2 History of Operating SystemsEarly HistoryEarly 21st CenturyUNIX and its variants

CS4023

Page 13: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

The 1940s and 1950s

Operating systems evolved through several phases.1940s:

Early computers did not include operating systems1950s:

Executed one job at a timeSingle-stream batch-processing systemsIncluded technologies to smooth job-to-job transitionsPrograms and data submitted consecutively on tape

CS4023

Page 14: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

The 1960s

Batch-processing systems still in useTurnaround time (the time it takes to receive finishedreports after submission of documents or files forprocessing ) was reduced to minutes or secondsMultiprogramming: Process multiple jobs at once; onejob could use processor while other jobs used peripheraldevicesTimesharing: Advanced operating systems developed toservice multiple interactive usersReal-time systems: response within certain bounded timeperiodIn 1964 IBM announced System/360 family of mainframecomputers

CS4023

Page 15: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

The 1960s (contd.)

CTSS (Compatible Time-Sharing System) was one of thefirst time-sharing operating systems; it was developed atMIT’s Computation Center

CTSS was first demonstrated in 1961, and was operated atMIT until 1973CTSS used a modified IBM 7094 mainframe computerLouis Pouzin created a command called RUNCOM forCTSS, which executed a list of commands contained in afile (batch file)

1964: MIT, GE, Bell Labs started the MULTICS(Multiplexed Information & Computing Service) project

MULTICS was a commercial OS based on CTSSLast working copy was shut down on 31 Oct 2000

CS4023

Page 16: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

The 1970s

Primarily multimode timesharing systems:Supported batch processing, timesharing and real-timeapplicationsPersonal computing only in incipient stages fostered byearly developments in microprocessor technology (XeroxAlto)Mouse and Graphical user interfaces (GUI) developed byXerox’s PARC for the Xerox Alto computer

NetworkingThe US Department of Defense develops TCP/IP:

Standard communications protocolWidely used in military and university settings

Xerox’s Palo Alto Research Centre (PARC) – EthernetSecurity problems: Growing volumes of information passedover vulnerable communications lines −→ Encryption

CS4023

Page 17: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

The 1980s

Decade of personal computers and workstationsComputing distributed to sites at which it was neededIBM PC released in 1981Personal computers proved relatively easy to learn and useApple releases the Macintosh PC in 1984, GUI embeddedin the operating systemRichard Stallman launched the GNU (GNU’s Not UNIX)project in 1983:

Recreate and extend tools for AT&T’s UNIX operatingsystemHe disagreed with concept of paying for permission to usesoftware

CS4023

Page 18: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

The 1980s (contd.)

Transferring information between computers via networksbecame more economical and practicalClient/server computing model became widespread:

Clients request various servicesServers perform requested services

Software engineering field continued to evolveMajor thrust by the United States government aimed attighter control of Department of Defense software projects

Realizing code reusabilityGreater degree of abstraction in programming languagesMultiple threads of instructions that could executeindependently

CS4023

Page 19: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

The 1990s

Hardware performance improving exponentially1:Inexpensive processing power and storage

Execute large, complex programs on personal computersEconomical machines for extensive database andprocessing jobsMainframes rarely necessary

Operating system support for networking tasks becamestandardShift toward distributed computing rapidly accelerated:multiple independent computers performing common task

1Moore’s “Law”: number of transistors on a computer chip (a proxy forcomputing speed??) doubles every 18 months

CS4023

Page 20: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

The 1990s (contd.)

Object technology became popular in many areas ofcomputing:

Many applications written in object-oriented programminglanguages (C++, Java)Object-oriented operating systems (OOOS): objectsrepresent components of the operating systemConcepts such as inheritance and interfaces:

Exploited to create modular operating systemsEasier to maintain and extend than systems built withprevious techniques

CS4023

Page 21: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

The 1990s (contd.)

Most commercial software sold as object code:The source code not includedEnables vendors to hide proprietary information andprogramming techniques

Free and open-source software became increasinglycommon in the 1990s:

Allows individuals to examine and modify softwareFamous example: In 1991, a student in Finland, LinusTorvalds, released a rudimentary UNIX-like kernel using theGNU compilers and tools and invited contributionsworldwide

CS4023

Page 22: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

The 1990s (contd.)

Accessing OSs became increasingly user-friendly:GUI features pioneered by Xerox and Apple widely usedand improved“Plug-and-play” capabilities built into operating systems:

Enable users to add and remove hardware componentsdynamicallyNo need to manually reconfigure operating system

Microsoft Corporation became dominant:Windows operating systems (Windows 3.0 released in1990)

Employed many concepts used in early MacOS

CS4023

Page 23: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

Outline

1 An Operating System

2 History of Operating SystemsEarly HistoryEarly 21st CenturyUNIX and its variants

CS4023

Page 24: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

Cloud Computing

YouTube Video #1YouTube Video #2

CS4023

Page 25: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

Outline

1 An Operating System

2 History of Operating SystemsEarly HistoryEarly 21st CenturyUNIX and its variants

CS4023

Page 26: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

History

1964 - 69: MULTICS (Bell Labs, General Electric, MIT):All things to all peopleLarge, expensive and complex

1969: Bell Labs withdrew from the MULTICS projectA small team led by Ken Thompson began designing amore practical OS for the Bell Labs’ machines

First name: UNICS – a play on the “multi” aspect ofMULTICSSpelling evolved to UNIX

CS4023

Page 27: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

History (contd.)

Over the next few years UNIX was rewritten in Thompson’sB language and then in Denis Ritchie’s C languageAT&T was not allowed to sell UNIX

UNIX’s source code was distributed to universities for asmall fee

A group at the University of California at Berkeley modifiedthe UNIX source code to create the Berkeley SOFTWAREDistribution UNIX (BSD UNIX)

Led by Bill Joy, a co-founder of Sun Microsystems

CS4023

Page 28: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

History (contd.)

Sun Microsystems based their SunOS on BSD UNIXLater teamed up with AT&T to design Solaris, based onAT&T’s System V Release 4 UNIXAs an opposition to the AT&T and Sun Microsystemsassociation, a group of developers formed the OpenSource Foundation (OSF) to make their own version ofUNIX called OSF/1

CS4023

Page 29: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

UNIX and Linux

In 1987, Prof. Andrew Tanenbaum from the Vrije Universityin Amsterdam built Minix

A stripped-down version of UNIX for teaching OS basics ona PC.

Linus Torvalds, a Finish student, used Minix to beginwriting the open-source Linux OSToday many companies incl. IBM, HP, and Intel all offer aLinux version as an operating system option for theirserversOther UNIX clones include: OpenBSD, FreeBSD, Net-BSD,IBM’s AIX based on both System V and BSD, HP-UX (astrong competitor to Aix and Solaris)

CS4023

Page 30: Operating Systems - computer science department - linux website

An Operating SystemHistory of Operating Systems

Early HistoryEarly 21st CenturyUNIX and its variants

History (contd.)

CS4023