La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Figura n. 1 INTRODUZIONE ANALOGIE E DIFFERENZE TRA GESTIONE DELLE UNITA DI ELABORAZIONE E GESTIONE DELLA MEMORIA."— Transcript della presentazione:

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

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

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

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

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

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

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

8 Figura n. 8 INTRODUZIONE 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. MEMORIA VIRTUALE

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

10 Figura n. 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 Figura n. 11 a) MANTENERE AGGIORNATO LO STATO DELLA RISORSA; INTRODUZIONE Esempio nel caso della CPU: VARIABILE: PROCESSO_IN_ESECUZIONE

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

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

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

15 Figura n. 15 INTRODUZIONE SWAPPING swap device swap area memoria fisica swap-out swap-in

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

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

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

19 Figura n. 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 Figura n. 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 DELLUNITA CENTRALE

21 Figura n. 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 Figura n. 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 Figura n. 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 Figura n. 24 MEMORIA VIRTUALE INDIRIZZI SIMBOLICI INDIRIZZI LOGICI (VIRTUALI) INDIRIZZI FISICI TIPI DI INDIRIZZI

25 Figura n. 25 TRADUZIONE programm a sorgente compilatore assemblatore modulo oggetto NOMI SIMBOLICI INDIRIZZI LOGICI (RILOCABILI) + NOMI SIMBOLICI (ESTERNI)

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

27 Figura n. 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 Figura n. 28 RILOCAZIONE STATICA EFFETTUATA DAL CARICATORE RILOCANTE IN FASE DI CARICAMENTO. LE INFORMAZIONI DIPENDENTI DALLA LOCAZIONE VENGONO MODIFICATE SOMMANDOCI LINDIRIZZO 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 Figura n. 29 CARICAMENTO RILOCANTE caricatore rilocante INDIRIZZI FISICI (ASSOLUTI) programma caricabile programma allocato in memoria

30 Figura n. 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 Figura n. 31 RILOCAZIONE DINAMICA DURANTE LESECUZIONE, 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 Figura n. 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 Figura n. 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 Figura n. 34 TECNICHE DI ALLOCAZIONE DELLA MEMORIA DESCRIZIONE DELLA TECNICA MECCANISMI HARDWARE DI SUPPORTO ALGORITMI SOFTWARE E STRUTTURE DATI

35 Figura n. 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 Figura n. 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 Figura n. 37 ESECUZIONE PRONTO BLOCCATO wait signal assegnazione CPU revoca CPU PRONTO SU DISCO signal BLOCCATO SU DISCO swap-in swap-out ALLOCAZIONE DINAMICA

38 Figura n. 38 ALLOCAZIONE DELLA MEMORIA IN SISTEMI MONOPROGRAMMATI SISTEMA OPERATIVO PROGRAMMA UTENTE 0 SISTEMA OPERATIVO PROGRAMMA UTENTE 0 BIOS IN ROM

39 Figura n. 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 Figura n. 40 ALLOCAZIONE DELLA MEMORIA IN SISTEMI CON RILOCAZIONE STATICA TECNICA DELLE PARTIZIONI FISSE SISTEMA OPERATIVO PARTIZIONE 1 PARTIZIONE 2 PARTIZIONE 3 PARTIZIONE K 400 K 600 K 1000 K

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

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

43 Figura n. 43 PROGRAMMA 1 TECNICA DELLE PARTIZIONI FISSE FRAMMENTAZIONE INTERNA PROGRAMMA 3 PROGRAMMA K 400 K 600 K 1000 K SISTEMA OPERATIVO PROGRAMMA 2

44 Figura n. 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 Figura n. 45 ALLOCAZIONE DELLA MEMORIA IN SISTEMI CON RILOCAZIONE STATICA TECNICA DELLE PARTIZIONI VARIABILI S. O. A A B A B C B C TEMPO

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

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

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

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

50 Figura n. 50 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 TECNICA DELLE PARTIZIONI VARIABILI


Scaricare ppt "Figura n. 1 INTRODUZIONE ANALOGIE E DIFFERENZE TRA GESTIONE DELLE UNITA DI ELABORAZIONE E GESTIONE DELLA MEMORIA."

Presentazioni simili


Annunci Google