Chapter 1: Introduction. What Operating Systems Do Computer-System Organization Operating-System...

Preview:

Citation preview

Chapter 1: Introduction

Chapter 1: Introduction

• What Operating Systems Do

• Computer-System Organization

• Operating-System Structure

• Operating-System functionalities• Process Management• Memory Management• Storage Management• Protection and Security

• Computing Environments

Objectives

• To understand the computer system

organization

• To understand the major operating system

components

What is an Operating System?(user view)

? ? ?

What is an Operating System?(user view)

OS

#&*…%$#@

For ease of use

What is an Operating System?(system view)

CPU

MEM

data output

What is an Operating System?(system view)

CPU

MEM

data output

prog1

prog2

prog3

prog4 Resource allocator

Control program

Computer-system operation(The OS initialization phase)

ROM

RAM

1

2

3

Computer-System Organization(after booting)

OS

Hardware

applicationsSys. call sign

al

cmd

interrupt

polling

OS operations

OS

applications

Sys. call retu

rn

cmd

controller

buffer

1

2

34

interrupt

AP1

AP2 AP2

I/O devices and the CPU execute concurrently

Common Functions of Interrupts(interrupt vector table, IVT)

mem

IDTR

IDTR: interrupt descriptor table register

ISR

1. Interrupt transfers control to the interrupt service routine

2. Disable all incoming interrupts (why?)3. Save the CPU status of the interrupted

program

1

2’

2”

Common Functions of Interrupts

OS kernel

Hardware

applicationsSys. call sign

al

cmd

interrupt

Software interrupt

Basically, an operating system is interrupt driven.Dual-Mode operation: kernel mode + user mode

polling

Interrupt Handling

1. Save the CPU status (including the CPU status register, program counter and some other registers)

2. Interrupt handling depends on the type of interrupt– polling– vectored interrupt system– vectored interrupt system + polling

3. Execute the interrupt service routine.

Direct Memory Access Structure(DMA)

bus

Direct Memory Access Structure(DMA)

cache

bus

Two I/O Methods

• After I/O starts, control returns to user program only upon I/O completion.– Synchronous I/O– Cons:???– Pros:???

• After I/O starts, control returns to user program without waiting for I/O completion.– Asynchronous I/O– Cons:???– Pros:???

Two I/O Methods

Synchronous Asynchronous

Storage Hierarchy

• Storage systems organized in hierarchy.– Speed– Cost– Volatility

• Caching – a temporary storage area where frequently accessed data can be stored for rapid access.– Register: main memory– Cache memory: main memory– Main memory: disk

Storage-Device Hierarchy

only large storage media that the CPU can

access directly.

extension of main memory that provides

large nonvolatile storage capacity.

compiler

OS

刪掉

Performance of Various Levels of Storage

Cache(Coherency & consistency)

L1 $

bus

L1 $

a=2 a=3

a=0

a=0 a=0

for (i=0..3) { a=a+1;}

Cache(Coherency & consistency)

L1 $

bus

L1 $

a=2 a=3

a=0

a=0 a=0

for (i=0..3) { a=a+1;}

coherency

cons

iste

ncy

Operating System Structure

• Multiprogramming needed for efficiencyServerWhen CPU has to wait (for I/O for example), OS

switches to another program• Timesharing (multitasking) creates interactive

computingPersonal computer+ programs exhaust their time slice

Multiprogramming

CPU I/O CPUready

CPU I/Oready

time

Time sharing

CPU I/O CPUready

I/Oready

time

CPU

CPU

CPUready

Operating-System Operations

OS

applications

Sys. callcontroller

bufferinterrupt

AP2

Dual-mode operation(system call)

OS

applications

Sys. call

AP2User mode

Kernel mode

Dual-mode operation

OS

applicationsAP2User

mode

Kernel mode

trap

ISRSyscall_handler

Exception:= Trap:= Software interrupt

1. Mode=kernel_modePush PC

2. Save machine status3. Jump_to ISR

CPU

Dual-mode operation

OS

applications

Sys. callcontroller

buffer2

34

interrupt

AP1

AP2User mode

Kernel mode Syscall_handler

cmd1

Dual-mode operation

OS

applicationsAP2User

mode

Kernel mode

trap

ISRSyscall_handler

1. restore machine status2. Mode=user_mode

Pop PC

CPU

AP2

Timer

CPU I/O CPUready

I/Oready

time

CPU

CPU

CPUready

timer

interrupt

OS Structure

OS

Protec-tion

Process manage-

ment

Memory manage-

ment

Storage manage-

ment

security

fork…

malloc..open & close…

setuid…SELinux

passwd…

Computing Environments(symmetric multiprocessor, SMP)

bus

CPU 1 CPU 2CPU 0

CPU

Computing Environments(chip multiprocessor, CMP)

L1 $

bus

L1 $

L2 $

Core 1Core 0

CPU

Computing Environments(simultaneously multithreading, SMT)

bus

L1 $

L2 $

Core

Logical processor 0

Logical processor 1

CPU

Computing Environments(CMP+SMT)

L1 $

bus

L1 $

L2 $

Core 1Core 0

LP0 LP1 LP0 LP1

Computing Environments(symmetric multiprocessor, SMP)

(UMA)

bus

CPU 1CMP+SMT

CPU 2CMP+SMT

CPU 0CMP+SMT

Computing Environments(symmetric multiprocessor, SMP)

(NUMA)

bus

CPU 1CMP+SMT

CPU 2CMP+SMT

CPU 0CMP+SMT

Embedded systems & web computing

internet

WEB apps

參考資料• Silberschatz, Galvin and Gagne, “Operating

system Principles,” 8th ed• Wikipedia, http://www.wikipedia.org/

Recommended