Concetti Chiave
- Il sistema operativo (S.O.) gestisce le risorse del calcolatore, fornendo un'interfaccia per l'utente e supportando sistemi monotask e multitask.
- Componenti chiave del S.O. includono l'interprete comandi, il gestore della memoria, delle periferiche, dei file e il kernel.
- I processi sono programmi in esecuzione caratterizzati da codice e stato, gestiti dal gestore dei processi tramite un descrittore di processo.
- Gli stati di un processo includono: in esecuzione, in attesa e pronto, determinando la gestione del processore.
- Lo scheduling dei processi, come il time-sharing, permette l'illusione di esecuzione contemporanea assegnando un quanto di tempo a ciascun processo.
Indice
Sistema operativo
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. 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.
•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.
I 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 gestore dei processi si occupa di eseguire i vari processi, memorizza i dati di ciascun processo in una struttura dati chiamata descrittore di processo.
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 del sistema operativo?
- Quali sono le differenze tra sistemi MONOTASK e MULTITASK?
- Quali sono i componenti principali del sistema operativo?
- Come viene gestita la memoria nei sistemi operativi moderni?
- Che cos'è lo scheduling dei processi e come funziona il time-sharing?
Il sistema operativo fornisce un'interfaccia per usare e gestire il calcolatore in modo semplice e gestisce le risorse del calcolatore.
I sistemi MONOTASK permettono l'esecuzione di un solo programma utente per volta, mentre i sistemi MULTITASK permettono l’esecuzione di più programmi utente contemporaneamente.
I componenti principali includono l'interprete comandi, il gestore della memoria, il gestore delle periferiche, il gestore dei file e il nucleo (kernel).
La memoria è gestita dal gestore della memoria, che si occupa dell’allocazione dinamica della memoria centrale ai programmi in esecuzione e può utilizzare la memoria virtuale come area di appoggio.
Lo scheduling dei processi è utilizzato per dare l'illusione dell'esecuzione contemporanea di processi. Il time-sharing assegna a ogni processo un quanto di tempo, dopo il quale il processo è spostato in stato di pronto e il processore è assegnato a un altro processo.