Logo NEXUS

NEXUS didattica

← Torna indietro
Informatica / Lezione Teorica

Concetto di Processo e di Thread

Programmi in esecuzione, PCB (Process Control Block), multitasking, concorrenza e granularità dei thread leggeri.

1. Che cos'è un Processo?

In un sistema operativo moderno, un processo non è semplicemente un file eseguibile salvato su disco, ma un'istanza dinamica di un programma in corso di esecuzione. Il sistema operativo gestisce ciascun processo assegnandogli risorse dedicate e tracciandone lo stato attraverso una struttura dati denominata PCB (Process Control Block), che include:

2. Dal Processo al Thread (Lightweight Process)

Un processo tradizionale possiede un singolo flusso di esecuzione sequenziale. Tuttavia, applicazioni complesse (come browser web o suite di montaggio video) richiedono di eseguire più attività in parallelo (es. scaricare un file mentre si renderizza una pagina). Per evitare l'alto costo della creazione di interi processi indipendenti (che richiedono spazi di memoria isolati), si introducono i Thread:

Vantaggio Architetturale: Il cambio di contesto (Context Switch) tra thread dello stesso processo è notevolmente più rapido ed efficiente rispetto a quello tra processi completi, riducendo l'overhead del sistema operativo.

3. Simulatore Interattivo: Gestore di Processi e Thread

Usa il simulatore sottostante per creare nuovi processi di sistema e aggiungere thread interni monitorandone l'allocazione.

nexus-kernel-manager:~# ps --threads Kernel Process Table

Processi Attivi (PID)

PID 101: /sbin/systemd (Stato: Running)
↳ Thread #1 (Main Init)
PID 482: /usr/bin/nexus-browser (Stato: Running)
↳ Thread #1 (UI Render)
↳ Thread #2 (Network I/O)

Metriche del Sistema

Processi Totali: 2
Thread Totali: 3
Carico CPU (Media): 1.4%


Clicca sui pulsanti per simulare l'esecuzione di nuove entità nel kernel.