Concetti Chiave
- Il sistema operativo è un insieme di programmi che gestisce le risorse del calcolatore e fornisce un'interfaccia utente per l'interazione con la macchina.
- I sistemi operativi moderni si suddividono in MONOTASK, che eseguono un solo programma alla volta, e MULTITASK, che permettono l'esecuzione simultanea di più programmi.
- I componenti principali del sistema operativo includono l'interprete comandi, il gestore della memoria, il gestore delle periferiche, il gestore dei file e il nucleo (kernel).
- La gestione dei processi prevede diversi stati, come in esecuzione, in attesa e pronto, e utilizza lo scheduling per simulare l'esecuzione contemporanea.
- Il time-sharing è una tecnica di scheduling che assegna a ciascun processo un intervallo di tempo, permettendo un'efficiente gestione delle risorse del processore.
Il sistema operativo (S.O.) è l'insieme di programmi e librerie che opera direttamente sulla macchina fisica. Esso fornisce all'utente una interfaccia per usare e gestire il calcolatore in modo semplice; è responsabile della gestione delle risorse del calcolatore.
Classificazione dei sistemi operativi
I moderni S.O. si classificano in:
•sistemi MONOTASK: permettono l'esecuzione di un solo programma utente per volta (DOS);
•sistemi MULTITASK: permettono l’esecuzione di più programmi utente contemporaneamente.
Il sistema operativo è composto da:
•interprete comandi: l’interfaccia con cui l’utente del calcolatore interagisce in modo diretto, è il componente più esterno. Esso definisce le operazioni, che possono essere utilizzate direttamente dall’utente finale, chiamate comandi. Può essere basato su un'interfaccia a caratteri, o grafica;
•gestore della memoria: è responsabile dell’allocazione dinamica della memoria centrale ai programmi in esecuzione, suddivide la memoria tra i vari processi in esecuzione e gestisce la politica di assegnamento della memoria ai processi. Può usare una parte della memoria di massa come area di memoria di appoggio, la memoria virtuale (swap);
•gestore delle periferiche: gestisce il malfunzionamento delle periferiche e adatta la modalità d’uso delle singole periferiche a quello di poche tipologie di periferiche virtuali;
•gestore dei file: è responsabile della gestione della memoria secondaria (hard disk). Esso consente l’uso della memoria secondaria mediante una organizzazione logica in: volumi (contenitore di file e cartelle), cartelle (contenitore di un insieme di file e cartelle) e file (contenitore logico di informazioni, caratterizzato da un: contenuto ovvero una sequenza di byte, e da un nome che ne consente l’identificazione);
•nucleo (kernel): è responsabile della risorsa unità di elaborazione (processore) e dei processi (programmi in esecuzione); esso definisce tanti processori virtuali, uno per ogni programma che si vuole eseguire.
Il sistema operativo è corredato da un insieme di programmi di utilità per la configurazione, l'ottimizzazione e la gestione ordinaria del sistema: gestione degli utenti, delle periferiche e delle applicazioni.
Gestione dei processi
Un processo è un programma in esecuzione. È costituito da: un codice, il programma vero e proprio; e da uno stato, i dati contenuti in memoria e nei registri in un dato istante. Un programma può dar luogo a più processi.
Il Gli stati di un processo sono:
•in esecuzione: al processo è assegnato il processore, che esegue fino a quando si verifica un evento esterno o interno;
•in attesa: il processo arriva in questo stato a seguito di una interruzione interna, andrà in uno stato di pronto quando l’operazione richiesta sarà completata;
•pronto: il processo giunge qui dallo stato di attesa dopo il completamento dell’operazione input/ output richiesta, o dallo stato di esecuzione.
Lo SCHEDULING dei processi è utilizzato per dare l'illusione dell'esecuzione contemporanea di processi. Una possibilità è il TIME-SHARING, ovvero ad ogni processo è assegnato un quanto di tempo, allo scadere del quale il processo è spostato in stato di pronto ed il processore è assegnato ad un altro processo.
Domande da interrogazione
- Qual è la funzione principale di un sistema operativo?
- Quali sono le principali categorie di sistemi operativi?
- Quali componenti principali costituiscono un sistema operativo?
- Come avviene la gestione dei processi in un sistema operativo?
Il sistema operativo fornisce un'interfaccia per gestire il calcolatore e si occupa della gestione delle risorse del computer, operando direttamente sulla macchina fisica.
I sistemi operativi moderni si classificano in sistemi MONOTASK, che eseguono un solo programma alla volta, e sistemi MULTITASK, che permettono l'esecuzione di più programmi contemporaneamente.
Un sistema operativo è composto da un interprete comandi, gestore della memoria, gestore delle periferiche, gestore dei file e il nucleo (kernel), ognuno con funzioni specifiche per la gestione del calcolatore.
La gestione dei processi prevede che un programma in esecuzione possa trovarsi in vari stati (in esecuzione, in attesa, pronto) e utilizza lo scheduling, come il time-sharing, per dare l'illusione di esecuzione simultanea.