l20 – os and io 1 comp 411– fall 2009 12/09/09 operating system the os is just a program but it...

25
L20 – OS and IO 1 omp 411– Fall 2009 12/09/0 9 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access to special registers (like page table register) all IO devices, etc. whereas ordinary programs run in USER state only access to VIRTUAL addresses through page tables normally no access to IO devices Programs ask the OS for services (syscall) give me more memory read/write data from/to disk put pixel on screen give me the next character from the keyboard

Upload: avis-simmons

Post on 19-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 1Comp 411– Fall 2009 12/09/09

Operating System

The OS is JUST A PROGRAMbut it runs in SUPERVISOR state

access to PHYSICAL addressesaccess to special registers (like page table

register)all IO devices, etc.

whereas ordinary programs run in USER stateonly access to VIRTUAL addresses through

page tablesnormally no access to IO devices

Programs ask the OS for services (syscall)give me more memoryread/write data from/to diskput pixel on screengive me the next character from the keyboard

Page 2: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 2Comp 411– Fall 2009 12/09/09

OS Execution

The OS keeps a PROCESS TABLE of all running programsdisk location of executablememory location of page tablesprioritycurrent status (running, waiting ready, waiting on

an event, etc.)PID (process ID) a number assigned to the process

A PROCESS is an independent program running in its own memory space

The OS allocates a new entry in the PROCESS TABLE

And sets up the PAGE TABLE for the new process

Page 3: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 3Comp 411– Fall 2009 12/09/09

Initial Page Table

foo

foo

swap

0x00000000 0 text segment

0x00001000 0 text segment

0x00002000 1 data segment

0x00003000

0x00004000

0x00005000

0xffffe000

0xfffff000 1 stack

memory

disk

page table

Page 4: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 6Comp 411– Fall 2009 12/09/09

Page Fault in the Text

foo

foo

swap

0x00000000 1 text segment

0x00001000 0 text segment

0x00002000 1 data segment

0x00003000

0x00004000

0x00005000

0xffffe000

0xfffff000 1 stack

memory

disk

page table

Page 5: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 8Comp 411– Fall 2009 12/09/09

Allocate a block of memory

foo

foo

swap

0x00000000 1 text segment

0x00001000 0 text segment

0x00002000 1 data segment

0x00003000 1 heap

0x00004000 1 heap

0x00005000

0xffffe000

0xfffff000 1 stack

disk

page table

Page 6: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 9Comp 411– Fall 2009 12/09/09

Fault in the other page of TEXT

foo

foo

swap

0x00000000 1 text segment

0x00001000 1 text segment

0x00002000 1 data segment

0x00003000 1 heap

0x00004000 1 heap

0x00005000

0xffffe000

0xfffff000 1 stack

memory

disk

page table

Page 7: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 11Comp 411– Fall 2009 12/09/09

Grow the stack

foo

foo

swap

0x00000000 1 text segment

0x00001000 1 text segment

0x00002000 1 data segment

0x00003000 1 heap

0x00004000 1 heap

0x00005000

...

0xffffd000 1

0xffffe000 1

0xfffff000 1 stack

memory

disk

page table

Page 8: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 13Comp 411– Fall 2009 12/09/09

Partially Paged Out

foo

foo

swap

0x00000000 1 text segment

0x00001000 1 text segment

0x00002000 1 data segment

0x00003000 0 heap

0x00004000 1 heap

0x00005000

...

0xffffd000 1

0xffffe000 1

0xfffff000 1 stack

memory

disk

page table

Page 9: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 14Comp 411– Fall 2009 12/09/09

Later we need that page

foo

foo

swap

0x00000000 1 text segment

0x00001000 1 text segment

0x00002000 1 data segment

0x00003000 1 heap

0x00004000 1 heap

0x00005000

...

0xffffd000 1

0xffffe000 1

0xfffff000 1 stack

memory

disk

page table

Page 10: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 15Comp 411– Fall 2009 12/09/09

Exit

Finally our program exitsIt calls the “exit” system call to notify the

OS that it is doneThe OS puts the memory back on the free

listCleans up the PAGE TABLE and PROCESS

TABLEAnd goes on about its business...

Page 11: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 16Comp 411– Fall 2009 12/09/09

Interrupts

How does the CPU manage SLOW I/O devices?

Programmed I/OInterrupt Driven I/O

Page 12: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 17Comp 411– Fall 2009 12/09/09

Polling

Advantages

Simple

No surprises

Processor in full control

Disadvantages

Polling can waste lots of time

•IOC = i/o controller

Page 13: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 18Comp 411– Fall 2009 12/09/09

Interrupt Driven I/O

Advantage

CPU only bothered when actually needed

Disadvantage

Can occur at surprising or inconvenient times

Have to save and restore state

Page 14: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 21Comp 411– Fall 2009 12/09/09

Quick overview of I/O devices

This is the “rest” of the computer– Used to be called “peripherals”– …but that term does not do justice to them!

Page 15: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 23Comp 411– Fall 2009 12/09/09

Magnetic Disks: Outside

Page 16: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 24Comp 411– Fall 2009 12/09/09

Inside

Page 17: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 25Comp 411– Fall 2009 12/09/09

Platters and Heads

Page 18: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 26Comp 411– Fall 2009 12/09/09

Magnetic Disk Organization

• Cylinder: All tracks under head with arm in a fixed position

• Read/Write time has 3 components

•Seek time to move the arm

•Rotational latency: wait for the desired sector to come by

•Transfer time: transfer bits

Page 19: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 27Comp 411– Fall 2009 12/09/09

CD

Page 20: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 28Comp 411– Fall 2009 12/09/09

CRT Display

Page 21: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 29Comp 411– Fall 2009 12/09/09

LCD

Page 22: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 30Comp 411– Fall 2009 12/09/09

Graphics Cards

Page 23: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 31Comp 411– Fall 2009 12/09/09

Polygons to Surfaces• Numerical coordinates specify vertex positions in 3D

• Matrix multiply transforms 3D coordinates to eye coordinates

• Divide projects 3D to 2D in perspective

• Pixel processors fill polygons with appropriate colors based on lighting model

Page 24: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 32Comp 411– Fall 2009 12/09/09

Sound

Sound is variations in air pressure

A microphone converts these into an analog electrical signal

An analog-to-digital converter samples this at frequent intervals

The resulting numbers are stored in a file (.wav)

On playback a digital-to-analog converter changes these numbers into an analog electrical signal

And the moving cone of a speaker converts this into varying air pressure

Page 25: L20 – OS and IO 1 Comp 411– Fall 2009 12/09/09 Operating System The OS is JUST A PROGRAM but it runs in SUPERVISOR state access to PHYSICAL addresses access

L20 – OS and IO 33Comp 411– Fall 2009 12/09/09

That’s it folks!

You now have a pretty good idea about:• How computers are designed and how they

work– How data and instructions are represented– How arithmetic and logic operations are performed– How ALU and control circuits are implemented– How registers and the memory hierarchy are

implemented– How performance is measured– How performance is increased via pipelining– (briefly) What the rest of the computer looks like

(disks, sound, etc.)

• Final exam on Dec 11 (see website)