Vai al contenuto
MappeDSA
Ufficiale

TPSIT: Il Multitasking

Il concetto di multitasking rappresenta una funzionalità fondamentale nei moderni sistemi operativi, permettendo l’esecuzione contemporanea di più processi. Un programma è un insieme di istruzioni memorizzate su memoria di massa, rappresentando un’entità statica. Al contrario, un processo è un’istanza in evoluzione di un programma, eseguita dal processore e residente in memoria RAM, costituendo un’entità dinamica. I termini TASK e JOB sono sinonimi di processo e vengono utilizzati in contesti diversi: i sistemi batch utilizzano il termine “job”, mentre i sistemi time-sharing utilizzano “processo” o “task”.

L’ottimizzazione del tempo di CPU si ottiene grazie alla multiprogrammazione, che consente la presenza di più programmi in memoria contemporaneamente. Lo scheduling dei job e lo scheduling della CPU sono due meccanismi cruciali per la gestione efficiente dei processi. Lo scheduling dei job determina quali programmi vengono caricati in RAM dal disco, mentre lo scheduling della CPU assegna e sospende l’utilizzo della CPU ai vari programmi.

I sistemi operativi multitasking migliorano l’efficienza del sistema eseguendo altri programmi sulla CPU durante le fasi di attesa, creando un parallelismo virtuale. Questo parallelismo non è fisico poiché il processore è uno solo. Possiamo distinguere tra multitasking, che riguarda l’esecuzione di programmi indipendenti sulla CPU e sui processori di I/O, e multiprocessing, che estende la multiprogrammazione a sistemi dotati di più CPU e processori di I/O.

In sintesi, il multitasking rappresenta una tecnica essenziale per migliorare le prestazioni dei sistemi informatici, consentendo l’esecuzione simultanea di più processi e ottimizzando l’utilizzo delle risorse.

Scarica PDF

Tags: multitasking, sistemi operativi, multiprogrammazione, scheduling, parallelismo virtuale

*Riassunto iniziale realizzato con l’ausilio dell’IA