24
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 1 Chapter 1: Introduction Chapter 1: Introduction What is an Operating System? What are the components of an OS? What does an OS do? Short History of OSs Different types of OSs

Silberschatz / OS Concepts

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 1

Chapter 1: IntroductionChapter 1: Introduction

What is an Operating System?What are the components of an OS?What does an OS do?Short History of OSsDifferent types of OSs

Page 2: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 2

What is an Operating System?What is an Operating System?

A program that acts as an intermediary between a user of a computer and the computer hardware.

Operating system goals: Execute user programs and make solving user

problems easier. Make the computer system convenient to use.

Use the computer hardware in an efficient manner.

Page 3: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 3

Computer System ComponentsComputer System Components

1.Hardware – provides basic computing resources (CPU, memory, I/O devices).

2.Operating system – controls and coordinates the use of the hardware among the various application programs for the various users.

3.Applications programs – define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs).

4.Users - (people, machines, other computers).

Page 4: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 4

Abstract View of System ComponentsAbstract View of System Components

Page 5: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 5

System ComponentsSystem Components

The operating system run in kernel or supervisor mode - protected from user tamperingCompilers, editors and application programs run in user mode

Instruction Set Architecture

Physical devices grouped together to form functional units

Integrated circuit chips, power supply, CRT

Hides the complexity of machine language from programmer

Page 6: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 6

Functions of an OSFunctions of an OS

User Environment - OS layer transforms bare hardware machine into higher level abstractions Execution environment - process management,

file manipulation, interrupt handling, I/O operations, language.

Error detection and handling Protection and security Fault tolerance and failure recovery

Page 7: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 7

Functions of an OSFunctions of an OS

Resource Management Time management

CPU and disk transfer scheduling Space management

main and secondary storage allocation Synchronization and deadlock handling

IPC, critical section, coordination Accounting and status information

resource usage tracking

Page 8: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 8

History of Operating SystemsHistory of Operating Systems

Pre-electronic Charles Babbage (1792-1871) “analytical

machine” Purely mechanical, failed because technology

could not produce the required wheels, cog, gears to the required precision

First generation 1945 - 1955 Aiken, von Neumann, Eckert, Mauchley and Zuse programming done via plugboards, no OS or

language vacuum tubes

Page 9: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 9

History of Operating SystemsHistory of Operating SystemsSecond generation 1955 - 1965 transistors more reliable than vacuum tubes jobs read in via punched cards batch systems introduced to reduce wasted

time in setting up and running jobs

•bring cards to 1401•read cards to tape offline•put tape on 7094 which does computing•put tape on 1401 which prints output offline

Page 10: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 10

History of Operating SystemsHistory of Operating SystemsThird generation 1965 – 1980 IBM System/360: combine business and scientific computers into

one machine Computer will grow with client(memory, processor speed, number

of I/O devices etc.) Forerunner of 370, 4300, 3080 and 3090 Use of integrated circuits provided major price/performance

advantage over 2nd generation OS/360 had to meet conflicting needs which resulted in enormous

and complex operating system Introduced multiprogramming to make most efficient use of CPU

Spooling: read jobs from cards to disk ready to load into memory and queue output to disk for printing

Page 11: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 11

History of Operating SystemsHistory of Operating SystemsIn batch, total time from submitting a job to getting the output was a few hours, very unproductive for programmersTimesharing (a variant of multiprogramming) provides for user interaction with the computer system On-line communication between the user and the system is

provided; when the operating system finishes the execution of one command, it seeks the next “control statement” from the user’s keyboard.

The CPU is multiplexed among several jobs that are kept in memory and on disk (the CPU is allocated to a job only if the job is in memory).

takes advantage of the idle CPU switch occurs so frequently that the user can interact with each program

as it is running each command is short so only a little CPU time is needed for each user each user is given the impression that the entire system is dedicated to

his use Batch jobs could be running in background CTSS (Compatible Time Sharing System - MIT) was first success

Minicomputers and the development of UNIX UNIX was stripped down, one user version of MULTICS (extension of CTSS) Numerous variants : System V, BSD, POSIX (IEEE), MINIX, Linux

Page 12: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 12

History of Operating SystemsHistory of Operating SystemsFourth generation 1980 – present Large Scale Integrated chips personal computers 1974: Intel developed 8080 chip (8 bit CPU), Gary Kildall wrote

CP/M OS (Intel gave him the rights) and formed Digital Research Early 1980s: IBM designed IBM PC. Bill Gates had BASIC

interpreter and recommended DR as an OS. Kildall sent subordinate to meeting and refused to sign non-disclosure. Gates was asked for an OS, bought DOS from Seattle Computer Products and offered IBM DOS/BASIC package. Renamed it MS -DOS

Early Windows versions ran on top of DOS, Windows 95 and beyond and NT were full fledged OSs

Network Operating Systems (user sees multiple computers) Distributed Operating Systems (user sees one processor)

Page 13: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 13

Mainframe SystemsMainframe SystemsFirst computers used to solve many commercial and scientific applications evolved from batch time shared systems

Reduce setup time by batching similar jobs serial card readers were initial input device then disks

enabled job scheduling by the operating systemAutomatic job sequencing – automatically transfers control from one job to another. first rudimentary operating system. CPU often idle because of great differences in speed

between mechanical I/O vs. electronic devicesEarly OS called resident monitor initial control in monitor control transfers to job when job completes control transfers pack to monitor eliminated intervention by programmer

Page 14: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 14

Memory Layout for a Simple Batch SystemMemory Layout for a Simple Batch System

Page 15: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 15

Multiprogrammed Batch SystemsMultiprogrammed Batch SystemsSeveral jobs from the pool of all submitted jobs are kept in main memory at the same time, and the CPU is multiplexed among them.

Page 16: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 16

OS Features Needed for MultiprogrammingOS Features Needed for Multiprogramming

Why multiprogramming? Increases CPU utilization by trying to always

keep the CPU busy processing some job I/O of one job causes switch to another job

Memory management – the system must allocate the memory to several jobs.CPU scheduling – the system must choose among several jobs ready to run.Allocation of devices.

Page 17: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 17

Desktop SystemsDesktop SystemsPersonal computers – computer system dedicated to a single user.I/O devices – keyboards, mice, display screens, small printers.User convenience and responsiveness.Can adopt technology developed for larger operating systems. Often individuals have sole use of computer and do not need advanced CPU utilization of protection features.May run several different types of operating systems (Windows, MacOS, UNIX, Linux)

Page 18: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 18

Parallel SystemsParallel SystemsMultiprocessor systems with more than on CPU in close communication.Tightly coupled system – processors share memory and a clock; communication usually takes place through the shared memory.Advantages of parallel system: Increased throughput with more processors Economical – share peripherals, mass storage,

power etc. as opposed to individual PCs Increased reliability

graceful degradation / fault tolerant failure of one processor will slow down but not halt the

system other processors pick up the slack

Page 19: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 19

Parallel Systems (Cont.)Parallel Systems (Cont.)

Symmetric multiprocessing (SMP) Each processor runs and

identical copy of the operating system.

Many processes can run at once without performance deterioration.

Most modern operating systems support SMP

Asymmetric multiprocessing Each processor is assigned a specific task; controlling processor

schedules and allocates work to other processors. More common in extremely large systems

Page 20: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 20

Distributed SystemsDistributed Systems

Distribute the computation among several physical processors.Loosely coupled system – each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines.Advantages of distributed systems. Resource sharing Computation speed up – load sharing Reliability Communications between processors and processes

Page 21: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 21

Distributed Systems (cont)Distributed Systems (cont)

Requires networking infrastructure. TCP/IP is the most common network protocol

Local area networks (LAN) or Wide area networks (WAN)May be either client-server or peer-to-peer systems.

Page 22: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 22

Real-Time SystemsReal-Time Systems

Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems.Well-defined, fixed time constraints.Hard real-time: Secondary storage limited or absent, data stored in short term

memory, or read-only memory (ROM) Not supported by general-purpose operating systems.

Soft real-time Limited utility in industrial control of robotics Useful in applications (multimedia, virtual reality) requiring

advanced operating-system features.

Page 23: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 23

Handheld SystemsHandheld Systems

Personal Digital Assistants (PDAs)Cellular telephonesIssues: Limited memory (512KB to 8MB) requires

efficient management Slow processors Small display screens.

Page 24: Silberschatz /  OS Concepts

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 24

Migration of Operating-System Concepts and FeaturesMigration of Operating-System Concepts and Features