Вы находитесь на странице: 1из 24

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 / 6e - Chapter 1 Introduction

Slide 1

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.

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 2

Computer 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).
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 3

Abstract View of System Components

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 4

System Components

Hides the complexity of machine language from programmer Instruction Set Architecture Physical devices grouped together to form functional units Integrated circuit chips, power supply, CRT

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

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 5

Functions 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

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 6

Functions of an OS
Resource Management


Time management


CPU and disk transfer scheduling main and secondary storage allocation IPC, critical section, coordination resource usage tracking

Space management


Synchronization and deadlock handling




Accounting and status information




Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 7

History 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 Aiken, von Neumann, Eckert, Mauchley and Zuse programming done via plugboards, no OS or language vacuum tubes

First generation 1945 - 1955


  

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 8

History of Operating Systems


Second 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
Silberschatz / OS Concepts / 6e - Chapter 1 Introduction Slide 9

History of Operating Systems


Third 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
Slide 10

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

History of Operating Systems


In batch, total time from submitting a job to getting the output was a few hours, very unproductive for programmers Timesharing (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 users 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

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 11

History of Operating Systems


Fourth 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)

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 12

First computers used to solve many commercial and scientific applications




Mainframe Systems

evolved from batch time shared systems serial card readers were initial input device then disks enabled job scheduling by the operating system

Reduce setup time by batching similar jobs




Automatic 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 devices initial control in monitor control transfers to job when job completes control transfers pack to monitor eliminated intervention by programmer

Early OS called resident monitor


   

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 13

Memory Layout for a Simple Batch System

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 14

Multiprogrammed Batch Systems


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

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 15

OS 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.

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 16

Desktop Systems
Personal 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)

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 17

Parallel Systems
Multiprocessor 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

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 18

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
Slide 19

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Distributed 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 highspeed buses or telephone lines. Advantages of distributed systems.
   

Resource sharing Computation speed up load sharing Reliability Communications between processors and processes

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 20

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.

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 21

RealReal-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. Limited utility in industrial control of robotics Useful in applications (multimedia, virtual reality) requiring advanced operating-system features.

Soft real-time
 

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 22

Handheld Systems
Personal Digital Assistants (PDAs) Cellular telephones Issues:


 

Limited memory (512KB to 8MB) requires efficient management Slow processors Small display screens.

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 23

Migration of Operating-System Concepts and Features Operating-

Silberschatz / OS Concepts / 6e - Chapter 1 Introduction

Slide 24