I sistemi operativi

Materie:Appunti
Categoria:Ricerche

Voto:

2 (2)
Download:114
Data:22.05.2001
Numero di pagine:6
Formato di file:.doc (Microsoft Word)
Download   Anteprima
sistemi-operativi_3.zip (Dimensione: 11.46 Kb)
trucheck.it_i-sistemi-operativi.doc     53.5 Kb
readme.txt     59 Bytes


Testo

I SISTEMI OPERATIVI
Ogni sistema operativo realizza una triplice funzionalità:
1. costituisce una interfaccia tra la macchina e l’utente, mettendo quest’ultimo in grado di operare in modo semplice;
2. gestisce in modo ottimale le risorse HW e SW;
3. programma costituito da 4 moduli:
a) CPU;
b) MC; Componenti fondamentali dell’HW
c) I/O;
d) MM.
I vari livelli del sistema operativo

Il nucleo del sistema operativo è la parte utilizzata da tutti i moduli; usata + di frequente.
Load= carica dalla MM alla MC il programma da eseguire
Il programma è una unità statica data dalla sequenza di istruzioni da eseguire.
Il processo è una attività dinamica, conseguenza dell’esecuzione di tali istruzioni e quindi dello sfruttamento e della gestione delle risorse coinvolte. Possiamo dire che il processo è l’insieme degli stati assunti dall’elaboratore durante l’esecuzione del programma.
In riferimento alla CPU possiamo avere 3 tipi di processi:
- processo in stato di esecuzione (running), quando il processore principale sta operando x il suo avanzamento;
- processo in stato di pronto (ready), quando attende la disponibilità della CPU;
- processo in stato di attesa (waiting), quando richiede l’intervento di un’altra risorsa.
N.B.: + processi possono essere in stato di pronto o attesa, mentre nelle macchine con una sola CPU un solo processo alla volta può trovarsi in esecuzione. Invece nei sistemi multiprogrammati esistono 2 modi in cui il processore può trovarsi:
- il modo supervisore o modo kernel, caratteristico dei processi derivanti dalle funzioni del sistema operativo;
- il modo utente, tipico dei normali programmi scritti dal programmatore.
La CPU è il processore + importante di un elaboratore e nel sistema operativo rende la macchina sottostante in grado di svolgere dei processi.
Si compone di 2 parti:
1. l’ALU: l’Unità Aritmetico Logica svolge i calcoli matematici e logici;
2. l’UC: l’Unità di Controllo sovrintende al funzionamento del sistema.
La CPU è una risorsa attiva, non divisibile ma interrompibile. Non è divisibile ma può muovere 2 macchine contemporaneamente, ma è interrompibile, ossia può ripartire il suo tempo tra + lavori, servendone prima uno e poi l’altro secondo i criteri imposti dal sistema di gestione.
La monoprogrammazione è una modalità di gestione che prevede che un solo programma alla volta stia in MC durante l’esecuzione. Le successive richieste vengono servite dalla CPU una alla volta.
La multiprogrammazione ovvero la possibilità di trovare in MC + programmi contemporaneamente e possono concorrere all’uso delle risorse.
La multiutenza lavori diversi provengono da utenti diversi; è possibile che un sistema permetta al suo solo utente di eseguire + lavori.
Il modo batch inizia e finisce senza l’intervento dell’utente.
+ processi sono in stato di pronto anche se uno solo è in esecuzione dove rimane fino al completamento dell’elaborazione. Il blocco dei processi in ready è gestito in modo FIFO, ossi il primo immesso è il primo servito.
Interattivo: richiede l’intervento dell’utente.
I compiti del gestore:
• conoscere lo stato delle risorse da gestire;
• avere una strategia x allocare e deallocare le risorse.
CICLO DI VITA DI UN PROCESSO

CICLO DI ESECUZIONE DI UN PROCESSO
1
M
I/O quando il programma richiede unità di I/O
N

Il s.o. in base alle proprie esigenze può decidere di deallocare un processo dalla CPU anche quando questo non è terminato o non richiede operazioni I/O.
Indirizzabilità: è facilmente individuabile ogni elemento della MC.
Event driven: il passaggio da uno stato all’altro avviene in base agli eventi.
I vari criteri sono:
Criterio FIFO: il primo processo giunto in coda viene servito fino alla sua terminazione (First In First Out) o fino al verificarsi di una interruzione esterna.
Criterio SJF: in base a tale criterio viene servito x primo il processo che ha il minore numero di istruzioni, tra quelli presenti nella coda ready.
Criterio SPTF: il criterio Shortest Process Time First viene fatta a priori una stima del fattore tempo di elaborazione e si scelgono i processi in modo da servire prima quelli che sembrano impegnare poco la CPU.
Time driven: il passaggio da uno stato all’altro avviene in base al fattore tempo.
I vari criteri di gestione:
Gestione round robin: ogni processo ottiene la CPU x un tempo massimo prefissato, terminato il quale passa dallo stato di running nuovamente allo stato di ready, a meno che nel corso dell’elaborazione non debba passare anticipatamente allo stato di waiting.
GESTIONE DELLA MC
Essa interviene nella gestione del sistema, realizzando la funzione di magazzino di informazioni. Le operazioni possibili sono la lettura e la scrittura.
La MC è un insieme di locazioni indirizzabili singolarmente con un numero progressivo.
Un programma contiene istruzioni simboliche che agiscono su aree logiche della MC; xciò dovrà attuarsi a carico del s.o. un passaggio tra tali istruzioni tradotte in linguaggio macchina e lo spazio fisico in memoria. Questo passaggio si articola in 2 funzioni: la riserva della quantità di spazio necessario (allocazione) e il calcolo degli indirizzi (rilocazione).
Rilocazione: in questa fase di rilocazione di dati ed istruzioni consiste nel far corrispondere ad uno spazio logico (il programma) uno spazio fisico (gli indirizzi di MC).

ASSOLUTA: l’indirizzo viene assegnato all’atto della compilazione.
RILOCAZIONE

RELATIVA: non avviene in fase di compilazione, ma avviene in un
momento successivo.
STATICA DINAMICA

SINGOLA: usata nei sistemi monoprogrammati
ALLOCAZIONE
Paginazione: le parti fisiche della MC , o pagine, nella quali allocare le parti logiche del processo sono di dimensioni fisse.
Segmentazione: è una fusione tra partizionamento dinamico e la paginazione; presuppone prima una divisione logica del processo e poi una sua allocazione nelle pagine fisiche della memoria.
Cioè, il programmatore divide il suo programma in + parti, ogni parte si chiama segmento; la MC la dividono in base alla grandezza dei segmenti che chiedono di essere caricati, ogni segmento viene caricato nelle zone libere non necessariamente contigue.
Overlay: non viene caricato tutto il programma, ma quello che ci serve; e necessita di una memoria ausiliaria abbastanza efficiente.
FISSE= stabilisce di dividere la parte utente della MC in parti fisse.
PARTIZIONI DINAMICHE= si parla di partizioni dinamiche quando le partizioni non
sono determinate a priori, ma dipendono dalla
allocazione dei processi in memoria.
• Criterio first fit: il processo viene allocato nella prima partizione libera presente nella lista che sia della dimensione idonea.
• Criterio best fit: si sceglie, tra tutte le partizioni libere, quella che lascia meno spazio libero residuo.
• Criterio worst fit: si sceglie, tra tutte le partizioni libere, quella che lascia + spazio libero residuo.
RILOCABILI= sfruttando la rilocazione dinamica si ricalcolano gli
indirizzi per compattare la memoria ed ottenere un’area
libera di dimensione maggiore, ove poter allocare altre
richieste.
Multiprogrammazione
Contigua
Intera
Partizione singola
NO
SI
SI
Partizione statica
SI
SI
SI
Partizione dinamica
SI
SI
SI
Overlay
SI
SI
NO
Paginazione
SI
NO
NO

Memoria virtuale: è il risultato di una opportuna gestione della memoria reale con l’ausilio di una memoria periferica ad accesso veloce.
Il file system è il livello del sistema operativo che si occupa della gestione dei file
Timesharing (condivisione di tempo)= ad ogni processo viene assegnato un time slice, un piccolo intervallo.
Priorità = ad ogni processo che è in esecuzione viene assegnato un livello di priorità in base a diversi fattori, rimane in RUN fino a quando esce, o servono operazioni di I/O.

Esempio