|
Appunti universita |
|
Visite: 1276 | Gradito: | [ Medio appunti ] |
Leggi anche appunti:DrogaUn vero flagello per la salute è la droga. Le sostanze stupefacenti danno apparentemente La rivoluzione scientificaLa rivoluzione scientifica L'elaborazione di nuovo modello di sapere, SpinozaSpinoza 1) à ABBANDONO DEI MALI (Ricchezze, onori, piaceri), RICERCA DEI |
I SISTEMI OPERATIVI
Ogni sistema operativo realizza una triplice funzionalità:
a) CPU;
b) MC; Componenti fondamentali dell'HW
c) I/O;
d) MM.
Programma
applicativo
Gestore
CPU Gestore
MC Gestore
MM Gestore
I/O Programma
utilità
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:
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:
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.
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.
Il calcolo degli
indirizzi avviene all'atto dell'esecuzione del processo. Il calcolo degli
indirizzi viene fatto dal loader al momento del caricamento del programma
in MC.
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.
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.
Appunti su: |
|
Appunti Ingegneria tecnico | |
Tesine Economia | |