![]() | ![]() |
|
|
Multi programmazione =ad un tempo x in memoria centrale sono presenti n programmi in
esecuzione
gestione processi
gestore memoria centrale
gestore file system
gestore periferiche
CPU Configurare
il sistema = fare collegamenti fisici tra
la CPU e i Terminali (assegnando
P1 P2 P3 nomi logici)
WS1 WS 2 WS3
Gestione dei Processi:
FIFO :
Time Sharing = condivisione del tempo: ogni dispositivo utilizza la CPU per un quanto di tempo
Il problema del metodo FIFO è che se una procedura utilizza un dispositivo di I-O la CPU ha nella lista delle procedura da eseguire.
STATI DI AVANZAMENTO DI UN PROCESSO
P1P2P3
Determinati dispositivi prendono la prima istruzione da eseguire di ogni programma lanciato e la memorizzano (Lista dei Pronti). Fase READY.
Appena la CPU è libera il primo comando viene eseguito (fase RUNNING) .
L'istruzione viene riconosciuta dall'unità di controllo.
4a) Non è richiesto l'uso di periferiche: per un t di tempo l'istruzione viene eseguita poi passa la successiva. Se terminato il t l'istr. non è stata completata viene comunque accodata.
4b) E' richiesto l'uso di una periferica: Il processo entra nella lista dei processi BLOCCATI e fino a che non termina l'uso rimane in fase BLOCKED permettendo alle altre procedure di funzionare senza spreco di tempo.
La periferica può essere utilizzata da più processi; un dispositivo, il semaforo (S) indica la disponibilità.
Se la periferica è libera si utilizza direttamente; se non lo è, la procedura viene accodata in una nuova lista e passerà alla periferica non appena sarà disponibile.
Politica di ordinamento: tecnica per ordinare le liste. FIFO
Schedulatore: guarda le caratteristiche
del programma.
Supervisore: intercetta i segnali e decide di cambiare gli stati dei processi.
Gestione della Memoria Centrale
Il
Programma viene preso dal disco e lanciato nella RAM.
subisce qui un processo di rilocazione mediante il quale alle
istruzioni viene assegnato un nuovo indirizzo, che è quello della RAM, appunto.
Ci sono diversi tipi di RILOCAZIONE:
ASSOLUTA (mono programmazione)
STATICA
DINAMICA (multi programmazione)
MEM. VIRTUALE
Rilocazione STATICA:
I programmi vengono interamente caricati nella RAM:
limitato spazio le procedure sono troppo grandi
ne entrano poche
frammentazione della memoria
Infatti P3 non viene lanciato e la RAM ha uno spazio
Inutilizzato
?Come risolvere?
Rilocazione DINAMICA:
I programmi vengono segmentati cioè le istruzioni
raggruppate in piccoli gruppi e i saranno questi a
essere lanciati in memoria.
Avrò quindi una struttura del genere:
S I s =segmento i =indirizzo
Si è proceduto poi ad un ulteriore frammentazione, dividendo io i
segmenti in PAGINE (rilocazione con segmentazione e paginazione).
La struttura sarà quindi: S P I P =pagina
Attraverso, poi, l'utilizzo della MEMORIA VIRTUALE si è resa ancora più veloce la CPU, che si appoggia in questo caso a una parte di HD.
In questo modo evito di fare molti accessi
in HD perché quanti sono le pagine visto che
mettendole in mem. virtuale ho immediatamente
in esecuzione una per una di seguito
GESTIONE I-O
Periferica: Dedicata: il programma utilizza la periferica da solo (stampante, video, ecc)
Condivisa: è possibile l'accesso alla periferica simultaneamente da più programmi(CPU)
Periferica "stampante"
Buffer =piccolo spazio di memoria dove vengono temporaneamente scritti i record in stampa
L'utilizzo della stampante blocca la CPU fino a che non
ha terminato la propria funzione perché lo spazio del buffer non è molto.
Devo cercare quindi di svincolare la CPU dalla stampante: virtualizzare
la stampante.
Utilizzo quindi una pare dell'HD dove memorizzo temporaneamente in un file i dati in stampa (file di SPOOL).
Non appena l'ultimo record viene scritto nel file, la stampa parte (ovviamente se disponibile).
Tutti i dati verranno poi cancellati alla fine della procedura.
Attraverso un SW posso gestire il file di spool (il Gestore Spool) che può congelare i dati per poi continuare la stampa in un secondo tempo, interromperla e ricominciare da una determinata pagina, ecc.
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 2025