Tutorial voice over
tatiana e lorenzo
Created on February 8, 2024
More creations to inspire you
VACCINES & IMMUNITY
Presentation
UNCOVERING REALITY
Presentation
LAS ESPECIES ANIMALES MÁS AMENAZADAS
Presentation
POLITICAL POLARIZATION
Presentation
WATER PRESERVATION
Presentation
PROMOTING ACADEMIC INTEGRITY
Presentation
ARTICLES
Presentation
Transcript
Elaborato da: Sebastiani Lorenzo e Fioretti Francesco
start >
Programmazione concorrente
Cos'è la programmazione concorrente
fork
Concetti base
La programmazione concorrente è un paradigma di programmazione che consente l'esecuzione simultanea di multiple parti di un programma, che possono essere processi o thread, per migliorare l'efficienza e la performance su computer multi-core o in ambienti distribuiti. Questa tecnica è fondamentale in applicazioni dove il tempo di risposta e l'uso efficiente delle risorse di sistema sono critici, come nei sistemi operativi, applicazioni web ad alte prestazioni, elaborazione di dati in tempo reale, e molti altri contesti.
cos'è la programmazione concorrente?
Processi e thread
Concorrenza e parallelismo
Processo: Un'istanza di un programma in esecuzione. Ogni processo ha il suo spazio di indirizzamento e risorse allocate dal sistema operativo. Thread: La più piccola sequenza di istruzioni programmabili che può essere gestita in modo indipendente dallo scheduler del sistema operativo. Un processo può contenere più thread, i quali condividono lo stesso spazio di indirizzamento e risorse del processo padre ma possono essere eseguiti concorrentemente.
Processi e thread
Concorrenza e parallelismo
Concorrenza: Si riferisce alla capacità di un sistema di gestire più operazioni allo stesso tempo. Non implica necessariamente che queste operazioni vengano eseguite simultaneamente; piuttosto, che le operazioni possono progredire insieme. Parallelismo: Si verifica quando più operazioni vengono eseguite simultaneamente su più core o processori.
Fork
Nel contesto dei sistemi operativi Unix-like, fork() è una chiamata di sistema che crea un nuovo processo duplicando quello esistente. Il processo originale viene chiamato "padre" mentre il nuovo è noto come "figlio". Questa operazione è fondamentale per implementare la concorrenza a livello di processo.Quando un processo chiama fork(), il sistema operativo crea una copia del processo chiamante. Questa copia ha il proprio spazio di indirizzamento unico, ma inizialmente condivide lo stesso codice e dati del processo padre. Dopo la fork, padre e figlio possono divergere, eseguendo codice differente o lo stesso codice ma con dati diversi.