Estratto del documento

PROCESSI

AP 1

( THREAD

E

:

Un del dati

composto codice insieme

possibilmente di

da degli

è condiviso

processo un

: ,

,

stato

attributi mentre

descrivono lo in

è

che esecuzione

ne .

elementi identificatore

Gli di stato priorità

in esecuzione

processo program

sono :

un ,

,

,

informazioni

puntatori information

counter data

contest accounting

I/O

memoria

a .

,

, ,

,

Il elementi

Control

Processo contiene

Block ) ed

gli del

( creato

PCB è e

processo

supporta

dall' inoltre

gestito anche più

OS processi

, . figlio

fork

call

System chiamato che

C ) processo

nuovo

un

crea processo

: )

( l' intera memoria

copia

ne ,

duplicato

concorrente Ogni

mente

eseguito padre

al di

viene cui è un

ne processo

.

, il

albero

fork la

delle

altri radice

creando cosi cui è processo

può crearne un

con

" imiti bootstrap

Quando il

computer inizializza

vi che registri

viene è i

program

acceso

un fa

controller l' lo

device

della la nella

memoria

i memoria

05

carica

CPU e

e

, ,

partire imiti

il

lui inizia processo

e

forte

La restituisce di

in

-1 errore ;

caso

i figlio

nel del Églio

caso

o identificatore del

l' del

nel padre

caso .

cambia

Tra padre figlio solo l' la della file

perché registri i

i

memoria

ID cpu

e e

,

aperti li quello

eredita del

il di

copia padre

anche è

PCB una

e . della fork

di

( )

esempio

System exit un uso

call chiamata

la

)

( eseguendo

: FETTINA

) funzioni

exit salviamo

( lo le

status

status atexitlfun )

eseguiamo

, ffluslrl

exit gli )

( chiudiamo

Stream

scarichiamo

fon ) con

e on - ,

, exit

le aperti

file ( )

connessioni chiamiamo status

i exà

e si

qui

e può usare

- . nuovi processi

11 creare

per

System eseguendo exit

exit ) salviamo

(

)

call t status

: _ figli

dallo la li

ha

chiamo

lo iuit

status memoria il assegniamo

processo a

se

e

, .

Inoltre padre attivo risultato richiede

il la

finché

conserviamo il

è

se ancora non

Tutto

del

wait nello

entra

figlio

questo stato

la il di

in muore

caso non ma

:

con ,

figlio

zombie morto

padre il

Se termina

il invece

è , .

. , figlio

qualsiasi

System blocca

call finché

il

)

waitl ritorna

termina

padre

: e

non

un

figlio altrimenti

esiste figlio

specifico

aspettare

del

il se vogliamo

id -1

an

pro se uno

, ,

blocca finché figlio

la chiamata

dobbiamo waitpid )

( il

che padre

usare un con

particolare termina

D

processi

un .

] caratteristiche lo

hanno schednling

processi 2 : ;

o possedimento

il di risorse

o .

Un supportare casi

può

OS 4 : thread

singolo

singolo

supporta

1 MS-Dos processo un

con

un

. .

multipli

Alcuni presentano thread

sistemi singolo

processi

2 Unix con

ognuno un .

. environment supporta thread

molteplici

Un time

3 java processo

run un con

-

. . molteplici

molteplici thread

Windows supportano

4 moderni

sistemi più

i processi

Unix con

ognuno

e

. .

thread salvati

ha contenuti

Ogni stato mentre

i running

di esecuzione in

è

: uno non ,

, alle

variabili

alcuni

stock accedere

locali

le

contenitori

di esecuzione possono

uno per

, ,

' dentro

del loro counter indipendente

alla memoria E

risorse e processo processo

un

program

un

. .

mettono

Vantaggi thread

dei terminare

dei crearsi

tempo processi

ci ;

a

: meno e

- di processi

veloce

altro

all' switched

thread più

da è ;

passare un

- kernel

comunicare loro

Tra chiamare il

di

possono senza

- .

tutti

Sospendendo sospendono terminano

terminando i

si

processo

un

o o

thread nel processo .

J thread seguenti blocked

nei ready

Trovare stati

si running

possono : .

,

, sbloccarlo

cambiare bloccarlo

altro thread

Per thread

lo stato di possiamo creare un

:

un , , ,

registri lo

contenuti stack Esempio Remote

terminarlo duello Procedure (all

cavolo i nei e :

. .

gestione

implementare la

lo

thread

Per in thread

level

i dei

Thread ) cui

cult

user

useremo :

fatta dell'

nell'

applicazioni thread

l' esistenza

dalle dei

è è

os conoscenza

e a

space

user non .

schednling

le applicazioni gestiscono

Vantaggi lo thread

dei

ULT ;

: - lo dei privilegi

thread richiede dell'

switching i os ;

non

- ogni

gira su os

- .

bloccare blocca tutti

thread li

Svantaggi nel

ULT : un processo ;

- architetture multiprocessori

multi

vantaggi

sfrutta i di core

pieno o

a

non

- .

' mixato

L anche

anche

ULT può essere )

level

(

il kernel thread

kit

con .

I thread (

in )

pthread.li

C : *

( *

create t

int pthread altra

thread altri

pthread

pthread Const

-

. , _ ,

* *

void )

void *

( *

)

start )

routine d

( voi arg ;

,

-

l' del thread

memorizziamo attr

creato

thread

Jn ID ; Nulli

è sempre ,

funzione

la

start puntatore

da

routine argomento

il da

eseguire è

è passare come

arg

;

-

funzione

alla routine

start .

- dell'

Restituisce la

di

0 in successo o causa

caso

: errore .

,

( )

thread exit

d * value

void ptr

voi p ;

- .

termina corrente

thread rendendo il

disponibile valore .pt

il value per una

( )

)

cancello termina

pthread

eventuale thread

altro

operazione join

di invece

un

.

-

. .

(

int )

thread value

pthreadt

pthread void ptr

*

join * ;

,

. _

attende !

la value

Thread

terminazione del thread ptr

Se vi

id Nun

con =

. .

eventuale

valore

il restituito thread

memorizza dal .

Restituisce dell'

in altrimenti

di

0 la

caso successo

: errore

causa

, .

pthread

pthread

int thread )

(

detach t ;

-

.

notifica al sistema thread

che di

operazioni

ci join

saranno

non su .

dell'

Restituisce in altrimenti

di

0 la

caso successo

: errore

causa

, .

performance

le

Misurare :

lrt

Bisogna linkare e

-

lm

- .

Processi Thread

vs :

Performance lanciare terminare rispetto

veloce

/ thread più

è

° un a

: lanciare / Terminare processo

un .

forte

Memoria la la dell'

quando abbiamo intera

)

lancia copia

si con

° un processo

: Tutti

thread hanno

del alla stessa

mentre

padre memoria

memoria i accesso

,

globale condivisa . stesso

Comunicazione thread

i la

di condivisa

memoria

° per

processo usare

possono

uno

: Comunicativi

Inter

richiedono Processi

meccanismi

i processi di

comunicare i - .

,

Un safe

detto thread

thread multipli

simultaneamente

codice eseguirlo

è possono

se

- (

inaspettate

interazioni valore

incrementano insieme il

avere se

senza es :

.

aumentandolo

variabile solo

di arriva

ultimo

solo invece l'

di di che che

1 ;

n se

una )

modifica variabile

il di

valore una .

Categorie system

computer

di :

instruction singolo

singola

singole Data )

CSISD

singola

° processore

: una

esegue

un

dati custoditi

istruzione in singola

memoria

operare su una

per .

Instruction

Single Multiple istruzione

) eseguita

CSIMD ogni

Data è

° su un

:

dati

insieme diverso

di da processore

un .

Multiple instruction dati

)

Data (

Simgd

trasmessa

di è

° MISD : una sequenza

processori

di

insieme diversa

che sequenza

esegue

a ognuno una

un .

,

Multiple )

Instruction (

Multipla processori

Data di

insieme

MIND

° esegue

: un dati

simultaneamente istruzioni di

diverse diversi

di insiemi

sequenze su .

Architetture di

considerazioni multiprocessore

design di paralleli

OS processori

su :

concorrenti thread

processori

° o .

schednling

° .

sincronizzazione

° .

della

gestione

° memoria .

fault

affidabilità tolerawa

° e .

CONCORRENZA

2

AP

( :

Parole correlate

chiave alla concorrenza :

Operation

Atomic implementata

funzione un'

• azione sequenza

una

una come

: o indivisibili

istruzioni iniziano

che arrivano

di appaiono

più se

s come

o :

l' garantisce l'

atomicità

fine

alla isolamento dai

allo iniziale

tornano stato

o .

concorrenti

processi .

Critical action alle

codice in richiede risorse

di

sezione che accesso

• : una processo

un utilizzata

eseguita altro

deve da

condivise viene

mentre processo

un

e non essere .

Mutua esclusione trova critica delle

sta usando

sezione

in

si

se

° processo

un e

una

: altro in

si

condivise che

critica

risorse trovare sezione

può

nessun processo una

quelle stesse risorse condivise

usa . dati

Race thread

condition leggono condivisi

più scrivono

° processi e

o e

: )

tempo

finale (

dal

il delle Il

risultato loro lento

dipende esecuzioni scrive

più

. .

fare

due

Deadlock nulla

più aspetta

perché

processi

° che

possono

non

o

: ognuno )

altri faccia (

degli fa

aspetta aspetta

qualcosa nulla

es pz

: ps Ps

pz nessuno

e

uno : .

.

Live cambiano continuo

lock il nulla

fare

loro

due stato

di

più processi senza

° : o del

utile fini

di ai programma .

Starvation trascurato dalla la

schedula

viene riceve mai

• i un processo cpu

non

: .

Alcune difficoltà della concorrenza sono :

la globali

condivisione di risorse ;

- ottimale

dell'

difficoltà l' allocazione

la di modo

risorse in

di organizzare ;

os

- la localizzare

difficoltà di errori programmazione

di

- .

Il sistema operativo deve :

traccia

tenere (

vari

di )

processi PCB

saper ;

- attivo

allocare duello risorse ciascun ;

care

e processo

per

- proteggere fisiche dall' interferenza altri

le risorse dati processi

di

di ciascun ;

e processo

- indipendenti

output dalla velocità

i

che gli

processi siano dei

assicurarsi processi

e

- .

Se competono

i in

processi risorse

per

affrontare necessità

bisogna 3

comune :

mutua

la necessità di esclusione

avere ;

• deadlock ;

no

• stanati on

• no .

esclusione

mutua

No

esclusione

Mutua :

Un garantire mutua stamattina

deve esclusione

sempre no

programma e

no

,

deadlock Inoltre nella critica

trova sezione

che deve

si

un processo sua non non

. mentre nella

processi entrare

interferire altri critica

sezione

per

con me

sua

, finito

tempo

trovare

altro deve

ci

ci deve stare

si per

e un

sene .

facciamo

Non velocità

sul loro

sulla

alcuna dei

assunzione processi o

numero .

Tentativi

Ora alcuni supporto esclusione

problema

hardware

vediamo della

al

di mutua :

)

efficiente

sistemi le (

processori disabilitiamo interrupt

uni

° → poco .

)

( hardware

circuito 1

o

o deadlock

Esclusione

mutua

si no ,

,

stonati

potrebbe esserci

& valore in on

compariamo

swap

° compare : un 0

0 fare controllo

il

vogliamo

Avari cui

su

o

• ;]

presto es

1 a

o →

valore test

memoria di se sono

con e

un 0

facciamo

uguali lo il

swap nuovo

con

Garantisce deadlock garantisce

valore starvaltion

no no

non .

,

. hardware )

circuito

(

Istruzioni di scambia

exchange contenuto

il

° : [

registro 1

di o

di memoria

con uno

un .

Garantisce garantiscano stanati

deadlock

no on

non

, .

Sono utilizzabili multiprocessori Busy waiting

semplici Decide possibili

costoso

più

anche Stan

cs

con e

e con -

. , .

.

, presenti le

tutte architetture

in

Non sono .

software

)

(

Meccanismi semafori variabile

binari

la condition

mutex

comuni per concorrenza e

: non ,

,

,

monitor Flags / spiulocks

event mailbox messagli

es

, .

,

, hanno

i

Semafori semafori possibili

variabile intera operazioni

cui 3

su sono :

una

:

inizializzazione valore negativo

- a non

un .

seenwait

la decremento valore

il

- il

la valore

incrementa

sansigual

- .

Se il il

valore rappresenta

zo

è numero

di rappresenta

disponibili

risorse il

lo

se

,

di attesa

processi in di risorse

numero . qual

implementazione di sensi

seenwait e

] ( )

semafori altrimenti

la stornati

strong FIFO ci

weak può

è

guerra

sono essere on

se , .

semafori

mutua esclusione i

con potrebbero implementare

si semafori 8

la

i compare swap

con

)

pseudo codice

( l'

interrupt implementazione

Noi usiamo

le posix

o con .

semafori ( )

dei weak

è

che :

semaforo

staticamente

sunt il

sein creare

per

; .

(

init )

* int restituisce

sent value

pshared umsigued

sene 0 -1

;

sene errore

successo

- , .

,

, di

la d condivisibili

bene risorse

numero

o

( )

wait *

sent ;

seni sene

. donothiug

mettendo while t ) di

prima

;

un . -

.

)

*

(

sent implementare

covnt

post countxt

s

; possiamo

sera o

sen s

-

-

. . le

semafori and

i compare

con l'

(

destroy )

* interrupt exchange

sent le

Sun swap o

; con con

o

sene

- nel while

operazioni

giuste

le

con .

implementati in c +

e

non

( hanno facili

Monitor le funzionalità

stesse semafori da

dei più

sono usare

: ma

, .

del

locali solo

variabili accessibili

Le Con

le stesse

le

monitor

procedure

sono con .

troveranno

monitor

nel gli altri

entra in di

mentre

si coda

processi si una

attesa .

La condizionali

variabili

sincronizzazione contenute

delle

ottenuta

accessibili

è e

con

Possiamo

monitor variabili

il queste

dentro

da

solo operare con a

su

.

funzioni l' esecuzione

csignalcc sospende

cwaitcc condizione

dopo

)

) e una

: base della

riprende sulla

la condizione

stessa

( e .

Massage due interagiscono loro

passing tra soddisfare

devono

processi due

che

: ) (

la

(

la esclusione

requisiti sincronizzazione mutua la comunicazione per

: e

per fornisce

)

funzioni

Jl

informazioni queste

entrambe

scambiare Passing

massage

.

lavorando distribuiti multiprocessori

sistemi memori

Anteprima
Vedrai una selezione di 10 pagine su 66
Sistemi di Calcolo 2 Pag. 1 Sistemi di Calcolo 2 Pag. 2
Anteprima di 10 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi di Calcolo 2 Pag. 6
Anteprima di 10 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi di Calcolo 2 Pag. 11
Anteprima di 10 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi di Calcolo 2 Pag. 16
Anteprima di 10 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi di Calcolo 2 Pag. 21
Anteprima di 10 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi di Calcolo 2 Pag. 26
Anteprima di 10 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi di Calcolo 2 Pag. 31
Anteprima di 10 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi di Calcolo 2 Pag. 36
Anteprima di 10 pagg. su 66.
Scarica il documento per vederlo tutto.
Sistemi di Calcolo 2 Pag. 41
1 su 66
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche MAT/08 Analisi numerica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher simone_togn di informazioni apprese con la frequenza delle lezioni di Sistemi di calcolo e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma La Sapienza o del prof Lazzeretti Riccardo.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community