Il sistema operativo

Materie:Appunti
Categoria:Informatica
Download:88
Data:20.11.2001
Numero di pagine:4
Formato di file:.doc (Microsoft Word)
Download   Anteprima
sistema-operativo_3.zip (Dimensione: 5.22 Kb)
trucheck.it_il-sistema-operativo.doc     26.5 Kb
readme.txt     59 Bytes



Testo

Il sistema operativo

Il sistema operativo è una collezione organica di programmi che consentono l’utilizzo del PC.
I sistemi aperti sono costruiti x poter essere usati da + macchine, i sistemi proprietari sono costruiti per un piccolo numero di modelli.
Il sistema operativo è organizzato in maniera gerarchica di moduli (insieme di programmi) che agiscono attraverso le primitive. Attraverso una scala gerarchica, vi sono moduli di diverso livello che ne identifica la loro importanza: i moduli di livello più alto saranno quelli più vicini al linguaggio uomo, quelli di livello più basso al linguaggio macchina.
l’operazione logica corrisponde all’esigenza dell’utente di ottenere un risultato, l’operazione fisica consiste nell’eseguire molte operazioni strettamente dipendenti dal tipi di elaboratore e di periferica in questione. Per questo diverse operazioni fisiche potrebbero risolvere un solo tipo di operazione logica: se l’utente volesse stampare un documento, l’operazione logica sarà uguale indipendentemente dal tipo di stampante, cosa che invece cambierebbe l’operazione fisica se la stampante fosse diversa.
Il grado di portabilità di un sistema operativo determina la sua attitudine ad essere eseguito su macchine diverse.
Monoprogrammazione: si può elaborare un solo programma alla volta. Tuttavia nel sistema di monoprog. la memoria centrale elaborerà più programmi di quanto noi ne riusciamo a vedere: il programma relativo all’utente sarà solo uno, ma in memoria centrale ci saranno tutti quei programmi complementari a quello su cui noi stiamo lavorando. Inoltre il PC gestisce le interruzioni, cioè memorizza continuamente lo stato del programma per un eventuale errore di qualsiasi tipo che momentaneamente lo interrompa. Nella multiprogrammazione, invece, abbiamo un esecuzione contemporanea di programmi che sono tutti utilizzabili e visibili dall’utente.
una risorsa viene gestita in modo time sharing quando il suo uso viene concesso x un tempo che non può superare un massimo.
la multielaborazione (che si ha soltanto con più CPU) che consiste nell’attività simultanea della CPU ad elaborare diversi programmi. La multielab nella realtà è poco diffusa, ma si cerca sempre di sfruttare al massimo i tempi morti della CPU per avere l’impressione di poter elaborare più programmi insieme. In realtà sfruttare la CPU in modo efficiente significa utilizzare più programmi e saltare da uno all’altro, sfruttando i tempi morti, cercando di rendere la CPU sempre attiva. In questa maniera possiamo avere una multielaborazione in maniera virtuale. Con più programmi aperti, la CPU resterà più a lungo attiva, attuando una vera e propria politica di gestione: essa infatti verrà sfruttata per prima dai programmi che ne useranno di meno, in modo da evitare una “monopolizzazione” da parte di un solo programma, lasciando quello più “pesante” per ultimo.
I sistemi operativi possono essere: sistemi dedicati, sono quelli che prevedono l’utilizzo da parte di un solo utente per volta (PC). Essi fanno molto uso del multitasking che è un procedimento attraverso il quale più applicazioni vengono eseguite contemporaneamente sulla stessa macchina scambiando tra loro dati e risultati. Il sistema operativo dispone, infatti, di librerie a collegamento dinamico (DLL) che contengono procedure e funzioni condivise da più programmi (es. il salvataggio di un programma).
Con i sistemi batch l’utente non interagisce con il calcolatore durante l’esecuzione del programma, migliorando l’efficienza della gestione delle risorse ma perdendo del tutto l’interattività. Occorre cioè preparare prima tutto il lavoro da svolgere e al termine si ottiene il risultato. Con i sistemi real time, al contrario, l’elaborazione avviene quasi in contemporanea con l’aggiornamento. Questo non è mai realizzabile in pratica, in quanto vi è sempre una piccola perdita di tempo dovuta principalmente ai tempi dell’utente che, per quanto veloci, saranno sempre più lenti dei tempi macchina.
Per ottimizzare lo spazio libero, si ricorre alla deframmentazione della memoria: un procedimento che fa il PC che consiste nel leggere tutta la memoria, scaricare momentaneamente in un supporto tutti i programmi, compattare lo spazio libero e rimettere tutti i programmi. Questo procedimento lungo e non sempre attuabile a causa della necessità di avere un supporto, può essere ovviato con la paginazione e segmentazione, ovvero un procedimento per deframmentare i programmi stessi. Entrambi funzionano alla stessa maniera, chiaramente la segmentazione riduce i programmi in blocchi molto più piccole delle cosiddette “pagine” della paginazione. Ogni programma viene diviso in blocchi (o segmenti) e, attraverso un bit di stato (che funziona come un contatore), si formerà una scala in cui all’apice avremo il blocco più utilizzato. Quando in memoria centrale non vi sarà più spazio, il PC toglierà l’ultimo blocco e, solitamente, lo scaricherà nella memoria di massa (hard disk). Per questo si dice che la memoria di massa può essere considerata come un estensione della memoria centrale. Paginazione: tutte le pagine hanno uguali dimensioni, ma vi è poca efficienza dovuta all’arbitrarietà con cui il PC divide le pagine. Segmentazione: può far condividere a più processi alcuni segmenti.
Processore: consiste nell’hardware ed è l’oggetto che causa l’evoluzione del processo. Il processo invece è un insieme di istruzioni da eseguire in sequenza e rappresenta il software. Ciò che lo distingue dal programma è che il programma prevede tutte le possibili scelte che può fare l’utente, contenendo salti e cicli, il processo invece è sequenziale. I processi possono essere:
Processo parcheggiato, prima di essere eseguito.
Processo pronto, quando viene caricato.
Processo in esecuzione, quando utilizza la CPU.
Processo in attesa di I/O, quando richiede di utilizzare periferiche di input/output.
Queste sono tutte le situazioni che possono alternarsi in un programma, chiamate passaggi di stato.
interruzione: il processo si arresta per dei motivi di hardware o di software. In questo caso avviene il salvataggio dello stato del processo nella memoria di massa
Lo SPOOL è un modo virtuale per aumentare il numero delle periferiche. Ad esempio, quando abbiamo più PC collegati ad una stampante e tutti insieme ne richiedono l’uso, si creerà una coda di SPOOL, ovvero i documenti si metteranno in coda per essere stampati mentre i PC, nell’attesa che il documento venga stampato, generano gli output su periferiche più veloci, come il floppy disk.
Ogni sistema operativo ha un programma costituito dall’interprete dei comandi, che si preoccupa dell’interfaccia con l’utente, cioè il modo con il quale l’utente chiede al sistema operativo l’attivazione di funzioni. L’evoluzione dei sistemi operativi ha portato sempre più a semplificare queste interfacce, trasformandole in menù di scelte. Oggi si usano per lo più interfacce grafiche, con icone finestre e puntatori.

Esempio