INTRODUZIONE

Shared by: HC111211022556
Categories
Tags
-
Stats
views:
5
posted:
12/10/2011
language:
pages:
50
Document Sample
scope of work template
							          INTRODUZIONE


      ANALOGIE E DIFFERENZE TRA

GESTIONE DELLE UNITA DI ELABORAZIONE

                 E

     GESTIONE DELLA MEMORIA




             Figura n. 1
             INTRODUZIONE


PROCESSO = PROGRAMMA IN ESECUZIONE

RICHIEDE LA DISPONIBILITA` DI:




  • UNITA` DI ELABORAZIONE


  • AREA DI MEMORIA



                Figura n. 2
             INTRODUZIONE

     SISTEMA MULTIPROGRAMMATO
NUMERO DI PROCESSI > NUMERO PROCESSORI




• UNITA` DI ELABORAZIONE VIRTUALE


• MEMORIA VIRTUALE




               Figura n. 3
            INTRODUZIONE



  ANALOGIA FRA LA GESTIONE DELLE UNITA`
  DI ELABORAZIONE E LA GESTIONE DELLA
  MEMORIA




TECNICA DI VIRTUALIZZAZIONE DELLE RISORSE




               Figura n. 4
         INTRODUZIONE


    VIRTUALIZZAZIONE DI UNA RISORSA:

   COMPITI DEL GESTORE DELLA RISORSA



• CREARE LE RISORSE VIRTUALI


• GESTIRE LA RISORSA REALE




             Figura n. 5
             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




                 Figura n. 6
   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




                  Figura n. 7
             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.




                Figura n. 8
     DESCRITTORE DI PROCESSO

   identificatore del processo       NOME
   priorita` ed altre informazioni
   utili per lo scheduler            SERVIZIO



   immagine dei registri
   di macchina                       CONTESTO



INFORMAZIONI RELATIVE                MEMORIA
ALLA MEMORIA ALLOCATA                       altri campi contenenti
                                            informazioni sui files
   identificatore del processo              aperti, ecc.
   successivo in una coda            SUCCESSIVO




                       Figura n. 9
            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.



               Figura n. 10
             INTRODUZIONE


Esempio nel caso della CPU:

a) MANTENERE AGGIORNATO LO STATO DELLA
   RISORSA;




 VARIABILE: PROCESSO_IN_ESECUZIONE




               Figura n. 11
             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.


               Figura n. 12
             INTRODUZIONE


Esempio nel caso della CPU:

b) ALLOCARE E REVOCARE LA RISORSA;




 PROCEDURE: SALVATAGGIO_STATO E
              RIPRISTINO_STATO



               Figura n. 13
             INTRODUZIONE


  Esempio nel caso della memoria:


b) ALLOCARE E REVOCARE LA RISORSA;




  PROCEDURE: SWAP_OUT E
                SWAP_IN



                Figura n. 14
         INTRODUZIONE

              SWAPPING
memoria fisica
                           swap device
              swap-out




                           swap area
            swap-in




            Figura n. 15
             INTRODUZIONE

 Esempio nel caso della CPU:


c) DECIDERE QUANDO, PER QUANTO
     TEMPO, E A CHI ALLOCARE LA RISORSA.



 PROCEDURA: ASSEGNAZIONE_CPU

 (SHORT TERM SCHEDULING)



               Figura n. 16
                ASSEGNAZIONE_CPU

PROCESSO
IN ESECUZIONE

                 ES.                          SEMAFORI
                                 wait                    S1

                 revoca                       E   F
     B                 CPU              BL.              S2

                                              G   A
                                                         S3
                                    signal
                 PR.


                 C ...       D
         CODA PROCESSI PRONTI


                  Figura n. 17
             INTRODUZIONE


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)

               Figura n. 18
             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.


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


             Figura n. 20
           INTRODUZIONE

• LO STESSO PROCESSO PUO` ESSERE
  ALLOCATO IN PARTI DIVERSE DELLA
  MEMORIA IN TEMPI DIVERSI




NECESSITA` DI UN MECCANISMO DI
RILOCAZIONE DEI PROGRAMMI




             Figura n. 21
          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)




            Figura n. 22
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


               Figura n. 23
        MEMORIA VIRTUALE
               TIPI DI INDIRIZZI


• INDIRIZZI SIMBOLICI


• INDIRIZZI LOGICI (VIRTUALI)


• INDIRIZZI FISICI




                 Figura n. 24
         TRADUZIONE

programm         NOMI SIMBOLICI
a
sorgente

compilatore
assemblatore


  modulo         INDIRIZZI LOGICI (RILOCABILI)
  oggetto        + NOMI SIMBOLICI (ESTERNI)




               Figura n. 25
          COLLEGAMENTO

modulo               modulo
           .....
oggetto              oggetto



          linker



      programma
                        INDIRIZZI VIRTUALI (RILOCABILI)
      caricabile



                   Figura n. 26
           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).

               Figura n. 27
           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.

              Figura n. 28
CARICAMENTO RILOCANTE

programma
caricabile


 caricatore
 rilocante


programma
allocato         INDIRIZZI FISICI (ASSOLUTI)
in memoria


              Figura n. 29
           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);


               Figura n. 30
           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).



                Figura n. 31
            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



               Figura n. 32
           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.



              Figura n. 33
  TECNICHE DI ALLOCAZIONE DELLA
            MEMORIA



• DESCRIZIONE DELLA TECNICA

• MECCANISMI HARDWARE DI SUPPORTO

• ALGORITMI SOFTWARE E STRUTTURE DATI




              Figura n. 34
 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




             Figura n. 35
  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.



               Figura n. 36
               ALLOCAZIONE DINAMICA


               ESECUZIONE      wait

assegnazione
    CPU
                   revoca
                     CPU          BLOCCATO


                             signal                 swap-out
                PRONTO
                                               BLOCCATO
                            swap-out           SU DISCO
   swap-in

                PRONTO                signal
                SU DISCO


                      Figura n. 37
    ALLOCAZIONE DELLA MEMORIA IN SISTEMI
             MONOPROGRAMMATI




0     SISTEMA    0    SISTEMA
     OPERATIVO       OPERATIVO


    PROGRAMMA        PROGRAMMA
     UTENTE           UTENTE

                       BIOS
                      IN ROM




                 Figura n. 38
 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)




              Figura n. 39
ALLOCAZIONE DELLA MEMORIA IN SISTEMI
    CON RILOCAZIONE STATICA

   TECNICA DELLE PARTIZIONI FISSE

                    0
SISTEMA OPERATIVO
                    100 K
  PARTIZIONE 1
                    400 K
  PARTIZIONE 2
                    600 K
  PARTIZIONE 3

                    1000 K
  PARTIZIONE 4


                 Figura n. 40
         TECNICA DELLE PARTIZIONI FISSE

         STRATEGIA: CODE MULTIPLE DI INPUT
                (ALLOCAZIONE DINAMICA)
    0
         SISTEMA OPERATIVO
100 K
            PARTIZIONE 1
400 K
           PARTIZIONE 2
600 K
           PARTIZIONE 3
1000 K
           PARTIZIONE 4



                     Figura n. 41
         TECNICA DELLE PARTIZIONI FISSE


          STRATEGIA: UNICA CODA DI INPUT
                (ALLOCAZIONE STATICA)

    0
         SISTEMA OPERATIVO
100 K                          best-available-fit /
           PARTIZIONE 1        best-fit-only
400 K
           PARTIZIONE 2
600 K
           PARTIZIONE 3
1000 K
           PARTIZIONE 4


                    Figura n. 42
    TECNICA DELLE PARTIZIONI FISSE


        FRAMMENTAZIONE INTERNA

                    0
SISTEMA OPERATIVO
                    100 K
  PROGRAMMA 1

                    400 K
  PROGRAMMA 2
                    600 K
  PROGRAMMA 3

                    1000 K
  PROGRAMMA 4


                Figura n. 43
     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

                Figura n. 44
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

                Figura n. 45
 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

                  Figura n. 46
TECNICA DELLE PARTIZIONI VARIABILI


    FRAMMENTAZIONE ESTERNA

    SISTEMA
    OPERATIVO
        A

        B

        C

        D


            Figura n. 47
  TECNICA DELLE PARTIZIONI VARIABILI


        TABELLA DELLA MEMORIA
           (lista partizioni libere)

indirizzo      DIMENSIONE
prima          SUCCESSIVA
partizione



                        0




               Figura n. 48
 TECNICA DELLE PARTIZIONI VARIABILI


      STRATEGIE DI ALLOCAZIONE
          (allocazione statica)


• FIRST- FIT


• BEST- FIT


• WORST- FIT



               Figura n. 49
    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

                   Figura n. 50

						
Related docs
Other docs by HC111211022556
BIMBO - PowerPoint
Views: 72  |  Downloads: 0
Federal Family Education Loan Program (FFELP)
Views: 2  |  Downloads: 0
internet - Get Now Excel
Views: 187  |  Downloads: 0
listamodulo16
Views: 71  |  Downloads: 0
No Slide Title
Views: 3  |  Downloads: 0
j g il gigante dai piedi d27argilla
Views: 10  |  Downloads: 0
18Contra
Views: 125  |  Downloads: 0
Isentos Cachoeiro
Views: 523  |  Downloads: 0