lecture 1 a short history of operating systems l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Lecture 1: A Short History of Operating Systems PowerPoint Presentation
Download Presentation
Lecture 1: A Short History of Operating Systems

Loading in 2 Seconds...

play fullscreen
1 / 39

Lecture 1: A Short History of Operating Systems - PowerPoint PPT Presentation


  • 529 Views
  • Uploaded on

Lecture 1: A Short History of Operating Systems Early Computers First Computer Charles Babbage (1791-1871) designed the first true digital computer called the analytical engine . That was purely mechanical and intended to do math operations

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Lecture 1: A Short History of Operating Systems


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
early computers
Early Computers
  • First Computer
    • Charles Babbage (1791-1871) designed

the first true digital computer called

the analytical engine.

    • That was purely mechanical and

intended to do math operations

    • The engine was supposed to be made of brass, and steam powered
    • He did not actually built the machine but inspired others in the field.
    • He had previously designed and started building a special-purpose “computer” called Difference Engine
slide3

In 1991, on the occasion of the 200th anniversary of the birth of Charles Babbage, the Science Museum in Kensington, England, constructed a complete Difference Engine from the drawings left behind by Babbage. They found only two major errors in the drawings; they were easy to remedy.

early computers4
Early Computers

Babbage also thought of the concept of software

And hired the first programmer (Lady Ada, Countess of Lovelace) for his analytical engine

From Ada Lovelace’s notes: The analytical machine was suited for "developing [!!!] and tabulating any function whatever. . . the engine [is] the material expression of any indefinite function of any degree of generality and complexity."

Ada language named in her honor

history of operating systems 1
History of Operating Systems (1)
  • First generation 1945 - 1955
    • Technology: vacuum tubes & plugboards
    • Programming: setting some switches
    • Programming language: machine language
    • Tasks: tables of sine, cosine, logarithms
    • OS: none
  • Computer designer is:
    • builder and
    • programmer and
    • operator and
    • “sys admin”

Program from those days:

a famous remark 1943
A Famous Remark (1943)
  • "I think there is a world market for maybe five computers."
    • Thomas Watson, chairman of IBM
history of operating systems 2
History of Operating Systems (2)
  • Second generation 1955 – 1965
    • Technology: Transistors
    • Programming: Punched cards
    • Programming languages: FORTRAN & Assembly
    • Tasks: Scientific
    • Computer: Mainframes
    • OS: Batch system
  • Universities started to buy computers (millions $)
  • Separation between computer designers, builders, operators, programmers and maintenance personnel.
slide8

Early Batch System

  • bring cards to IBM 1401 machine (good at card reading)
  • read cards to tape
  • put tape on IBM 7094 which does computing
  • put tape on IBM 1401 which prints output offline
a famous remark 1957
A Famous Remark (1957)
  • "I have traveled the length and breadth of this country and talked with the best people, and I can assure you that data processing is a fad that won't last out the year.“
    • The editor in charge of business books for Prentice Hall
history of operating systems 3
History of Operating Systems (3)
  • Third generation 1965 – 1980
    • Technology: ICs
    • Programming: Punched cards
    • Programming languages: FORTRAN & Assembly
    • Tasks: Scientific & commercial
    • Computers: IBM 360, DEC PDPs
    • OS: Multiprogramming/timesharing, spooling
  • OSes Developed:
    • MULTICS (father of all modern OSes)
    • UNIX (System V, BSD)
    • POSIX (by IEEE)
    • MINIX (by Tanenbaum)
    • Linux (derived from MINIX)
a famous remark 1977
A Famous Remark (1977)
  • “There is no reason anyone would want a computer in their home.“
    • Ken Olson, president, chairman and founder of Digital Equipment Corp.
history of operating systems 4
History of Operating Systems (4)
  • Fourth generation 1980-Present
    • Technology: VLSI
    • Programming: High level
    • Programming languages: C/C++, Java, ……
    • Computer: PC
    • OS: Windows, MacOS, Linux ……
  • Cheap PCs
slide13

A Famous Remark (1989)

  • “We don't see Windows as a long-term graphical interface for the masses.“
    • A Lotus Software Development official, while demonstrating a new DOS version
operating systems 1
Operating Systems (1)
  • Mainframe operating systems
    • Room-size computers
    • High I/O capacity
    • Offers:
      • Batch processing (no interaction, such as large reports)
      • Transaction processing (large number of small requests)
      • Timesharing (multiple users sitting in front of clients)
famous forecast 1949
Famous Forecast (1949)
  • "Computers in the future may weigh no more than 1.5 tons."
    • Popular Mechanics, forecasting the relentless march of science, 1949
operating systems 2
Operating Systems (2)
  • Server operating systems
    • Offer services like print, file, or web
    • UNIX, Windows 2000, Linux
  • Multiprocessor operating systems
    • Parallel computing
  • Personal computer operating systems
    • Single user with a good GUI, such as Windows (98, 2000, XP, Vista?), Macintosh OS, Linux
operating systems 3
Operating Systems (3)
  • Real-time operating systems
    • E.g. industrial process control systems where each job must be completed in the specified time.
    • Hard real-time (nuclear reactor control systems) or soft-real time systems (e.g multimedia systems) depending on the acceptance of missing deadlines
  • Embedded operating systems:
    • Real-time systems with some resource constraints like memory, CPU, power.
  • Smart card operating systems
    • Extremely primitive OS running on credit card sized devices with a CPU.
slide18
Influential operating systems
    • Atlas, CTSS, MULTICS, IBM OS/360, UNIX, Alto, Mach
  • Case studies
    • Linux
    • Windows XP
influential operating systems
Influential operating systems
  • Atlas (1961), University of Manchester
    • batch system with spooling (uses disk as buffer for reading ahead or storing output)
    • introduced many OS features: device drivers, demand paging, reference bit
  • CTSS (1962), MIT
    • first practical timesharing system, supported up to 32 users at terminals
    • CPU scheduling involved priorities, multilevel feedback queue to age programs
    • swapped entire program out to fast drum
  • MULTICS (1965), MIT (+ GE + Bell Labs)
    • designed as a general-purpose extension to CTSS (~300,000 lines of code)
    • utilized paged segments, multilevel feedback queue
    • hierarchical directory structure, protection via access lists
    • not fully functional until 1969
  • OS/360 (1966), IBM
    • designed as a common OS for all IBM computers
    • reduced development & maintenance costs, allowed migration of users & programs
    • suffered from bloated code, too many complex & interleaved features
influential operating systems20
Influential operating systems
  • UNIX (1972), Bell Labs
    • first portable OS, written entirely in C (developed by Thompson & Ritchie)
    • open source for academic use, led to BSD UNIX & other variants
  • Alto (1978), Xerox PARC
    • introduced modern GUI interface, WIMP
    • viewed by Jobs, co-opted for Apple Mac OS (and eventually Windows)
  • Mach (1986), CMU
    • built upon the BSD UNIX kernel
    • goals: emulate BSD, support memory models & parallel/distributed, microkernel
    • provided support for multiprocessing, threads
    • versions of Mach underlie the NeXT OS, Mac OS X
multics mult iplexed i nformation and c omputing s ervice
MULTICS : MULTiplexed Information andComputing Service
  • Multics is a timesharing OS begun in 1965 and used until 2000.
  • Primary usage was with a mainframe and multiple terminals.
  • CPUs, memory, I/O controllers, disk drives could be added or removed while the system is running
mult iplexed i nformation and c omputing s ervice
MULTiplexed Information andComputing Service
  • Designed to run 24/7
  • Changed the idea of the computer from being a tool for scientists to a reliable and powerful resource for a large number of people
brief history
Brief History
  • Joint project between MIT, Bell Labs, and GE
  • Bell labs withdrew in 1969
  • GE Sold its computer business to Honeywell in 1970 who sold Multics as a commercial product
features
Features
  • High-level language implementation
  • On-line reconfiguration
  • Large virtual memory with segments, paging, and generalized addresses
  • First hierarchical file system
  • Dynamic linking and function call by name
  • Shared memory multiprocessor
  • Security and rings
language implementation
Language Implementation
  • Written in PL/I language
  • In 1965 this was a new proposal by IBM
  • Only a small part of the OS was written in assembly
  • Writing an OS in a high-level language was a radical idea at the time
operating systems evolution
Operating Systems Evolution

IBSYS

IOCS

55

60

65

70

75

80

85

90

95

00

03

CTSS

DOS/360

OS/360

MULTICS

CP/CM5

RSX-11M

UNIX

TSO

RT-11

CP/M

UNIXV.7

VMS 1.0

DOS/VDSE

MVS/370

VM/370

4.1BSD

XENIX

MS-DOS 1.0

SYSTEM III

DR/DOS

SUN OS

4.2BSD

VS

MVS/XA

VM/XA

SYSTEM V

AIX

OS/2

POSIX

MACH

WIN 3.0

OSF/1

4.3BSD

VMS 5.4

WIN 3.1

AIX/370

SYSTEM V.4

VS/ESA

MVS/ES

VM/ESA

AIX/ESA

SOLARIS 2

LINUX

4.4BSD

WIN NT

WIN 9X

VMS 7.3

WIN 2000

LINUX 2.6

WIN XP

SOLARIS 10

WIN Server 2003

linux history
Linux history
  • Linux is a modern, free operating system based on UNIX standards
    • first developed as a small but self-contained kernel in 1991 by Linus Torvalds, with the major design goal of UNIX compatibility.
    • its history has been one of collaboration by many users from all around the world, corresponding almost exclusively over the Internet
    • it has been designed to run efficiently and reliably on common PC hardware, but also runs on a variety of other platforms (68000-series, Sun SPARC, PowerMac, …)
  • Linux kernel is original, but full system incorporates existing UNIX software
    • uses many tools developed as part of Berkeley’s BSD operating system, MIT’s X Window System, and the Free Software Foundation's GNU project
    • Linux kernel is distributed under the GNU General Public License (GPL): free to modify code but cannot make proprietary; also must distribute source code
    • many companies (e.g., Slackware, Red Hat, Debian/GNU, Mandrake) market Linux distributions: precompiled Linux packages with installation and management utilities
linux design principles
Linux design principles
  • Linux is a multiuser, multitasking system with UNIX-compatible tools
    • its file system adheres to traditional UNIX semantics, and it fully implements the standard UNIX networking model
    • main design goals are speed, efficiency, and standardization
    • Linux is designed to be compliant with the relevant POSIX documents

like most UNIX implementations, Linux is composed of 3 main bodies of code:

  • system utilities perform individual specialized management tasks
  • system libraries define standard set of functions through which apps interact with the kernel
  • kernel is responsible for maintaining the important abstractions of the OS
    • executes in unrestricted kernel mode
    • all kernel code & data in one address space
windows xp history goals
Windows XP history & goals
  • Microsoft Windows XP is a 32/64-bit preemptive multitasking OS
    • successor of Windows NT/2000, replaces Windows 95/98
    • released in October 2001, server version in 2002
    • introduced "better" visual design, simpler menus, easier HCI
    • multiuser support through multiple instances of GUI via Windows terminal server
  • design goals
    • security: strict adherence to design standards, extensive code review & testing

utilizes sophisticated automatic analysis tools to identify security vulnerabilities

    • reliability: most reliable, stable version of Windows

extensive manual and automatic code review, driver verification & error-checking

    • compatibility: introduces compatibility layer to ensure execution of older software

also provides POSIX support, so can compile and run most UNIX software

    • performance: uses a variety of techniques to build on performance of 2000/NT
    • extensibility: uses a layered architecture to allow for changes/updates
    • portability: mostly written in C/C++

CPU-dependent code isolated in hardware-abstraction layer (HAL)

    • international support: uses UNICODE, provides support for local languages/formats
xp layered architecture
XP layered architecture
  • hardware abstraction layer (HAL) hides hardware differences from the OS
  • kernel provides the foundation for the executive and the subsystems
  • executive provides services, including process manager, VM manager, I/O manager
  • environmental subsystems are user-mode processes that enable XP to run processes developed for other OS's (Win32 is base)
hyper threading
Hyper-threading
  • since 2002, Intel Xeon & Pentium 4 processors have supported Hyper-Threading Technology (HT)
    • two architectural states (registers, IC, …) are available on the same processor
    • each state can execute an instruction stream (virtually) concurrently

 a single physical processor behaves as two logical processors

    • while it looks like two processors, the execution engine, on-board cache, and system bus interface are shared
    • Intel claims 10-30% gain in performance on standard test suites
      • (depends upon how much resource sharing goes on between threads)
dual cores

P1

P2

L1

L2

L3

L4

Dual cores
  • with the new Intel Core Duo processor, two separate execution cores are embedded in the same chip
    • can achieve true parallelism –

have two threads running concurrently

  • with hyper-threading, will appear to the OS as 4 logical processors
windows 7 2010
Windows 7 – 2010(?)
  • Windows 7 (formerly codenamed Blackcomb, then Vienna) is a future version of Microsoft Windows.
  • It will include a new version of Windows Explorer that is being built by the same team that designed the Ribbon user interface in Office 2007.
  • It will likely include some form of the "Hypervisor" (Windows Virtualization) technologies that will ship shortly after Windows Server 2008.
  • It will also likely include the WinFS (Windows Future Storage) technologies, though they won't be packaged or branded as WinFS.
  • Microsoft says it might also make a subscription-based version of the OS available to consumers, but that's still in flux

Source : Wikipedia, Paul Thurrott’s web site

review what is an os

Doom, XXI

gcc

emacs

OS

hardware

Review: What is an OS?
  • software between applications and reality:
    • abstracts hardware and makes portable
    • makes finite into (near)infinite
    • provides protection
what if
What If?
  • Process abstraction looked just like hardware!

Doom,XXI

gcc

emacs

OS

OS

hardware

hardware

OS/Virtual Machine Monitor

hardware

virtual machines
Virtual Machines
  • A virtual machine treats hardware and the operating system kernel as though they were all hardware.
  • A virtual machine provides an interface identical to the underlying bare hardware.
  • For example, the operating system creates the illusion of multiple processes, each executing on its own processor with its own (virtual) memory.
  • The resources of the physical computer are shared to create the virtual machines.
  • A normal user time-sharing terminal serves as the virtual machine operator’s console.
system models
System Models

Virtual Machine

Non-virtual Machine