Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

Multi Programmazione - Gestione dei Processi

informatica



Multi Programmazione




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:


Massimizzare la velocità nell'esecuzione dei vari processi lanciati


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  


Ottimizzare lo spazio in memoria entrale


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


Hits: 2157
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024