Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Processes and threads. (Chapter 2)

Содержание

Processes The Process ModelMultiprogramming of four programsConceptual model of 4 independent, sequential processesOnly one program active at any instant
Processes and ThreadsChapter 22.1 Processes2.2 Threads2.3 Interprocess communication2.4 Classical IPC problems2.5 Scheduling Processes The Process ModelMultiprogramming of four programsConceptual model of 4 independent, sequential Process CreationPrincipal events that cause process creationSystem initializationExecution of a process creation Process TerminationConditions which terminate processesNormal exit (voluntary)Error exit (voluntary)Fatal error (involuntary)Killed by another process (involuntary) Process HierarchiesParent creates a child process, child processes can create its own Process States (1)Possible process statesrunningblockedreadyTransitions between states shown Process States (2)Lowest layer of process-structured OShandles interrupts, schedulingAbove that layer are sequential processes Implementation of Processes (1)Fields of a process table entry Implementation of Processes (2)Skeleton of what lowest level of OS does when an interrupt occurs Threads The Thread Model (1)(a) Three processes each with one thread(b) One process with three threads The Thread Model (2)Items shared by all threads in a processItems private to each thread The Thread Model (3)Each thread has its own stack Thread Usage (1)A word processor with three threads Thread Usage (2)A multithreaded Web server Thread Usage (3)Rough outline of code for previous slide(a) Dispatcher thread(b) Worker thread Thread Usage (4)Three ways to construct a server Implementing Threads in User SpaceA user-level threads package Implementing Threads in the KernelA threads package managed by the kernel Hybrid Implementations  Multiplexing user-level threads onto kernel- level threads Scheduler ActivationsGoal – mimic functionality of kernel threadsgain performance of user space Pop-Up ThreadsCreation of a new thread when message arrives(a) before message arrives(b) after message arrives Making Single-Threaded Code Multithreaded (1)Conflicts between threads over the use of a global variable Making Single-Threaded Code Multithreaded (2)Threads can have private global variables Interprocess Communication Race ConditionsTwo processes want to access shared memory at same time Critical Regions (1)	Four conditions to provide mutual exclusionNo two processes simultaneously in Critical Regions (2)Mutual exclusion using critical regions Mutual Exclusion with Busy Waiting (1)Proposed solution to critical region problem(a) Process Mutual Exclusion with Busy Waiting (2)Peterson's solution for achieving mutual exclusion Mutual Exclusion with Busy Waiting (3)Entering and leaving a critical region using the TSL instruction Sleep and WakeupProducer-consumer problem with fatal race condition SemaphoresThe producer-consumer problem using semaphores MutexesImplementation of mutex_lock and mutex_unlock Monitors (1)Example of a monitor Monitors (2)Outline of producer-consumer problem with monitorsonly one monitor procedure active at Monitors (3)Solution to producer-consumer problem in Java (part 1) Monitors (4)Solution to producer-consumer problem in Java (part 2) Message PassingThe producer-consumer problem with N messages BarriersUse of a barrierprocesses approaching a barrierall processes but one blocked at Dining Philosophers (1)Philosophers eat/thinkEating needs 2 forksPick one fork at a time Dining Philosophers (2)A nonsolution to the dining philosophers problem Dining Philosophers (3)Solution to dining philosophers problem (part 1) Dining Philosophers (4)Solution to dining philosophers problem (part 2) The Readers and Writers ProblemA solution to the readers and writers problem The Sleeping Barber Problem (1) The Sleeping Barber Problem (2)Solution to sleeping barber problem. Scheduling Introduction to Scheduling (1)Bursts of CPU usage alternate with periods of Introduction to Scheduling (2)Scheduling Algorithm Goals Scheduling in Batch Systems (1)An example of shortest job first scheduling Scheduling in Batch Systems (2)Three level scheduling Scheduling in Interactive Systems (1)Round Robin Schedulinglist of runnable processeslist of runnable Scheduling in Interactive Systems (2)A scheduling algorithm with four priority classes Scheduling in Real-Time SystemsSchedulable real-time systemGivenm periodic eventsevent i occurs within period Policy versus MechanismSeparate what is allowed to be done with how it Thread Scheduling (1)Possible scheduling of user-level threads50-msec process quantumthreads run 5 msec/CPU burst Thread Scheduling (2)Possible scheduling of kernel-level threads50-msec process quantumthreads run 5 msec/CPU burst
Слайды презентации

Слайд 2 Processes The Process Model
Multiprogramming of four programs
Conceptual model of

Processes The Process ModelMultiprogramming of four programsConceptual model of 4 independent,

4 independent, sequential processes
Only one program active at any

instant

Слайд 3 Process Creation
Principal events that cause process creation
System initialization
Execution

Process CreationPrincipal events that cause process creationSystem initializationExecution of a process

of a process creation system
User request to create

a new process
Initiation of a batch job

Слайд 4 Process Termination
Conditions which terminate processes
Normal exit (voluntary)
Error exit

Process TerminationConditions which terminate processesNormal exit (voluntary)Error exit (voluntary)Fatal error (involuntary)Killed by another process (involuntary)

(voluntary)
Fatal error (involuntary)
Killed by another process (involuntary)


Слайд 5 Process Hierarchies
Parent creates a child process, child processes

Process HierarchiesParent creates a child process, child processes can create its

can create its own process
Forms a hierarchy
UNIX calls this

a "process group"
Windows has no concept of process hierarchy
all processes are created equal

Слайд 6 Process States (1)
Possible process states
running
blocked
ready
Transitions between states shown

Process States (1)Possible process statesrunningblockedreadyTransitions between states shown

Слайд 7 Process States (2)
Lowest layer of process-structured OS
handles interrupts,

Process States (2)Lowest layer of process-structured OShandles interrupts, schedulingAbove that layer are sequential processes

scheduling
Above that layer are sequential processes


Слайд 8 Implementation of Processes (1)
Fields of a process table

Implementation of Processes (1)Fields of a process table entry

entry


Слайд 9 Implementation of Processes (2)
Skeleton of what lowest level

Implementation of Processes (2)Skeleton of what lowest level of OS does when an interrupt occurs

of OS does when an interrupt occurs



Слайд 10 Threads The Thread Model (1)
(a) Three processes each with

Threads The Thread Model (1)(a) Three processes each with one thread(b) One process with three threads

one thread
(b) One process with three threads


Слайд 11 The Thread Model (2)
Items shared by all threads

The Thread Model (2)Items shared by all threads in a processItems private to each thread

in a process
Items private to each thread


Слайд 12 The Thread Model (3)
Each thread has its own

The Thread Model (3)Each thread has its own stack

stack


Слайд 13 Thread Usage (1)
A word processor with three threads

Thread Usage (1)A word processor with three threads

Слайд 14 Thread Usage (2)
A multithreaded Web server

Thread Usage (2)A multithreaded Web server

Слайд 15 Thread Usage (3)
Rough outline of code for previous

Thread Usage (3)Rough outline of code for previous slide(a) Dispatcher thread(b) Worker thread

slide
(a) Dispatcher thread
(b) Worker thread


Слайд 16 Thread Usage (4)
Three ways to construct a server

Thread Usage (4)Three ways to construct a server

Слайд 17 Implementing Threads in User Space
A user-level threads package

Implementing Threads in User SpaceA user-level threads package

Слайд 18 Implementing Threads in the Kernel
A threads package managed

Implementing Threads in the KernelA threads package managed by the kernel

by the kernel


Слайд 19 Hybrid Implementations
Multiplexing user-level threads onto kernel-

Hybrid Implementations Multiplexing user-level threads onto kernel- level threads

level threads


Слайд 20 Scheduler Activations
Goal – mimic functionality of kernel threads
gain

Scheduler ActivationsGoal – mimic functionality of kernel threadsgain performance of user

performance of user space threads
Avoids unnecessary user/kernel transitions
Kernel assigns

virtual processors to each process
lets runtime system allocate threads to processors
Problem: Fundamental reliance on kernel (lower layer)
calling procedures in user space (higher layer)

Слайд 21 Pop-Up Threads
Creation of a new thread when message

Pop-Up ThreadsCreation of a new thread when message arrives(a) before message arrives(b) after message arrives

arrives
(a) before message arrives
(b) after message arrives


Слайд 22 Making Single-Threaded Code Multithreaded (1)
Conflicts between threads over

Making Single-Threaded Code Multithreaded (1)Conflicts between threads over the use of a global variable

the use of a global variable


Слайд 23 Making Single-Threaded Code Multithreaded (2)
Threads can have private

Making Single-Threaded Code Multithreaded (2)Threads can have private global variables

global variables


Слайд 24 Interprocess Communication Race Conditions
Two processes want to access shared

Interprocess Communication Race ConditionsTwo processes want to access shared memory at same time

memory at same time


Слайд 25 Critical Regions (1)
Four conditions to provide mutual exclusion
No

Critical Regions (1)	Four conditions to provide mutual exclusionNo two processes simultaneously

two processes simultaneously in critical region
No assumptions made about

speeds or numbers of CPUs
No process running outside its critical region may block another process
No process must wait forever to enter its critical region

Слайд 26 Critical Regions (2)
Mutual exclusion using critical regions

Critical Regions (2)Mutual exclusion using critical regions

Слайд 27 Mutual Exclusion with Busy Waiting (1)
Proposed solution to

Mutual Exclusion with Busy Waiting (1)Proposed solution to critical region problem(a)

critical region problem
(a) Process 0. (b)

Process 1.

Слайд 28 Mutual Exclusion with Busy Waiting (2)
Peterson's solution for

Mutual Exclusion with Busy Waiting (2)Peterson's solution for achieving mutual exclusion

achieving mutual exclusion


Слайд 29 Mutual Exclusion with Busy Waiting (3)
Entering and leaving

Mutual Exclusion with Busy Waiting (3)Entering and leaving a critical region using the TSL instruction

a critical region using the
TSL instruction


Слайд 30 Sleep and Wakeup
Producer-consumer problem with fatal race condition

Sleep and WakeupProducer-consumer problem with fatal race condition

Слайд 31 Semaphores
The producer-consumer problem using semaphores

SemaphoresThe producer-consumer problem using semaphores

Слайд 32 Mutexes
Implementation of mutex_lock and mutex_unlock

MutexesImplementation of mutex_lock and mutex_unlock

Слайд 33 Monitors (1)
Example of a monitor

Monitors (1)Example of a monitor

Слайд 34 Monitors (2)
Outline of producer-consumer problem with monitors
only one

Monitors (2)Outline of producer-consumer problem with monitorsonly one monitor procedure active

monitor procedure active at one time
buffer has N slots


Слайд 35 Monitors (3)
Solution to producer-consumer problem in Java (part

Monitors (3)Solution to producer-consumer problem in Java (part 1)

Слайд 36 Monitors (4)
Solution to producer-consumer problem in Java (part

Monitors (4)Solution to producer-consumer problem in Java (part 2)

2)


Слайд 37 Message Passing
The producer-consumer problem with N messages

Message PassingThe producer-consumer problem with N messages

Слайд 38 Barriers
Use of a barrier
processes approaching a barrier
all processes

BarriersUse of a barrierprocesses approaching a barrierall processes but one blocked

but one blocked at barrier
last process arrives, all are

let through

Слайд 39 Dining Philosophers (1)
Philosophers eat/think
Eating needs 2 forks
Pick one

Dining Philosophers (1)Philosophers eat/thinkEating needs 2 forksPick one fork at a

fork at a time
How to prevent deadlock




Слайд 40 Dining Philosophers (2)
A nonsolution to the dining philosophers

Dining Philosophers (2)A nonsolution to the dining philosophers problem

problem


Слайд 41 Dining Philosophers (3)
Solution to dining philosophers problem (part

Dining Philosophers (3)Solution to dining philosophers problem (part 1)

Слайд 42 Dining Philosophers (4)
Solution to dining philosophers problem (part

Dining Philosophers (4)Solution to dining philosophers problem (part 2)

Слайд 43 The Readers and Writers Problem
A solution to the

The Readers and Writers ProblemA solution to the readers and writers problem

readers and writers problem


Слайд 44 The Sleeping Barber Problem (1)

The Sleeping Barber Problem (1)

Слайд 45 The Sleeping Barber Problem (2)
Solution to sleeping barber

The Sleeping Barber Problem (2)Solution to sleeping barber problem.

problem.


Слайд 46 Scheduling Introduction to Scheduling (1)
Bursts of CPU usage alternate

Scheduling Introduction to Scheduling (1)Bursts of CPU usage alternate with periods

with periods of I/O wait
a CPU-bound process
an I/O bound

process

Слайд 47 Introduction to Scheduling (2)
Scheduling Algorithm Goals

Introduction to Scheduling (2)Scheduling Algorithm Goals

Слайд 48 Scheduling in Batch Systems (1)
An example of shortest

Scheduling in Batch Systems (1)An example of shortest job first scheduling

job first scheduling


Слайд 49 Scheduling in Batch Systems (2)
Three level scheduling

Scheduling in Batch Systems (2)Three level scheduling

Слайд 50 Scheduling in Interactive Systems (1)
Round Robin Scheduling
list of

Scheduling in Interactive Systems (1)Round Robin Schedulinglist of runnable processeslist of

runnable processes
list of runnable processes after B uses up

its quantum

Слайд 51 Scheduling in Interactive Systems (2)
A scheduling algorithm with

Scheduling in Interactive Systems (2)A scheduling algorithm with four priority classes

four priority classes


Слайд 52 Scheduling in Real-Time Systems
Schedulable real-time system
Given
m periodic events
event

Scheduling in Real-Time SystemsSchedulable real-time systemGivenm periodic eventsevent i occurs within

i occurs within period Pi and requires Ci seconds
Then

the load can only be handled if

Слайд 53 Policy versus Mechanism
Separate what is allowed to be

Policy versus MechanismSeparate what is allowed to be done with how

done with how it is done
a process knows which

of its children threads are important and need priority

Scheduling algorithm parameterized
mechanism in the kernel

Parameters filled in by user processes
policy set by user process


Слайд 54 Thread Scheduling (1)
Possible scheduling of user-level threads
50-msec process

Thread Scheduling (1)Possible scheduling of user-level threads50-msec process quantumthreads run 5 msec/CPU burst

quantum
threads run 5 msec/CPU burst


  • Имя файла: processes-and-threads-chapter-2.pptx
  • Количество просмотров: 114
  • Количество скачиваний: 0