Diferencia entre revisiones de «Solución del ejercicio 4 de paginación»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Página creada con 'C) Si las páginas fuesen de 1 Kb(2^10 bits), la distribución sería: - Bits de marco = '''22 bits de marco''' - Bits de desplazamiento = '''10 bits de desplazam…')
 
m
 
(No se muestran 8 ediciones intermedias de 3 usuarios)
Línea 1: Línea 1:
C) Si las páginas fuesen de 1 Kb(2^10 bits), la distribución sería:
+
'''A)'''Razone si las direcciones de memoria 0xabc10008 y 0xabc100aa pertenecen al mismo marco. ¿Y las direcciones 0xabc1fa00 y 0xabc2fa08?
 +
  En las direcciones de memoria 0xabc10008 y 0xabc100aa, como el tamaño de pagina es de 4 Kbytes = 2<sup>12</sup>, podemos diferenciar dos partes:
 +
      - Número de página física (primeros 20  bits)
 +
      - Desplazamiento (12 bits siguientes)
 +
  En un tamaño de palabra de 32 bits (20+12).
 +
  Para comprobar si pertenecen al mismo marco miramos si el número de página física es el mismo, y en las dos direcciones que nos
 +
  dan lo es:___abc10___
 +
  Mientras que en las direcciones 0xabc1fa00 y 0xabc2fa08 podemos ver que no es el mismo marco: ___abc1f___ no es igual a ___abc2f___
 +
 
 +
'''B)'''¿De cuántas páginas físicas dispone el sistema?
 +
  Si tenemos 256 Kbytes de tamaño de memoria, es decir, 2<sup>18</sup>, y 4 Kbytes de tamaño de página, 2<sup>12</sup>:
 +
            2<sup>18</sup>(del tamaño de memoria) / 2<sup>12</sup>(del tamaño de página) = 2<sup>6</sup> páginas físicas, porciones de una zona de memoria.
 +
 
 +
 
 +
''C)'' Si las páginas fueran de 1 KByte, ¿pertenecen las direccion 0xabc10008 y 0xabc800aa al mismo marco? Razone la respuesta.
 +
 
   - Bits de marco          = '''22 bits de marco'''
 
   - Bits de marco          = '''22 bits de marco'''
 
   - Bits de desplazamiento = '''10 bits de desplazamiento'''.
 
   - Bits de desplazamiento = '''10 bits de desplazamiento'''.
 +
         
 
   0xabc10008 -> Marco: abc10 y los dos primeros bits de 0 = 00
 
   0xabc10008 -> Marco: abc10 y los dos primeros bits de 0 = 00
 
   0xabc800aa -> Marco: abc80 y los dos primeros bits de 0 = 00
 
   0xabc800aa -> Marco: abc80 y los dos primeros bits de 0 = 00
 
    
 
    
 
   Aunque los dos últimos bits coincidan, la primera parte no, por lo tanto '''no son del mismo marco'''.
 
   Aunque los dos últimos bits coincidan, la primera parte no, por lo tanto '''no son del mismo marco'''.
 +
       
 +
  '''Desglose de direcciones'''
 +
 
 +
                ┌───────────────────────────┬────────────┐
 +
      0xabc10008:│1010 1011 1100 '''0001''' 0000 00│00 0000 1000│
 +
      0xabc800aa:│1010 1011 1100 '''1000''' 0000 00│00 1010 1010│
 +
                └───────────────────────────┴────────────┘
 +
                            ''marco''          ''desplazamiento''
  
''Desglose de direcciones''
+
''D)'' Indique el tamaño máximo de la tabla de páginas de un proceso suponiendo que cada entrada ocupa 8 bytes.
    
+
   Para calcular el tamaño máximo de la tabla de de páginas de un proceso:
              ┌---------------------------┬------------┐
+
  - ''Número de páginas máximo'': 64 páginas (2<sup>6</sup>)
   0xabc10008:|1010 1011 1100 0001 0000 00|00 0000 1000|
+
   - ''Tamaño de entrada'': 8 bytes(2<sup>3</sup>)
   0xabc800aa:|1010 1011 1100 1000 0000 00|00 1010 1010|
+
   '''Tamaño máximo''': número de páginas máximo * tamaño de entrada = 2<sup>6</sup> * 2<sup>3</sup> = '''512 bytes'''
              └---------------------------┴------------┘
 
                          marco          desplazamiento
 

Revisión actual del 19:58 19 dic 2017

A)Razone si las direcciones de memoria 0xabc10008 y 0xabc100aa pertenecen al mismo marco. ¿Y las direcciones 0xabc1fa00 y 0xabc2fa08?

  En las direcciones de memoria 0xabc10008 y 0xabc100aa, como el tamaño de pagina es de 4 Kbytes = 212, podemos diferenciar dos partes:
     - Número de página física (primeros 20  bits) 
     - Desplazamiento (12 bits siguientes) 
  En un tamaño de palabra de 32 bits (20+12).
  Para comprobar si pertenecen al mismo marco miramos si el número de página física es el mismo, y en las dos direcciones que nos 
  dan lo es:___abc10___
  Mientras que en las direcciones 0xabc1fa00 y 0xabc2fa08 podemos ver que no es el mismo marco: ___abc1f___ no es igual a ___abc2f___

B)¿De cuántas páginas físicas dispone el sistema?

  Si tenemos 256 Kbytes de tamaño de memoria, es decir, 218, y 4 Kbytes de tamaño de página, 212:
           218(del tamaño de memoria) / 212(del tamaño de página) = 26 páginas físicas, porciones de una zona de memoria.


C) Si las páginas fueran de 1 KByte, ¿pertenecen las direccion 0xabc10008 y 0xabc800aa al mismo marco? Razone la respuesta.

  - Bits de marco          = 22 bits de marco
  - Bits de desplazamiento = 10 bits de desplazamiento.
         
  0xabc10008 -> Marco: abc10 y los dos primeros bits de 0 = 00
  0xabc800aa -> Marco: abc80 y los dos primeros bits de 0 = 00
  
  Aunque los dos últimos bits coincidan, la primera parte no, por lo tanto no son del mismo marco.
        
  Desglose de direcciones
  
                ┌───────────────────────────┬────────────┐
     0xabc10008:│1010 1011 1100 0001 0000 00│00 0000 1000│
     0xabc800aa:│1010 1011 1100 1000 0000 00│00 1010 1010│
                └───────────────────────────┴────────────┘
                            marco           desplazamiento

D) Indique el tamaño máximo de la tabla de páginas de un proceso suponiendo que cada entrada ocupa 8 bytes.

  Para calcular el tamaño máximo de la tabla de de páginas de un proceso:
  - Número de páginas máximo: 64 páginas (26)
  - Tamaño de entrada: 8 bytes(23)
  Tamaño máximo: número de páginas máximo * tamaño de entrada = 26 * 23 = 512 bytes