41
8/10/2019 Operating Systems - Ch01 Os Intro http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 1/41 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts  – 9 th  Edit9on Chapter 1: Introduction

Operating Systems - Ch01 Os Intro

Embed Size (px)

Citation preview

Page 1: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 1/41

Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edit9on

Chapter 1: Introduction

Page 2: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 2/41

1.2 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Four Components of a Computer System

Page 3: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 3/41

1.3 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

What Operating Systems Do

Depends on the point of view

Users want convenience, ease of use

Don’t care about resource utilization

But shared computer such as mainframe or minicomputer must keep allusers happy

Users of dedicate systems such as workstations have dedicated resourcesbut frequently use shared resources from servers

Handheld computers are resource poor, optimized for usability and batterylife

Some computers have little or no user interface, such as embedded

computers in devices and automobiles

Page 4: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 4/41

1.4 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Operating System Definition

OS is a resource allocator Manages all resources

Decides between conflicting requests for efficient and fair resourceuse

OS is a control program

Controls execution of programs to prevent errors and improper useof the computer

Standard libraries, services, abstractions, windowing systems

Make application programming easier, faster, less error-prone

Page 5: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 5/41

1.5 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Operating System Definition (Cont.)

No universally accepted definition

  “Everything a vendor ships when you order an operating system” isgood approximation

But varies wildly

  “The one program running at all times on the computer” is thekernel.  Everything else is either a system program (ships with theoperating system) or an application program.

Page 6: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 6/41

1.6 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Computer Startup

bootstrap program is loaded at power-up or reboot

Typically stored in ROM or EPROM, generally known as firmware

Initializes all aspects of system

Loads operating system kernel and starts execution

Page 7: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 7/411.7 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Computer System Organization

Computer-system operation

One or more CPUs, device controllers connect through commonbus providing access to shared memory

Concurrent execution of CPUs and devices competing formemory cycles

Page 8: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 8/411.8 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Computer-System Operation

I/O devices and the CPU can execute concurrently

Each device controller is in charge of a particular device type

Each device controller has a local buffer

CPU moves data from/to main memory to/from local buffers

I/O is from the device to local buffer of controller

Device controller informs CPU that it has finished its operation bycausing an interrupt

Page 9: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 9/411.9 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Common Functions of Interrupts

Interrupt transfers control to the interrupt service routine generally,

through the interrupt vector, which contains the addresses of all theservice routines

Interrupt architecture must save the address of the interruptedinstruction

A trap or exception is a software-generated interrupt caused eitherby an error or a user request

An operating system is interrupt driven

Page 10: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 10/411.10 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Interrupt Handling

The operating system preserves the state of the CPU by storing

registers and the program counter

Determines which type of interrupt has occurred:

polling

vectored interrupt system

Separate segments of code determine what action should be taken foreach type of interrupt

Page 11: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 11/411.11 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Interrupt Timeline

Page 12: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 12/411.12 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Storage Structure

Main memory  – only large storage media that the CPU can access

directly

Random access

Typically volatile

Secondary storage  – extension of main memory that provides largenonvolatile storage capacity

Magnetic disks  – rigid metal or glass platters covered with magneticrecording material

Disk surface is logically divided into tracks, which are subdividedinto sectors

The disk controller determines the logical interaction between thedevice and the computer

Solid-state disks  – faster than magnetic disks, nonvolatile

Various technologies

Becoming more popular

Page 13: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 13/411.13 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Storage Hierarchy

Storage systems organized in hierarchy

Speed

Cost

Volatility

Caching  – copying information into faster storage system; mainmemory can be viewed as a cache for secondary storage

Device Driver for each device controller to manage I/O

Provides uniform interface between controller and kernel

Page 14: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 14/411.14 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Storage-Device Hierarchy

Page 15: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 15/411.15 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Computer-System Architecture

Most systems use a single general-purpose processor (PDAs through

mainframes)

Most systems have special-purpose processors as well

Multiprocessors systems growing in use and importance

Also known as parallel systems, tightly-coupled systems

Advantages include:

1. Increased throughput

2. Economy of scale

3. Increased reliability  – graceful degradation or fault tolerance

Two types:1. Asymmetric Multiprocessing

2. Symmetric Multiprocessing

Page 16: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 16/41

Page 17: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 17/41

Page 18: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 18/411.18 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Operating-System Operations

Interrupt driven by hardware

Software error or request creates exception or trap

Division by zero, request for operating system service

Other process problems include infinite loop, processes modifying each other orthe operating system

Dual-mode operation allows OS to protect itself and other system components

User mode and kernel mode

Mode bit provided by hardware

Provides ability to distinguish when system is running user code orkernel code

Some instructions designated as privileged, only executable in kernelmode

System call changes mode to kernel, return from call resets it to user Increasingly CPUs support multi-mode operations

i.e. virtual machine manager (VMM) mode for guest VMs

Page 19: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 19/411.19 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Transition from User to Kernel Mode

Timer to prevent infinite loop / process hogging resources

Set interrupt after specific period

Operating system decrements counter

When counter zero generate an interrupt

Set up before scheduling process to regain control or terminate

program that exceeds allotted time

Page 20: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 20/411.20 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Process Management

A process is a program in execution. It is a unit of work within the

system. Program is a passive ent i ty , process is an active entity .

Process needs resources to accomplish its task

CPU, memory, I/O, files

Initialization data

Process termination requires reclaim of any reusable resources

Single-threaded process has one program counter specifyinglocation of next instruction to execute

Process executes instructions sequentially, one at a time, untilcompletion

Multi-threaded process has one program counter per thread

Typically system has many processes, some user, some operatingsystem running concurrently on one or more CPUs

Concurrency by multiplexing the CPUs among the processes /threads

Page 21: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 21/41

Page 22: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 22/41

Page 23: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 23/41

1.23 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Storage Management

OS provides uniform, logical view of information storage Abstracts physical properties to logical storage unit - file

Each medium is controlled by device (i.e., disk drive, tape drive)

Varying properties include access speed, capacity, data-transfer rate, access method (sequential or random)

File-System management

Files usually organized into directories

Access control on most systems to determine who can accesswhat

OS activities include

Creating and deleting files and directories

Primitives to manipulate files and dirs

Mapping files onto secondary storage

Backup files onto stable (non-volatile) storage media

Page 24: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 24/41

1.24 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Performance of Various Levels of Storage

Movement between levels of storage hierarchy can be explicit orimplicit

Page 25: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 25/41

1.25 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Protection and Security

Protection  – any mechanism for controlling access of processes or

users to resources defined by the OS

Security  – defense of the system against internal and external attacks

Huge range, including denial-of-service, worms, viruses, identitytheft, theft of service

Systems generally first distinguish among users, to determine whocan do what

User identities (user IDs, security IDs) include name andassociated number, one per user

User ID then associated with all files, processes of that user todetermine access control

Group identifier (group ID) allows set of users to be defined andcontrols managed, then also associated with each process, file

Privilege escalation allows user to change to effective ID withmore rights

Page 26: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 26/41

Page 27: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 27/41

1.27 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Kernel Data Structures

Binary search tree left <= right

Search performance is O(n)

Balanced binarysearch tree is O(lg n)

Page 28: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 28/41

1.28 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Kernel Data Structures

Hash function can create a hash map

Bitmap  – string of n binary digits

representing the status of n items Linux data structures defined in inc lude  files<linux/list.h>, <linux/kfifo.h>,

<linux/rbtree.h>

Page 29: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 29/41

1.29 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Computing Environments - Traditional

Stand-alone general purpose machines

But blurred as most systems interconnect with others (i.e. the Internet)

Portals provide web access to internal systems

Network computers (thin clients) are like Web terminals

Mobile computers interconnect via wireless networks

Networking becoming ubiquitous  – even home systems use firewalls toprotect home computers from Internet attacks

Page 30: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 30/41

Page 31: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 31/41

1.31 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Computing Environments  – Distributed

Distributed

Collection of separate, possibly heterogeneous, systems networkedtogether

Network is a communications path, TCP/IP most common

 – Local Area Network (LAN)

 –

Wide Area Network (WAN) – Metropolitan Area Network (MAN) 

 – Personal Area Network (PAN)

Network Operating System provides features between systems acrossnetwork

Communication scheme allows systems to exchange messages

Illusion of a single system

Page 32: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 32/41

1.32 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Computing Environments  – Client-Server

Client-Server Computing

Dumb terminals supplanted by smart PCs

Many systems now servers, responding to requests generatedby clients

Compute-server system provides an interface to client torequest services (i.e., database)

File-server system provides interface for clients to storeand retrieve files

Page 33: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 33/41

1.33 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Computing Environments - Peer-to-Peer

Another model of distributed system

P2P does not distinguish clients and servers

Instead all nodes are considered peers

May each act as client, server or both

Node must join P2P network

Registers its service with central lookupservice on network, or

Broadcast request for service andrespond to requests for service via

discovery protocol

Examples include Napster and Gnutella,Voice over IP ( VoIP ) such as Skype

Page 34: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 34/41

1.34 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Computing Environments - Virtualization

Allows operating systems to run applications within other OSes

Vast and growing industry

Emulation used when source CPU type different from target type (i.e.PowerPC to Intel x86)

Generally slowest method

When computer language not compiled to native code  – Interpretation

Virtualization  – OS natively compiled for CPU, running guest OSesalso natively compiled

Consider VMware running WinXP guests, each running

applications, all on native WinXP host OS

VMM provides virtualization services

Page 35: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 35/41

1.35 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Computing Environments - Virtualization

Use cases involve laptops and desktops running multiple OSes for

exploration or compatibility

Apple laptop running Mac OS X host, Windows as a guest

Developing apps for multiple OSes without having multiplesystems

QA testing applications without having multiple systems

Executing and managing compute environments within datacenters

VMM can run natively, in which case they are also the host

There is no general purpose host then (VMware ESX and CitrixXenServer)

Page 36: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 36/41

1.36 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Computing Environments - Virtualization

Page 37: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 37/41

1.37 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Computing Environments  – Cloud Computing

Delivers computing, storage, even apps as a service across a network

Logical extension of virtualization as based on virtualization

Amazon EC2  has thousands of servers, millions of VMs, PBs ofstorage available across the Internet, pay based on usage  

Many types

Public cloud –

 available via Internet to anyone willing to pay Private cloud  – run by a company for the company’s own use

Hybrid cloud  – includes both public and private cloudcomponents

Software as a Service (SaaS)  – one or more applications available

via the Internet (i.e. word processor) Platform as a Service (PaaS)  – software stack ready for

application use via the Internet (i.e a database server)

Infrastructure as a Service (IaaS)  – servers or storage availableover Internet (i.e. storage available for backup use)

Page 38: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 38/41

Computing Environments

Page 39: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 39/41

1.39 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Computing Environments 

Real-Time Embedded Systems

Real-time embedded systems most prevalent form of computers

Vary considerable, special purpose, limited purpose OS, real-time OS

Use expanding

Many other special computing environments as well

Some have OSes, some perform tasks without an OS

Real-time OS has well-defined fixed time constraints Processing mus t  be done within constraint

Correct operation only if constraints met

Page 40: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 40/41

1.40 Silberschatz, Galvin and Gagne ©2013Operating System Concepts  – 9th Edition

Open-Source Operating Systems

Operating systems made available in source-code format rather than

 just binary closed-source

Counter to the copy protection and Digital Rights Management(DRM) movement

Started by Free Software Foundation (FSF), which has “copyleft” 

GNU Public License (GPL)

Examples include GNU/Linux and BSD UNIX (including core of MacOS X), and many more

Can use VMM like VMware Player (Free on Windows), Virtualbox

(open source and free on many platforms - http://www.virtualbox.com) Use to run guest operating systems for exploration

Page 41: Operating Systems - Ch01 Os Intro

8/10/2019 Operating Systems - Ch01 Os Intro

http://slidepdf.com/reader/full/operating-systems-ch01-os-intro 41/41

End of Chapter 1