Operating System Concepts Part II Department of Computer Science Southern Illinois University...

Post on 17-Jan-2016

214 views 0 download

Tags:

transcript

Operating System Concepts Part II

Department of Computer ScienceSouthern Illinois University Edwardsville

Spring, 2009

Dr. Hiroshi FujinokiE-mail: hfujino@siue.edu

CS 514 Operating Systems

Intro_II/001

Operating System Concepts

This PPT presentation covers Section 1.5 of the textbook.

(1) Process

(2) Deadlock avoidance in I/O resource management

(3) Files and file descriptor

(4) Special Files

CS 514 Operating Systems

Intro_II/002

Subjects covered about “process”

• What is “process”?

• How is it different from “program”?

• What we can do by “processes”?

A: “Process” is a program in execution.

HDD

“program” is an executablefile stored in a disk

program

Stored as a file

Q: What is “process”?

Solutions

CS 514 Operating Systems

Intro_II/003

Then how a “program” can become “process”?

HDD

program

Stored as a file

Memory

CPU

A program becomes a process

when one is loaded into the memory for execution by CPU

Load

CS 514 Operating Systems

Intro_II/004

Things needed for a program to be executed in memory

Memory

HDD

Program Code

Stack Memory

Heap Memory

AddressSpace

Program X

Program Z

CPU

PCB-Z PCB-A PCB-X

PCB = Process Control Block

PCB is a data structure for the CPUto keep track of each process

Process

Program

CS 514 Operating Systems

Intro_II/005

Example of “program” and “process”

• Program

• Process

Static object, usually exists as an executable file

Program in execution

This is a program

This is a process (program in execution)

CS 514 Operating Systems

Intro_II/006

Intermediate summary of “process”

• It is a program in execution

• A process consists of the contents in process address space and PCB

• Process address space consists of:

Program Code

Stack Memory Space

Heap Memory Space

Collection of assembly instructions CPU runs

Stack data structure for sub-routine calls

Other data structure (local/global variables)

Questions

Where are PCBs located?

What information does PCB hold?

CS 514 Operating Systems

Intro_II/007

Things needed for a program to be executed in memory

Memory

Program X

Program Z

CPU

PCB-Z PCB-A PCB-X

Program Y

OS

Where are PCBs located?

In the operating system

CS 514 Operating Systems

Intro_II/008

Deadlock

Deadlock avoidance in I/O resource management

What is “deadlock”?

More than one process wait for resource for each other for forever

Example

Resources

Printer

HDD

• Assume that there are two processes• Each of the two processes requires printer and HDD at the same time

• Without the printer and HDD, neither can finish its tasks

Process AProcess B

Assigned

Assignedwait

wait

(Circular-wait)

CS 514 Operating Systems

Intro_II/009

Concept of files and file descriptor

Logical data storages in computer systems

What is a file?

What is “file descriptor”?

Logical identification for each file being usedin a computer system.

HDD

file

OS

user

open read

load

use

close

CS 514 Operating Systems

Intro_II/010

Concept of files and file descriptor (continued)

A

B

X

Y

File Names

“A.txt”

User

HDDOS

Location on disk

• Sectors• Track• Platters

Open “A.txt”

Find/Access

LoadFile Descriptor

• Read (FD)• Write (FD)• Append (FD)

File Names Sector Locations

File Allocation Table

A.txt 1E23CD

CS 514 Operating Systems

Intro_II/011

Concept of Special Files

Ordinary File

user

OS

HDD

file

Can not be seenby human user

user

OS

HDD

Special Files

Keyboard

printer

Users can I/O tomany devices as if they

were a file

ModemInternet

Request

Request (1)

Response (4)Internet

Request

Network

Special Files

CS 514 Operating Systems

Intro_II/012

Special Files

A concept in OS where a user can handle many I/O devicesusing the same interface (APIs) that is used for actual files.

• When you open (reserve) a resource, OS gives you “descriptor”

• Some special files are read-only and some others may be write-only

Read-OnlyRead/Write Write-Only

- Disks - Keyboard - Printer

- Network - Mouse

- CRT Monitor (with touch-pen support)

- CD-ROM

- CRT Monitor

CS 514 Operating Systems

Intro_II/013

Operating System Structure

Monolithic Structure

Layered Structure

VM (Virtual Machine)

Micro-KernelWindows uses these concepts

This PPT presentation covers Section 1.7 of the textbook.

CS 514 Operating Systems

Intro_II/014

Monolithic Structure OS

• Operating systems are essentially a collection of procedures.

Monolithic Structure OS No structure in a collection of procedures

(Any procedure or a user application can call any other procedure)

OS Procedures

Disk I/O

Process Mgmt.

Memory Mgmt.

Printer Spooler

IPC

KB I/O

user

Program

• Big mess

• But fast (no overhead)

CS 514 Operating Systems

Intro_II/015

How is a Monolithic-Structured OS implemented?

OS Procedures

Disk I/O

Process Mgmt.

Memory Mgmt.

Printer Spooler

IPCKB I/O

Disk I/O

Memory Mgmt.

Process Mgmt.

IPC

KB I/O

Printer Spooler

Source codemodules

Concatenate intoone source code file

Compile

OS

Operating system as an executable program

CS 514 Operating Systems

Intro_II/016

“OS” in a broader definition

How is a Monolithic-Structured OS implemented?

OS

Operating system as an executable program

awk

grep

sort

Disk I/O

Memory Mgmt.

Process Mgmt.

IPC

KB I/O

Printer Spooler

Program

System calls

External Commands

user

execute

exec ();

“OS Kernel”

CS 514 Operating Systems

Intro_II/017

Layered Structure Operating Systems

“Layers” Layers of priorities

User Programs

I/O Management

Process Communication

Memory Management

Process Management

CS 514 Operating Systems

Intro_II/018

Virtual Machine (VM)

Without VM

Hardware

Operating System

App1 App N

user

OS1

Virtual Machine Support

OS2 OS3

A virtual machine

UNIXWindows 2000

Application programs

Hardware

With VM

MS-DOS

Extra layer ontop of hardware

CS 514 Operating Systems

Intro_II/019

Hardware

OS1

Virtual Machine Support

OS2 OS3

Hardware1

OS2 OS3

OS1

Hardware2 Hardware3

Concept of VM

For each application program,it looks like they are beingexecuted by the dedicated

hardware

CS 514 Operating Systems

Intro_II/020

Without VM

Memory

Process X

Process Y

Process Z

OS

With VM

Memory

OS1

OS3

OS2

Process X

Process Y

VMS

VM1

VM2

VM3

ProcessManage

ProcessManage

Process M

Process NProcessManage

Process A

Process BProcessManage

VMManage

Implementation of of VM

CS 514 Operating Systems

Intro_II/021

Win32

Virtual Machine Support

MS-DOS MS-DOS

Hardware

Windows-9x VM

• All Win-32 applications are execute in Win-32 kernel

• Each MS-DOS application will be executed within its VM

MS-DOS VMCS 514 Operating Systems

Intro_II/022

Summary of Virtual Machine (VM)

VM A virtual computer where computer hardware is software-emulatedby VMS (Virtual Machine Support)

• Provide virtual dedicated machine (= hardware) to each OS

Multiple operating systems (and its applications) at once

(Q: What’s the difference from “multiple boot”?)

- For flexibility

- For robustness

One VM crashes, others still survive

(EG: Windows-NT)

CS 514 Operating Systems

Intro_II/023

“OS” in a broader definition

OS

awk

grep

sort

Disk I/O

Memory Mgmt.

Process Mgmt.

IPC

KB I/O

Printer Spooler

External Commands

“OS Kernel”

Micro-Kernel Architecture

CS 514 Operating Systems

Intro_II/024

“OS” in a broader definition

awk

grep

sort

Disk I/O

IPC

KB I/O

Memory Mgmt.

Process Mgmt.

Printer Spooler

External Commands

OS

“OS Kernel”

Micro-Kernel Architecture (continued)

Memory Mgmt.

Process Mgmt.

Printer Spooler

CS 514 Operating Systems

Intro_II/025

Micro-Kernel Architecture (continued)

Computer Hardware

Operating System

User Program

User-Mode

Kernel-Mode

In ordinary OS (not Micro-Kernel OS), OS has to provideall the user services in Kernel-mode services

OS kernel tends to be huge

System Call

OS Procedure (in the OS kernel)

CS 514 Operating Systems

Intro_II/026

Micro-Kernel Architecture (continued)

Computer Hardware

Operating System

User Program

User-Mode

Kernel-Mode

Spooler

Micro-Kernel Architecture is based on Client-Server Model

Client Server

Micro-kernel Architecture Make the OS kernel as small as possible

Operating System becomes a service broker

CS 514 Operating Systems

Intro_II/027

Micro-Kernel Architecture (continued)

What is it good for?

MS Windows uses micro-kernel architecture for this reason

(1) Each OS function becomes a module

A bug in OS can be fixed by replacing a module

(what we should do if “monolithic structure kernel”?)

(2) Better robustness

OS functions may be executed in user-mode

(a bug in a module will not crash the kernel)

CS 514 Operating Systems

Intro_II/028