|
|
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 coordi 131j94b nare 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.
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.
E' la possibilità di caricare più programmi in memoria centrale in grado di condividere l'uso della CPU e delle risorse dell'elaboratore.
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.
L'utente non interagisce con il calcolatore durante l'esecuzione, viene limitato il tempo di attesa dell'utente.
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.
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 influiscono sulla CPU.
Vengono dette interne (o sincrone) quando dipendono da fattori interni, come ad esempio lo scadere del time-slice.
Vengono dette esterne (o asincrone) quando dipendono da fattori esterni, come quando finisce la carta della stampante.
La CPU è un esecutore sequenziale di operazioni e quindi un processo.
Il nucleo è la parte del S.O. più vicina all'hardware perciò ne è strettamente legato.
Il problema delle priorità dei processi viene risolto dal nucleo attraverso le politiche di scheduling.
E' uno dei compiti del S.O. che si occupa della suddivisione della memoria centrale in blocchi ciascuno identificato con un indirizzo (locazione) da assegnare ai diversi processi.
Può avvenire in due modi:
- partizioni fisse: la memoria centrale in parti di uguale dimensione, lo svantaggio è che viene sprecata gran
parte della memoria, l'unico vantaggio è che il S.O. ha un minor carico di lavoro
- partizioni variabili: le aree di memoria vengono definite in base all'entità dei processi che devono contenere, per il S.O. vi è un carico maggiore però non c'è più uno spreco della memoria perchè le dimensioni delle partizioni coincidono con quelledei processi.
La scelta delle partizioni segue due logiche diverse:
- best fit viene scelto il minore tra gli spazi liberi che possono contenere il processo
- first fit viene scelto il primo spazio libero con dimensioni sufficienti per contenere il processo
Si realizza attraverso due diverse tecniche i suddivisione dei programmi in blocchi:
- paginazione: un programma viene diviso in blocchi di uguale dimensione detti pagine logiche, a loro volta corrispondenti a pagine fisiche create con la suddivisione della memoria centrale
- segmentazione: la partizione viene imposta da criteri logici e quindi può essere scelta dal programmatore, ogni blocco è detto segmento ed ha una lunghezza diversa, è l'applicazione della partizione variabile
E' la virtualizzazione delle memorie di massa.
Le sue funzioni sono ottimizzare la gestione dello spazio disponibile sulle memorie di massa, garantire l'accesso a più utenti contemporaneamente, protezione dall'intervento di altri utenti e rendere disponibile le operazioni di uso comune dei file.
Privacy |
Articolo informazione
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2024