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

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
m
 
(No se muestran 7 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
Línea 9: Línea 25:
 
   '''Desglose de direcciones'''
 
   '''Desglose de direcciones'''
 
    
 
    
              ┌---------------------------┬------------┐
+
                ┌───────────────────────────┬────────────┐
  0xabc10008:|1010 1011 1100 '''0001''' 0000 00|00 0000 1000|
+
      0xabc10008:│1010 1011 1100 '''0001''' 0000 00│00 0000 1000│
  0xabc800aa:|1010 1011 1100 '''1000''' 0000 00|00 1010 1010|
+
      0xabc800aa:│1010 1011 1100 '''1000''' 0000 00│00 1010 1010│
              └---------------------------┴------------┘
+
                └───────────────────────────┴────────────┘
                          ''marco''         ''desplazamiento''
+
                            ''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 (2<sup>6</sup>)
 +
  - ''Tamaño de entrada'': 8 bytes(2<sup>3</sup>)
 +
  '''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'''

Revisión actual del 18: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