documentos

66
Chapter 10 Operating Systems

Upload: bing

Post on 13-Dec-2015

214 views

Category:

Documents


0 download

DESCRIPTION

OS presentation

TRANSCRIPT

Page 1: DocumentOS

Chapter 10

Operating Systems

Page 2: DocumentOS

Chapter Goals

• A little History of Operating Systems• Be familiar with current Major Operating

Systems• Contrast Applications Software and Systems

Software• Describe the main responsibilities of an

operating system

10-2

Page 3: DocumentOS

3

More Chapter Goals(OS Responsibilities)

• memory and process management

• timesharing and the virtual machine illusion

• logical and physical addresses

• memory management techniques

Page 4: DocumentOS

4

More Chapter Goals(OS Responsibilities)

• fixed and dynamic memory partitions

• demand paging and the virtual memory illusion

• stages and transitions of the process life cycle

• CPU scheduling algorithms

Page 5: DocumentOS

2 Kinds of Software

• Application software – Software written to address specific needs– To solve problems in the real world– The reason you buy the machine

• System software– Software that manages a computer system at a

fundamental level– It provides the tools and an environment in which

application software can be created and run

10-5

Page 6: DocumentOS

Application Software

• Word processing programs, games, inventory control systems, automobile diagnostic programs, and missile guidance programs are all application software

•The stuff you want

10-6

Page 7: DocumentOS

Systems Software

• Operating Systems, File Systems Software, Utilities (Disk Defragmenter), Compilers, Maybe a Web Browser

•The stuff you need

10-7

Page 8: DocumentOS

Major OS’s

• Unix• Windows• Linux• Mac OS• Embedded OS’s (Android, iOS)• Real-Time OS’s

10-8

Page 9: DocumentOS

Which is the BEST OS??

• NONE are “best”

• Consumer POV– Buy whatever turns you on

• Professional POV– Cost, tasks, maintenance, support, legacy issues,

popularity (network effects), etc.

10-9

Page 10: DocumentOS

A Little History - Mainframes

• Mainframes – from 1950

1. Earliest computers had no OS at all!2. Proprietary (custom) OS’s3. VMX4. Early Unix versions 5. Unix was invented at AT&T Bell Labs

10-10

Page 11: DocumentOS

Mainframe

• Circa 1950

10-11

Page 12: DocumentOS

Mainframe

• IBM System 360 circa 1964

10-12

Page 13: DocumentOS

A Little History - Unix

• Mainframes were often shared by many users• A multiuser OS was needed• Unix arose to fill this need– IBM, Digital Equipment Corporation (DEC), Honeywell,

Hewlett Packard– Each had their own proprietary version on Unix

10-13

Page 14: DocumentOS

A Little History – Early Personal Computers

• Microcomputers based on the first integrated CPU chips ~ late 1970’s– MITS Altair 8800 (MS’s big break)– Commodore 64– Atari ST– TRS 80– Apple 2 (Apple 1 was a kit)– Each machine had their own proprietary OS (or

none at all for the Altair!)

10-14

Page 15: DocumentOS

! THE MICROPROCESSOR !

• Intel 8080 – circa 1974

10-15

Page 16: DocumentOS

• Altair 8800 - circa 1975

10-16

Page 17: DocumentOS

A Little History – PC’s n Macs

• PC’s and Macs – 1980’s– IBM PC• IBM hired MS to supply DOS (A basic

command-line OS)• MS bought DOS from another party

– Apple Macintosh• Apple wrote there own GUI OS• Apple borrowed the idea from Xerox

PARC

10-17

Page 18: DocumentOS

A Little History – Windows OS

• IBM PC needed a GUI– IBM hired MS to write OS2 for PS2 (not Playstation!)– MS wrote Windows at the same time– Guess who won?

– Why did MS win?• DOS was a “cash cow” for MS• Windows had backward compatibility w DOS• PC hardware was cheaper than Mac HW

10-18

Page 19: DocumentOS

What is Linux???

• Linux is based on a free source code version of UNIX

• This source is compiled to Intel CPU machine code

• Commercial versions are available

• Internal SW architecture is circa 1960’s(A multi-user OS for a single-user machine)

10-19

Page 20: DocumentOS

What is Linux???

• It’s all about the

$$$$$$ MONEY $$$$$$

• Linus Torvald’s lead the creation of Linux so that he could run UNIX-based code on cheap PC hardware

10-20

Page 21: DocumentOS

Where are the computers??

• The machines you SEE– Windows: Almost every desktop in the USA and

the world

• The machines you DON’T SEE– There are lots of UNIX-based machines behind

closed doors

10-21

Page 22: DocumentOS

Why is Linux Important

Three Main Reasons1)Academia

CS discipline was built with UNIX systems

2)Replacement of legacy hardwareLinux on PC is cheaper than “Big Iron”

3)Internet plumbingIs all Unix-based, will not be re-done

10-22

Page 23: DocumentOS

Why is Linux ImportantAcademia

• There is a lot of code and textbooks written for a UNIX point of view

• Linux allows you to use this stuff on cheaper hardware

10-23

Page 24: DocumentOS

Why is Linux ImportantThe UNIX Legacy

• There is a lot of application code running on old expensive Unix mainframe and workstation machines

• Linux is replacing these machines because it runs on cheaper hardware

10-24

Page 25: DocumentOS

Why is Linux ImportantThe Internet

• Internet routers and other hardware where originally run on old expensive Unix machines

• Linux is replacing these machines because it runs on cheaper hardware

• Learn Linux if you plan to study computing more

10-25

Page 26: DocumentOS

What about Wintell?

• Windows/Intel machines will probably hang around as legacy systems, boring, but part of the standard infrastructure.

• The “Platform” is standard and widespread

• Lots of existing programs for Wintel – it has its own legacy (like UNIX)

10-26

Page 27: DocumentOS

Dominant OS’s: The Recent Past

• Windows on the “front end”

• Linux on the “back end”

10-27

Page 28: DocumentOS

Dominant OS’s: Present and Near Future

• Mini Front End (Simple Interfacing Tasks) – Tablets and Smart Phones

• Maxi Front End (More demanding specialized work)– Windows

• Back End (Server processing)– Linux

10-28

Page 29: DocumentOS

LETS GET TECHNICAL

• A major OS job is to provide:

INTERFACES

10-29

Page 30: DocumentOS

OS: Interfaces

10-30

Figure 10.1 An operating system interacts with many aspects of a computer system.

Page 31: DocumentOS

LETS GET TECHNICAL

• The OS is there mainly to do what we all learned in Kindergarten:

SHARING NICELY10-31

Page 32: DocumentOS

OS: Resource Management

• File systems, monitor, keyboard, etc• The OS is in charge of making all the

application programs “share nicely”• Examples: – sending keystrokes to correct application– Placing overlapping windows on the screen– Making sure apps don’t access each others

memory

10-32

Page 33: DocumentOS

Operating System Resource Management (Sharing)

• Process Management (Sharing the CPU)• Sharing IO devices• Main (Primary Memory) Management

(Shared among many programs)• Disk (Secondary) Memory) Management

(More sharing)

10-33

Page 34: DocumentOS

Process Management

Sharing the CPU

10-34

Page 35: DocumentOS

OS: Process Management

• Process A program in execution• Process management keeping track of

processes and the states they are in• CPU scheduling determines which process in

memory is executed by the CPU at any given instant in time

10-35

Page 36: DocumentOS

More History 1950’s-1960’s

• Batch Processing– One big (expensive) machine– One human operating system – “The Operator”

(ala The Matrix)

– Several similar jobs were organized into “batches” that required the same resources

– Example:• Load the compiler• Run all the programs to be compiled

10-36

Page 37: DocumentOS

History: Batch Processing

10-37Figure 10.2 In early systems, human operators would organize jobs into batches

Page 38: DocumentOS

More History: 1960’s-1970’s

• Timesharing–One big (expensive) machine– Each user had her own virtual machine, in which

all system resources seem to be available for use– In reality, resources are shared

• Unix was created as a multi-user timesharing operating system

10-38

Page 39: DocumentOS

More History: 1970’s-now

• Multitasking– Lots of cheap PC machines– Timesharing evolved into multitasking– ONE user running MANY PROGRAMS– Still, resources must be shared by several

programs

• Windows was created as a single-user multitasking operating system

10-39

Page 40: DocumentOS

Process States

• The Process States

10-40Figure 10.8 The process life cycle

Page 41: DocumentOS

The Process Control Block

• The operating system must manage a large amount of data for each active process

• Usually that data is stored in RAM in a data structure called a Process Control Block (PCB)

• The OS maintains one PCB for each process

10-41

Page 42: DocumentOS

Processes are like Several Cooks Sharing ONE Kitchen

10-42

Page 43: DocumentOS

CPU Context Switch

• There is only one CPU and therefore only one set of CPU registers– These registers contain the values for the currently

executing process

• Each time a process is moved to the running state:– Register values for the currently running process

are stored into its PCB

– Register values of the new running state are loaded into the CPU

– This exchange of information is called a context switch

10-43

Page 44: DocumentOS

CPU Scheduling

• CPU Scheduling Determining which process in the ready state should be moved to the running state– Many processes may be in the ready state– Only one process can be in the running state,

actually running at any one time

• Which one gets to moved from ready to running?

10-44

Page 45: DocumentOS

CPU Scheduling

• Nonpreemptive scheduling The currently executing process gives up the CPU voluntarily– Batch Processing, the old Mac OS, Windows 3.1 circa 1990

• Preemptive scheduling The operating system decides to favor another process, preempting the currently executing process

– Win 9x and later, Unix, and most other modern OS’s

10-45

Page 46: DocumentOS

CPU Scheduling Algorithms

First-Come, First-Served– Processes are moved to the CPU in the order in which they

arrive in the running state

Shortest Job Next– Process with shortest estimated running time in the ready

state is moved into the running state firstRound Robin– Each process runs for a specified time slice and moves

from the running state to the ready state to await its next turn if not finished

10-46

Page 47: DocumentOS

First-Come, First-Served

10-47Page 336

Page 48: DocumentOS

Shortest Job Next

• Looks at all processes in the ready state and dispatches the one with the smallest service time

10-48Page 337

Page 49: DocumentOS

Round Robin

• Distributes the processing time equitably among all ready processes

• Aka “Taking Turns”• The algorithm uses a time slice, which is the

amount of time each process is allowed to run before it is the next process’ turn

10-49

Page 50: DocumentOS

Round Robin

• Suppose the time slice was 50

10-50

Page 339

Page 51: DocumentOS

CPU Scheduling Algorithms

Are they preemptive or non-preemptive? Explain

• First-Come, First-Served?

• Shortest Job Next?

• Round Robin?

10-51

Page 52: DocumentOS

Memory Management

Sharing Primary Memory (RAM)

10-52

Page 53: DocumentOS

Memory Management

• Memory management The process of keeping track of what programs are in memory and where in memory they reside

10-53

Page 54: DocumentOS

Memory Management

10-54

Figure 10.3 Memory is a continuous set of bits referenced by specific addresses

Page 55: DocumentOS

The Problem• Every Program Wants to be Loaded to RAM

address ZERO

10-55

Address Machine Code------------------------------------------0000 04000B BR Main 0003 0000 sum: .WORD 0x0000 0005 0000 num1: .BLOCK 2 0007 0000 num2: .BLOCK 2 0009 0000 num3: .BLOCK 2 000B C10003 Main: LDA sum,d 000E 310005 DECI num1,d 0011 710005 ADDA num1,d 0014 310007 DECI num2,d 0017 710007 ADDA num2,d 001A 310009 DECI num3,d 001D 710009 ADDA num3,d 0020 E10003 STA sum,d 0023 390003 DECO sum,d 0026 00 STOP 0027 .END

Branching wants to jump to some particular address

Page 56: DocumentOS

The Solution• Load them elsewhere and LIE TO THEM• Aka “Address Relocation”• A part of “Memory Management”

• When programs ask for bytes from some RAM location, the OS will give them bytes from somewhere else

10-56

Page 57: DocumentOS

Memory Management1. Track where a program resides in memory2. Convert logical addresses into physical addresses

• Logical address An address that the program uses– All programs start at logical address ZERO

• Physical address An actual address in the main memory device– A program may not actually be loaded starting at physical

address zero

10-57

Page 58: DocumentOS

Single Contiguous Memory Management

• The Simplest Way:• Only two programs in

memory– The operating system– The application program

10-58

Page 59: DocumentOS

Single Contiguous Memory Management

• A logical address is simply an integer value relative to the starting point of the program

• To produce a physical address, we add a logical address to the starting address of the program in physical main memory

10-59

Page 60: DocumentOS

Single Contiguous Memory Management

10-60

Page 61: DocumentOS

Partition Memory Management

• Partitions Main memory is divided into a particular number of partitions

• Programs are loaded into available partitions

• Note: A main memory partition is not the same thing as a hard disk partition

10-61

Page 62: DocumentOS

Partition Memory Management

• memory is divided into a set of partitions, some empty and some allocated to programs

• Base register A register that holds the beginning address of the current partition

• Bounds register A register that holds the length of the current partition

10-62

Page 63: DocumentOS

Paged Memory Management

• Paged memory technique Processes are divided into fixed-size pages and stored in memory frames

– Frame A piece of main memory that holds a process page– Page A piece of a process that is stored into a memory

frame – Page-map table (PMT) A table used by the operating

system to keep track of page/frame relationships

10-63

Page 64: DocumentOS

Paged Memory Management

• To produce a physical address, you first look up the page in the PMT to find the frame number in which it is stored

• Then multiply the frame number by the frame size and add the offset to get the physical address

10-64

Page 65: DocumentOS

Paged Memory Management

• Demand paging An important extension of paged memory management– Not all parts of a program actually have to be in

memory at the same time– In demand paging, the pages are brought into

memory on demand

• Page swap The act of bringing in a page from secondary memory, which often causes another page to be written back to secondary memory

10-65

Page 66: DocumentOS

Paged Memory Management

• The demand paging approach gives rise to the idea of virtual memory, the illusion that there are no restrictions on the size of a program

• Too much page swapping, however, is called thrashing and can seriously degrade system performance.

10-66