+ All Categories
Home > Documents > Operating System Concepts Part II Department of Computer Science Southern Illinois University...

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

Date post: 17-Jan-2016
Category:
Upload: martina-johnson
View: 214 times
Download: 0 times
Share this document with a friend
Popular Tags:
28
Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: [email protected] S 514 Operating Systems Intro_II/001
Transcript
Page 1: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

Operating System Concepts Part II

Department of Computer ScienceSouthern Illinois University Edwardsville

Spring, 2009

Dr. Hiroshi FujinokiE-mail: [email protected]

CS 514 Operating Systems

Intro_II/001

Page 2: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 3: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 4: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 5: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 6: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 7: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 8: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 9: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 10: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 11: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 12: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 13: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 14: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 15: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 16: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 17: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

“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

Page 18: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 19: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 20: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 21: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 22: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 23: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 24: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

“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

Page 25: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

“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

Page 26: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 27: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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

Page 28: Operating System Concepts Part II Department of Computer Science Southern Illinois University Edwardsville Spring, 2009 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu.

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


Recommended