La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

INTRODUZIONE GESTIONE DELLE UNITA DI ELABORAZIONE

Presentazioni simili


Presentazione sul tema: "INTRODUZIONE GESTIONE DELLE UNITA DI ELABORAZIONE"— Transcript della presentazione:

1 INTRODUZIONE GESTIONE DELLE UNITA DI ELABORAZIONE
ANALOGIE E DIFFERENZE TRA GESTIONE DELLE UNITA DI ELABORAZIONE E GESTIONE DELLA MEMORIA

2 INTRODUZIONE PROCESSO = PROGRAMMA IN ESECUZIONE
RICHIEDE LA DISPONIBILITA` DI: UNITA` DI ELABORAZIONE AREA DI MEMORIA

3 INTRODUZIONE SISTEMA MULTIPROGRAMMATO
NUMERO DI PROCESSI > NUMERO PROCESSORI UNITA` DI ELABORAZIONE VIRTUALE MEMORIA VIRTUALE

4 INTRODUZIONE ANALOGIA FRA LA GESTIONE DELLE UNITA` DI ELABORAZIONE E LA GESTIONE DELLA MEMORIA TECNICA DI VIRTUALIZZAZIONE DELLE RISORSE

5 INTRODUZIONE CREARE LE RISORSE VIRTUALI GESTIRE LA RISORSA REALE
VIRTUALIZZAZIONE DI UNA RISORSA: COMPITI DEL GESTORE DELLA RISORSA CREARE LE RISORSE VIRTUALI GESTIRE LA RISORSA REALE

6 INTRODUZIONE RISORSA VIRTUALE:
STRUTTURA DATI NECESSARIA A DEFINIRE LE CARATTERISTICHE, E CONTENERE LE INFORMAZIONI, CARATTERIZZANTI LA RISORSA VIRTUALE. Esempio nel caso della CPU: campo contesto del descrittore di processo

7 DESCRITTORE DI PROCESSO
identificatore del processo NOME priorita` ed altre informazioni utili per lo scheduler SERVIZIO immagine dei registri di macchina CONTESTO altri campi contenenti informazioni relative alla memoria, ai files aperti, ecc. identificatore del processo successivo in una coda SUCCESSIVO

8 INTRODUZIONE MEMORIA VIRTUALE
STRUTTURA DATI NECESSARIA PER CREARE LA MEMORIA VIRTUALE: insieme di blocchi (swap area) su memoria di massa (swap device) di dimensioni sufficienti a contenere le informazioni (codice, stack e dati) di un processo quando questo non e` allocato in memoria fisica.

9 DESCRITTORE DI PROCESSO
identificatore del processo NOME priorita` ed altre informazioni utili per lo scheduler SERVIZIO immagine dei registri di macchina CONTESTO INFORMAZIONI RELATIVE ALLA MEMORIA ALLOCATA MEMORIA altri campi contenenti informazioni sui files aperti, ecc. identificatore del processo successivo in una coda SUCCESSIVO

10 INTRODUZIONE GESTIONE DELLA RISORSA REALE:
a) MANTENERE AGGIORNATO LO STATO DELLA RISORSA; b) ALLOCARE E REVOCARE LA RISORSA; c) DECIDERE QUANDO, PER QUANTO TEMPO, E A CHI ALLOCARE LA RISORSA.

11 INTRODUZIONE Esempio nel caso della CPU:
a) MANTENERE AGGIORNATO LO STATO DELLA RISORSA; VARIABILE: PROCESSO_IN_ESECUZIONE

12 INTRODUZIONE Esempio nel caso della memoria:
a) MANTENERE AGGIORNATO LO STATO DELLA RISORSA; STRUTTURA DATI: TABELLA DELLA MEMORIA NECESSARIA PER REGISTRARE QUALE PARTE DELLA MEMORIA E` LIBERA, QUALE PARTE E` OCCUPATA E DA CHI.

13 INTRODUZIONE RIPRISTINO_STATO Esempio nel caso della CPU:
b) ALLOCARE E REVOCARE LA RISORSA; PROCEDURE: SALVATAGGIO_STATO E RIPRISTINO_STATO

14 INTRODUZIONE SWAP_IN Esempio nel caso della memoria:
b) ALLOCARE E REVOCARE LA RISORSA; PROCEDURE: SWAP_OUT E SWAP_IN

15 INTRODUZIONE SWAPPING memoria fisica swap device swap-out swap area
swap-in

16 INTRODUZIONE (SHORT TERM SCHEDULING) Esempio nel caso della CPU:
c) DECIDERE QUANDO, PER QUANTO TEMPO, E A CHI ALLOCARE LA RISORSA. PROCEDURA: ASSEGNAZIONE_CPU (SHORT TERM SCHEDULING)

17 ASSEGNAZIONE_CPU PROCESSO IN ESECUZIONE ES. SEMAFORI wait S1 revoca E
B S2 CPU BL. G A S3 signal PR. C ... D CODA PROCESSI PRONTI

18 INTRODUZIONE (MEDIUM TERM SCHEDULING) Esempio nel caso della memoria:
c) DECIDERE QUANDO, PER QUANTO TEMPO, E A CHI ALLOCARE LA RISORSA. PROCEDURE: ALLOCAZIONE E DEALLOCAZIONE MEMORIA (MEDIUM TERM SCHEDULING)

19 INTRODUZIONE DIFFERENZE FRA LA GESTIONE DELLE UNITA` DI ELABORAZIONE E LA GESTIONE DELLA MEMORIA: PARTI DIVERSE DELLA MEMORIA POSSONO ESSERE ALLOCATE A DIVERSI PROCESSI CONTEMPORANEAMENTE; LO STESSO PROCESSO PUO` ESSERE ALLOCATO IN PARTI DIVERSE DELLA MEMORIA IN TEMPI DIVERSI; LA MEMORIA PUO` ESSERE ALLOCATA SIA STATICAMENTE CHE DINAMICAMENTE.

20 INTRODUZIONE PARTI DIVERSE DELLA MEMORIA POSSONO ESSERE ALLOCATE A DIVERSI PROCESSI CONTEMPORANEAMENTE PER MANTENERE AGGIORNATO LO STATO DELLA MEMORIA E` NECESSARIA UNA STRUTTURA DATI PIU` COMPLESSA RISPETTO A QUELLA VISTA NEL CASO DELL’UNITA CENTRALE

21 INTRODUZIONE LO STESSO PROCESSO PUO` ESSERE ALLOCATO IN PARTI DIVERSE DELLA MEMORIA IN TEMPI DIVERSI NECESSITA` DI UN MECCANISMO DI RILOCAZIONE DEI PROGRAMMI

22 INTRODUZIONE LA MEMORIA PUO` ESSERE ALLOCATA SIA STATICAMENTE CHE DINAMICAMENTE ELEVATO NUMERO DI TECNICHE DI ALLOCAZIONE DELLA MEMORIA SPESSO LEGATE ALLA PRESENZA DI MECCANISMI HARDWARE DI SUPPORTO A TALI TECNICHE (Memory Management Unit)

23 COMPITI DEL GESTORE DELLA MEMORIA
TENER TRACCIA DI QUALI PARTI DELLA MEMORIA SONO LIBERE E QUALI ALLOCATE ALLOCARE LA MEMORIA AI PROCESSI QUANDO NE HANNO BISOGNO DEALLOCARE LA MEMORIA DI UN PROCESSO QUANDO NON GLI SERVE PIU` GESTIRE IL TRASFERIMENTO DI INFORMAZIONI TRA MEMORIA PRINCIPALE E MEMORIA DI MASSA QUANDO LA MEMORIA PRINCIPALE NON PUO` CONTENERE TUTTI I PROCESSI

24 MEMORIA VIRTUALE TIPI DI INDIRIZZI INDIRIZZI SIMBOLICI
INDIRIZZI LOGICI (VIRTUALI) INDIRIZZI FISICI

25 TRADUZIONE programma sorgente compilatore assemblatore modulo oggetto
NOMI SIMBOLICI compilatore assemblatore modulo oggetto INDIRIZZI LOGICI (RILOCABILI) + NOMI SIMBOLICI (ESTERNI)

26 COLLEGAMENTO modulo oggetto modulo oggetto ..... linker programma
caricabile INDIRIZZI VIRTUALI (RILOCABILI)

27 RILOCAZIONE SE IL PROGRAMMA VIENE CARICATO A PARTIRE DA UN INDIRIZZO FISICO DIVERSO DA ZERO (SELETTORE DI CARICAMENTO DIVERSO DA ZERO): NECESSITA` DI RILOCARE LE INFORMAZIONI DIPENDENTI DALLA LOCAZIONE (TRADUZIONE DEGLI INDIRIZZI VIRTUALI NEI CORRISPONDENTI INDIRIZZI FISICI).

28 RILOCAZIONE STATICA EFFETTUATA DAL CARICATORE RILOCANTE IN FASE DI CARICAMENTO. LE INFORMAZIONI DIPENDENTI DALLA LOCAZIONE VENGONO MODIFICATE SOMMANDOCI L’INDIRIZZO INIZIALE DI CARICAMENTO (SELETTORE DI CARICAMENTO). UN PROGRAMMA, UNA VOLTA CARICATO E RILOCATO IN UNA ZONA DELLA MEMORIA FISICA, NON PUO` ESSERE SPOSTATO IN ALTRA AREA.

29 CARICAMENTO RILOCANTE
programma caricabile caricatore rilocante programma allocato in memoria INDIRIZZI FISICI (ASSOLUTI)

30 RILOCAZIONE DINAMICA IL PROGRAMMA PRODOTTO DAL LINKER VIENE CARICATO IN MEMORIA SENZA ESSERE RILOCATO; NEI REGISTRI IP, CS, SP E SS VENGONO CARICATI I VALORI PRESENTI NELLA TABELLA DI INIZIALIZZAZIONE PRODOTTA DAL LINKER (INDIRIZZI VIRTUALI);

31 RILOCAZIONE DINAMICA DURANTE L’ESECUZIONE, OGNI INDIRIZZO GENERATO DAL PROGRAMMA (INDIRIZZO VIRTUALE) VIENE TRADOTTO NEL CORRISPONDENTE INDIRIZZO FISICO PRIMA DI ACCEDERE ALLA MEMORIA; LA TRADUZIONE VIENE EFFETTUATA DA UN APPOSITO DISPOSITIVO HARDWARE (DETTO MEMORY MANAGEMENT UNIT O MECCANISMO DI RILOCAZIONE DINAMICA).

32 RILOCAZIONE DINAMICA NECESSITA` DEL MECCANISMO DI RILOCAZIONE CHE REALIZZA LA TRADUZIONE TRA INDIRIZZI VIRTUALI E INDIRIZZI REALI: y = f(x) x: INDIRIZZO VIRTUALE y: CORRISPONDENTE INDIRIZZO REALE

33 RILOCAZIONE DINAMICA UN PROGRAMMA PUO` ESSERE CARICATO IN UNA ZONA DELLA MEMORIA FISICA E SUCCESSIVAMENTE SPOSTATO IN ALTRA AREA. E` SUFFICIENTE, PER QUESTO, MODIFICARE LE INFORMAZIONI CONTENUTE NEL MECCANISMO HARDWARE CHE REALIZZA LA FUNZIONE DI RILOCAZIONE.

34 TECNICHE DI ALLOCAZIONE DELLA MEMORIA
DESCRIZIONE DELLA TECNICA MECCANISMI HARDWARE DI SUPPORTO ALGORITMI SOFTWARE E STRUTTURE DATI

35 TECNICHE DI ALLOCAZIONE DELLA MEMORIA
1) TECNICHE CHE NON FANNO RIFERIMENTO A MECCANISMI DI RILOCAZIONE DINAMICA 2) TECNICHE SUPPORTATE DA MECCANISMI PER LA RILOCAZIONE DINAMICA DEGLI INDIRIZZI

36 TECNICHE DI ALLOCAZIONE DELLA MEMORIA
TECNICHE DI ALLOCAZIONE STATICA: AD UN PROCESSO VIENE ALLOCATA MEMORIA QUANDO VIENE CREATO E REVOCATA QUANDO TERMINA. TECNICHE DI ALLOCAZIONE DINAMICA: AD UN PROCESSO VIENE ALLOCATA E REVOCATA MEMORIA PIU` VOLTE DURANTE LA SUA VITA.

37 ALLOCAZIONE DINAMICA ESECUZIONE wait assegnazione CPU revoca BLOCCATO
signal swap-out PRONTO BLOCCATO SU DISCO swap-out swap-in PRONTO SU DISCO signal

38 ALLOCAZIONE DELLA MEMORIA IN SISTEMI MONOPROGRAMMATI
SISTEMA OPERATIVO SISTEMA OPERATIVO PROGRAMMA UTENTE PROGRAMMA UTENTE BIOS IN ROM

39 ALLOCAZIONE DELLA MEMORIA IN SISTEMI MONOPROGRAMMATI
HARDWARE DI SUPPORTO: REGISTRO LIMITE DI PROTEZIONE PER PROGRAMMI DI DIMENSIONI MAGGIORI DELLA MEMORIA FISICA: NECESSITA` DI TECNICHE DI CARICAMENTO PARZIALE (OVERLAY)

40 ALLOCAZIONE DELLA MEMORIA IN SISTEMI CON RILOCAZIONE STATICA
TECNICA DELLE PARTIZIONI FISSE SISTEMA OPERATIVO 100 K PARTIZIONE 1 400 K PARTIZIONE 2 600 K PARTIZIONE 3 1000 K PARTIZIONE 4

41 TECNICA DELLE PARTIZIONI FISSE
STRATEGIA: CODE MULTIPLE DI INPUT (ALLOCAZIONE DINAMICA) SISTEMA OPERATIVO 100 K PARTIZIONE 1 400 K PARTIZIONE 2 600 K PARTIZIONE 3 1000 K PARTIZIONE 4

42 TECNICA DELLE PARTIZIONI FISSE
STRATEGIA: UNICA CODA DI INPUT (ALLOCAZIONE STATICA) SISTEMA OPERATIVO 100 K best-available-fit / best-fit-only PARTIZIONE 1 400 K PARTIZIONE 2 600 K PARTIZIONE 3 1000 K PARTIZIONE 4

43 TECNICA DELLE PARTIZIONI FISSE
FRAMMENTAZIONE INTERNA SISTEMA OPERATIVO 100 K PROGRAMMA 1 400 K PROGRAMMA 2 600 K PROGRAMMA 3 1000 K PROGRAMMA 4

44 TECNICA DELLE PARTIZIONI FISSE
ASPETTI POSITIVI: SEMPLICITA` INCONVENIENTI: FRAMMENTAZIONE INTERNA NECESSITA` DI TECNICHE DI OVERLAY MECCANISMI HARDWARE: MECCANISMO DI PROTEZIONE REGISTRI DI FRONTIERA CHIAVI DI PROTEZIONE

45 ALLOCAZIONE DELLA MEMORIA IN SISTEMI CON RILOCAZIONE STATICA
TECNICA DELLE PARTIZIONI VARIABILI S. O. S. O. S. O. S. O. S. O. A A A B B B C C TEMPO

46 ALLOCAZIONE DELLA MEMORIA IN SISTEMI CON RILOCAZIONE STATICA
TECNICA DELLE PARTIZIONI VARIABILI S. O. S. O. S. O. S. O. S. O. D D D D E E B B C C C C TEMPO

47 TECNICA DELLE PARTIZIONI VARIABILI
FRAMMENTAZIONE ESTERNA SISTEMA OPERATIVO A B C D

48 TECNICA DELLE PARTIZIONI VARIABILI
TABELLA DELLA MEMORIA (lista partizioni libere) indirizzo prima partizione DIMENSIONE SUCCESSIVA

49 TECNICA DELLE PARTIZIONI VARIABILI
STRATEGIE DI ALLOCAZIONE (allocazione statica) FIRST- FIT BEST- FIT WORST- FIT

50 TECNICA DELLE PARTIZIONI VARIABILI
ASPETTI POSITIVI: MIGLIORE SFRUTTAMENTO DELLA MEMORIA RISPETTO ALLE PARTIZIONI FISSE. INCONVENIENTI: FRAMMENTAZIONE ESTERNA NECESSITA` DI TECNICHE DI OVERLAY MAGGIORE OVERHEAD MECCANISMI HARDWARE: MECCANISMO DI PROTEZIONE REGISTRI DI FRONTIERA CHIAVI DI PROTEZIONE


Scaricare ppt "INTRODUZIONE GESTIONE DELLE UNITA DI ELABORAZIONE"

Presentazioni simili


Annunci Google