sistema operativo
Diversi tipi di sistemi operativi, evoluzione dei sistemi monoprogrammati in multiprogrammati, processi, gestione della memoria, nucleo e file system (4 pagine formato doc)
SISTEMA OPERATIVO SISTEMA OPERATIVO E' l'insieme dei programmi che si occupano di rendere disponibili all'utente le risorse del computer, coordinando l'input e l'output secondo le politiche di gestione (codice di comportamento del sistema di elaborazione).
E' l'interfaccia tra la macchina e l'utente ha lo scopo di gestire le risorse del sistema di elaborazione e coordinare gli eventi che discendono dal suo uso. La portabilità di un S.O. è la capacità di essere utilizzato in un ambiente diverso rispetto a quello per cui è stato progettato. SISTEMI UNIPROGRAMMATI Vengono detti sistemi uniprogrammati quando in memoria centrale risiede solo un programma per volta. Questo tipo di sistema però ha un grosso svantaggio, cioè la macchina resta inutilizzata per un lungo tempo. Per questo motivo sono stati introdotti i sistemi multiprogrammati. MULTIPROGRAMMAZIONE E' la possibilità di caricare più programmi in memoria centrale in grado di condividere l'uso della CPU e delle risorse dell'elaboratore. SISTEMI DEDICATI Prevedono l'utilizzo da parte di un utente alla volta. Supportano il multitasking che permette alle applicazioni di essere eseguite contemporaneamente. Possono essere ampliati orizzontalmente (aggiungendo una postazione di lavoro) o verticalmente (utilizzando postazioni diverse). Lo svantaggio maggiore è lo spreco delle risorse. SISTEMI BATCH L'utente non interagisce con il calcolatore durante l'esecuzione, viene limitato il tempo di attesa dell'utente. SISTEMI MULTIUTENTE Si opera un parallelismo tra le richieste. Due importanti parametri sono la velocità della CPU espressa in MIPS (milioni di istruzioni per secondo) e le dimensioni della memoria centrale. Un sistema multiutente è certamente multiprogrammato ma non è necessario l'opposto. SISTEMI REAL TIME Rispondono istantaneamente agli stimoli. Essendo praticamente impossibile la realizzazione di un'operazione in un tempo nullo si parla di tempo reale in senso lato e in senso stretto. Si basano sulla correttezza matematica dei risultati e sulla correttezza cronologica. PROCESSI Sono l'insieme delle istruzioni da eseguire in una data sequenza e dei dati elaborati dalle stesse istruzioni. I processi si evolvono nel tempo e sono di tipo sequenziale, questa evoluzione è causata dal processore. Visto che esistono più processi in memoria ma esiste una sola risorsa, bisogna assegnare quindi ad ogni processo uno stato e una priorità. Ogni processo può trovarsi in tre stati diversi: - esecuzione quando le risorse sono state assegnate - attesa quando vengono richieste le risorse - pronto quando si è in attesa della risorsa richiesta Il processo resta in esecuzione solo per un intervallo fisso di tempo detto time-slice. Si dice che le risorse vengono gestite in time sharing (partizione di tempo) quando il suo uso è concesso ad un tempo massimo. Può avvenire che un processo non giunga a terminazione perchè venga interrotto. Le interruzioni sono segnali emessi al verificarsi di determinati eventi e influ