Status scroll
0%
Capitolo 4 di 1625%
Capitolo 04Sessione operativa · 3h

Linux / Kernel / Shell

Processi, Thread e Scheduling

Come il sistema organizza l’esecuzione dei programmi, il multitasking e la competizione per la .

Modalità

FocusOS / Linux
Outputteoria + pratica

Checkpoint 1

Definire e senza confonderli.

Checkpoint 2

Comprendere gli stati base di un .

Checkpoint 3

Capire il senso pratico dello .

Glossario del capitolo

Termini da tenere aperti mentre studi

Tocca un termine per aprire il drawer e collegare teoria, comandi e pratica Linux.

Perché conta

Capire , e ti permette di leggere il sistema come un atto di coordinamento intelligente, non come magia.

Quando un programma rallenta o blocca, il problema spesso non è il programma ma come il sistema sta allocando o escludendo tempo — e qui lo è il protagonista.

Sezione operativa

Processo vs thread

Un è un contenitore di esecuzione con memoria e risorse proprie. Un è un flusso di lavoro dentro quel contenitore.

La differenza pratica è importante: i sono più isolati, i condividono di più e quindi collaborano più velocemente ma possono intralciarsi se progettati male.

Da tenere a mente

  • Più isolamento nei , più condivisione nei .
  • Confondere i due concetti porta a errori architetturali.

Sezione operativa

Gli stati base di un processo

Un può essere pronto, in esecuzione, in attesa o terminato. Non sono etichette decorative: descrivono il punto del ciclo di vita in cui si trova.

Capire questi stati aiuta a leggere meglio anche strumenti Linux come ps o top.

Da tenere a mente

  • Non tutti i attivi stanno davvero usando la in questo momento.
  • Attesa e blocco sono normali quando si aspetta I/O.

Sezione operativa

Scheduling: dare tempo a tutti senza caos

Lo decide quale ottiene tempo e per quanto. L’obiettivo non è solo "essere giusto", ma mantenere il sistema reattivo e utile per l’utente.

Qui nasce il multitasking percepito: l’illusione efficace di molte cose che accadono insieme.

Da tenere a mente

  • Lo bilancia priorità, reattività e throughput.
  • La viene condivisa a finestre di tempo molto piccole.

Checkpoint finale

Cosa portarti via

  • Processi e thread non sono sinonimi.
  • Gli stati dei processi aiutano a leggere il comportamento del sistema.
  • Lo scheduler è il motivo per cui il multitasking sembra naturale.
Errori comuni
  • e sono sinonimi: no — il è il contenitore, il è il flusso di lavoro dentro quel contenitore.
  • Più = sempre meglio: falso — il sovraccarico di context switching aumenta, e i non condividono dati facilmente.
  • Un "in attesa" è bloccato male: spesso no — è normal esperare I/O; lo lo sospende temporaneamente.
  • Lo sceglie il più veloce: non sempre — il goal è reattività percepita e throughput equilibrato, non solo velocità pura.
  • Confondere gli stati di un porta a diagnosi sbagliate quando si legge un tool come top o ps.
Nel mondo reale
  • Apri Visual Studio Code e Slack nello stesso momento: ogni app è un , lo alterna tempo e mantiene entrambe reattive.
  • Un download in background rallenta la compilazione di codice: sono stati di attesa e processamento che competono per I/O e .
  • Un in un'app Web server gestisce una richiesta mentre altri aspettano connessioni: è il model che rende scalabile il servizio.
Approfondisci

essenziale

Linux man pages: ps, top, htop

Riferimento pratico per osservare processi e stati in tempo reale.

Apri risorsa

vai-oltre

Operating Systems: Three Easy Pieces - Scheduling

Approfondimento didattico chiaro su come e perché lo scheduler prende decisioni.

Apri risorsa

deep-dive

Linux Kernel Scheduler Documentation

Riferimento tecnico avanzato su algoritmi e policy dello scheduler Linux moderno.

Mini task

Passo 1 — Osserva: apri un task manager (o top in Linux) e identifica almeno 3 in esecuzione e 3 in attesa.

Passo 2 — Leggi: per uno dei , cerca di capire se è in esecuzione, in attesa di I/O o sospeso.

Passo 3 — Concludi: scrivi una frase su perché il multitasking fluido dipende da uno intelligente, non solo da processori veloci.

Prompt operativo

Fermati e ragiona

  • Quando conviene usare più thread invece di più processi?
  • Perché un processo in attesa non è per forza "bloccato male"?

Progress Dashboard Quiz

Hai completato 0/0 domande su 16 capitoli con quiz.

Capitoli completati: 0/16

Quiz capitolo

Verifica rapida

1/3

Qual è la differenza più corretta tra processo e thread?