SISTEMAS OPERATIVOS I                     Unidad 3Administración de Memoria
Lista de Jerarquía   Registros   Caché de nivel 1 (L1)   Caché de nivel 2 (L2)   Memoria Principal   Caché de disco   Disc...
Lista de Jerarquía
Lista de Jerarquía
Lista de Jerarquía                                 Bits / US$                 $/                      0.01 US$            ...
Rendimiento Tiempo de Acceso     El tiempo transcurrido entre presentar la dirección y      obtener el dato Tiempo del ci...
Administración de Memoria  Al igual que con el CPU, los procesos también  compiten por el uso de la memoria principal (RAM...
Espacio de DireccionesLógico y Físico  Las direcciones que se utilizan dentro de un  programa y que son relativas al inici...
Intercambio  Cuando un proceso requiere ser transferido  temporalmente al disco durante su ejecución por  cuestiones de es...
Asignación Contigua  Normalmente se divide la memoria en dos grandes  particiones, colocando al sistema operativo en una y...
ASIGNACIÓN DE MEMORIA             CLÁSICALos programas reciben del SO un espacio de memoria para su ejecución   Monoprogr...
Asignación con una SolaPartición  En este esquema se asume que hay una sola  partición para los procesos del usuario  Para...
Asignación con una SolaPartición
Asignación con MúltiplesParticiones  En este método se manejan varias particiones, una  para cada proceso existente  En la...
Asignación con MúltiplesParticiones  Conforme van llegando los procesos, se busca un  hueco adecuado y se coloca ahí el pr...
Asignación con MúltiplesParticiones – Ejemplo   SO          SO          SO           SO proceso 5   proceso 5   proceso 5 ...
Fragmentación Externa eInterna  La fragmentación externa se da cuando se van  asignando porciones de memoria a los proceso...
Fragmentación Externa eInterna  Una forma de evitar la fragmentación externa es la  Compactación; en esta técnica, se relo...
SISTEMAS OPERATIVOSMemoria Virtual
Antecedentes  Los programas normalmente no ocupan al  mismo tiempo toda la memoria que solicitan;  esto porque el código e...
Antecedentes – Esquema dela Memoria Virtual
Mecanismos de Asignación de      Memoria VirtualExisten tres estrategias de administración dela memoria virtual:    OBTEN...
Paginación  Otra posible solución al problema de la  fragmentación externa es permitir que el espacio de  direcciones de l...
Método Básico de Paginación  La memoria física se divide en bloques de tamaño  fijo llamados Marcos (Frames) y la memoria ...
Método Básico de Paginación       v=(p,d)   r=(f,d)
Método Básico de Paginación  El número de página se utiliza como un índice dentro  de una Tabla de Páginas, la cual contie...
Soporte en Hardware para laTabla de Páginas  Por lo general, se requiere una tabla de páginas para  cada proceso, por lo q...
Páginas Compartidas  Una ventaja adicional de la paginación es la  capacidad de poder compartir páginas comunes  entre var...
Segmentación La segmentación es un esquema de memoria en el que se hacen divisiones lógicas de un programa (por funciones,...
Segmentación                                   1                                   4          1                    2      ...
Soporte en Hardware paraSegmentación  La segmentación se implementa mediante una Tabla  de Segmentos  Esta tabla contiene ...
Soporte en Hardware paraSegmentación    v=(s,d)
Segmentación – Ejemplo   Asignación de memoria virtual    Un solo segmento    Varios segmentosMemoria    Programa A     ...
Protección y Compartimentode los Segmentos  Al igual que con la paginación, se pueden agregar  bits a las entradas de la t...
Fragmentación de losSegmentos  De la misma forma que con el esquema de  particiones variables, hay que encontrar huecos de...
Segmentación con Paginación Una solución más compleja pero que resuelve el problema de la fragmentación externa en la segm...
Paginación por Demanda Éste es el método tradicional con el que se implementa la memoria virtual En él, se suben a memoria...
Paginación por Demanda
Desempeño de la Paginaciónpor Demanda  El desempeño de la paginación por demanda se  puede medir por medio del Tiempo de A...
Reemplazo de Páginas Si la cantidad de procesos en memoria es grande, eventualmente se da el caso de que ya no hay marcos ...
Reemplazo de Páginas
Algoritmos de Reemplazo dePáginas  Existen varios algoritmos que tienen la tarea de  indicar cuál página se selecciona com...
Algoritmo FIFO  En este algoritmo se saca la página que tenga más  tiempo en la memoria  Se puede grabar el instante en el...
Algoritmo FIFO – Ejemplo
Algoritmo Óptimo  Un algoritmo óptimo es aquél que tenga la frecuencia  de fallos más baja posible  El criterio que se uti...
Algoritmo Óptimo – Ejemplo
Algoritmo LRU  El algoritmo LRU es un punto medio de los  anteriores, y busca aquella página que se haya  usado con mayor ...
Algoritmo LRU – Ejemplo
Algoritmos de Aproximación aLRU  Puesto que casi nunca hay hardware para  implementar correctamente el LRU, hay que usar  ...
Algoritmo con Bits deReferencia Adicionales  En este algoritmo se almacena un byte por cada  página con un registro de los...
Algoritmo de SegundaOportunidad  Este algoritmo es una modificación del Algoritmo  FIFO, pero una vez que ya se seleccionó...
Algoritmo de SegundaOportunidad – Ejemplo
Algoritmo de SegundaOportunidad Mejorado  En este algoritmo se maneja no sólo el bit de  referencia sino también el bit de...
Algoritmo de Colocación dePáginas en Búfers  Además de utilizar un algoritmo para seleccionar la  víctima se pueden agrega...
Asignación de Marcos  El asignar un marco libre a un proceso no siempre es  una tarea trivial  Normalmente la estrategia u...
Número Mínimo de Marcos Entre más pocos marcos tenga asignados un proceso más tiempo tardará en fallos de página Pero adem...
Preguntas ???
Próxima SlideShare
Cargando en…5
×

Unidad3

539 visualizaciones

Publicado el

Presentación U3 de la materia de S.O

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
539
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
6
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Unidad3

  1. 1. SISTEMAS OPERATIVOS I Unidad 3Administración de Memoria
  2. 2. Lista de Jerarquía Registros Caché de nivel 1 (L1) Caché de nivel 2 (L2) Memoria Principal Caché de disco Disco Óptico Cinta
  3. 3. Lista de Jerarquía
  4. 4. Lista de Jerarquía
  5. 5. Lista de Jerarquía Bits / US$ $/ 0.01 US$ US$ / Gbyte
  6. 6. Rendimiento Tiempo de Acceso  El tiempo transcurrido entre presentar la dirección y obtener el dato Tiempo del ciclo de memoria  El tiempo puede ser requerido por la memoria para “recuperar” antes del siguiente acceso  El tiempo del ciclo es acceso + recuperación Tasa de transferencia  Velocidad a la cual los datos pueden ser movidos
  7. 7. Administración de Memoria Al igual que con el CPU, los procesos también compiten por el uso de la memoria principal (RAM); ello conlleva que la memoria se comparta de forma eficiente Existen muchas estrategias de administración de memoria, cada una con sus pros y contras, pero lo que más determina cuál esquema utilizar es el diseño del hardware existente La memoria es un inmenso arreglo de bytes o palabras, que contiene tanto instrucciones como datos, y cada una tiene su propia dirección
  8. 8. Espacio de DireccionesLógico y Físico Las direcciones que se utilizan dentro de un programa y que son relativas al inicio del mismo se conocen como Direcciones Lógicas ó Virtuales, mientras que a cada una de las posiciones de la memoria RAM se les denomina Direcciones Físicas La sección encargada de convertir las direcciones lógicas en físicas se llama Unidad de Manejo de Memoria (MMU), que es un disp. de hardware Los procesos nunca ven las direcciones físicas y la memoria nunca ve las direcciones lógicas
  9. 9. Intercambio Cuando un proceso requiere ser transferido temporalmente al disco durante su ejecución por cuestiones de espacio o alguna otra razón, se debe realizar un Intercambio (Swap) El intercambio debe ser lo más rápido posible para que no afecte demasiado el desempeño, ya sea utilizando discos veloces o apartando secciones del disco de acceso rápido Si el enlazado fue al momento de la carga, los procesos deben recolocarse en la misma posición donde estaban originalmente para que no fallen
  10. 10. Asignación Contigua Normalmente se divide la memoria en dos grandes particiones, colocando al sistema operativo en una y a los procesos del usuario en la otra Puesto que el vector de interrupciones debe estar en memoria baja, normalmente el sistema operativo también se coloca ahí Existen varios factores a tomar en cuenta:  Asignación con una sola partición  Asignación con múltiples particiones  Fragmentación externa e interna
  11. 11. ASIGNACIÓN DE MEMORIA CLÁSICALos programas reciben del SO un espacio de memoria para su ejecución Monoprogramación MultiprogramaciónMemoria Memoria Programa Aprincipal principal Programa A Programa B Programa C Sistema Sistema operativo operativo
  12. 12. Asignación con una SolaPartición En este esquema se asume que hay una sola partición para los procesos del usuario Para cada procesos, se utiliza un Registro de Reubicación y un Registro Límite El registro de reubicación contiene la dirección física en donde se colocó el proceso y el registro límite contiene el tamaño del intervalo asignado Las direcciones lógicas de un proceso no deberán ser mayor al límite; si lo llegan a ser, se levanta una trampa del sistema operativo Las direcciones físicas se obtienen: DF=DL+RR
  13. 13. Asignación con una SolaPartición
  14. 14. Asignación con MúltiplesParticiones En este método se manejan varias particiones, una para cada proceso existente En la forma más sencilla, cada partición es de tamaño fijo y la cantidad de procesos posible dependerá del número de particiones disponible Otra forma más general es utilizar particiones variable; para esto, el s.o. lleva un control de las regiones libres y ocupadas de la memoria Las regiones libres o disponibles se les llama también como huecos; de entrada, toda la memoria es un solo hueco
  15. 15. Asignación con MúltiplesParticiones Conforme van llegando los procesos, se busca un hueco adecuado y se coloca ahí el proceso, actualizando las tablas correspondientes Hay tres métodos normales para asignar huecos a nuevos procesos:  Primer ajuste: se asigna el primer hueco que se encuentre y que tenga el tamaño mínimo necesario  Mejor ajuste: se asigna aquél hueco que tenga al menos el tamaño mínimo necesario, y que además sea el más pequeño de los encontrados  Peor ajuste: se asigna el hueco más grande de todos, siempre y cuando tenga el tamaño suficiente
  16. 16. Asignación con MúltiplesParticiones – Ejemplo SO SO SO SO proceso 5 proceso 5 proceso 5 proceso 5 proceso 9 proceso 9 proceso 8 proceso 10 proceso 2 proceso 2 proceso 2 proceso 2
  17. 17. Fragmentación Externa eInterna La fragmentación externa se da cuando se van asignando porciones de memoria a los procesos y entre ellas quedan pequeñas secciones sin ocupar En ocasiones, un proceso no se puede almacenar por falta de un segmento contiguo suficiente, pero si se sumaran todos los fragmentos dispersos sí se podría La fragmentación interna se presenta cuando se asignan particiones de tamaños mayores a los de los procesos y queda espacio sin ocupar
  18. 18. Fragmentación Externa eInterna Una forma de evitar la fragmentación externa es la Compactación; en esta técnica, se relocalizan los procesos de tal manera que queden contiguos y resulte en un solo hueco grande al final La compactación sólo es posible si se utiliza enlazado dinamico (al momento de ejecución) Es importante evaluar el impacto de la compactación y analizar los algoritmos que se vayan a utilizar para ello; la compactación suele ser muy ineficiente y díficil de lograr adecuadamente
  19. 19. SISTEMAS OPERATIVOSMemoria Virtual
  20. 20. Antecedentes Los programas normalmente no ocupan al mismo tiempo toda la memoria que solicitan; esto porque el código está dividido en partes o por estructuras de datos parcialmente utilizadas Si se aprovecha esta característica, se pueden poner más procesos en memoria al mismo tiempo lo que ofrece varias ventajas:  Se elimina el límite de la memoria física  Se pueden ejecutar más programas a la vez  Se requiere menos E/S que si se intercambian en total Estas ventajas son propias de la Memoria Virtual
  21. 21. Antecedentes – Esquema dela Memoria Virtual
  22. 22. Mecanismos de Asignación de Memoria VirtualExisten tres estrategias de administración dela memoria virtual:  OBTENCIÓN  COLOCACIÓN  REMPLAZOLas estrategias de colocación delalmacenamiento sirven para determinar enque lugar del almacenamiento primario sedeben colocar los programas y datosentrantes.  MEJOR AJUSTE  PRIMER AJUSTE  PEOR AJUSTE
  23. 23. Paginación Otra posible solución al problema de la fragmentación externa es permitir que el espacio de direcciones de los procesos no sea contiguo La Paginación (Paging) es una implementación de dicha solución La paginación evita el difícil problema de asignar porciones variables a los procesos o de utilizar intercambio constante y su consecuente fragmentación en disco Debido a estas ventajas y a su relativa facilidad de implementación, es de las técnicas más usadas
  24. 24. Método Básico de Paginación La memoria física se divide en bloques de tamaño fijo llamados Marcos (Frames) y la memoria lógica se divide en bloques del mismo tamaño llamados Páginas (Pages) Cuando se va a ejecutar un proceso, se carga de disco a los marcos de memoria disponible; el disco también se divide en bloques del mismo tamaño que los marcos Cada dirección lógica se convierte en una combinación de no. de página y desplazamiento en la página; la MMU la convierte en dir. física
  25. 25. Método Básico de Paginación v=(p,d) r=(f,d)
  26. 26. Método Básico de Paginación El número de página se utiliza como un índice dentro de una Tabla de Páginas, la cual contiene la dirección base de cada uno de los marcos de la memoria física El tamaño de la página lo define el hardware Si se utiliza un esquema de paginación, no existe fragmentación externa, cualquier marco disponible se puede utilizar; lo que sí puede llegar a haber es algo de fragmentación interna Los marcos disponibles se administran por el sistema operativo mediante una Tabla de Marcos
  27. 27. Soporte en Hardware para laTabla de Páginas Por lo general, se requiere una tabla de páginas para cada proceso, por lo que se requiere que se almacene un apuntador a ésta en el PCB Se podrían utilizar registros dedicados para almacenar la tabla, sin embargo, esto sólo funciona si son pocas entradas Otra posibilidad es la utilización de un registro especial de alta velocidad que guarda la posición en memoria donde se encuentra la tabla de cada proceso, y su valor cambia de un proceso a otro
  28. 28. Páginas Compartidas Una ventaja adicional de la paginación es la capacidad de poder compartir páginas comunes entre varios procesos Esto se logra simplemente haciendo que las tablas de páginas de los procesos referencien a los mismos marcos Esto se puede utilizar para compartir código común (por ejemplo, varios usuarios utilizando un mismo programa) o para implementar un esquema de memoria compartida
  29. 29. Segmentación La segmentación es un esquema de memoria en el que se hacen divisiones lógicas de un programa (por funciones, módulos o segmentos de datos), y en el que cada segmento puede tener una longitud variable Los segmentos se numeran de forma creciente y las instrucciones o datos se referencian en base al inicio del segmento Las direcciones lógicas de los procesos se forman entonces de unir el número de segmento con el desplazamiento dentro del segmento
  30. 30. Segmentación 1 4 1 2 3 2 4 3 espacio del usuario espacio de memoria física
  31. 31. Soporte en Hardware paraSegmentación La segmentación se implementa mediante una Tabla de Segmentos Esta tabla contiene en cada entrada una base de segmento y un límite de segmento La base es la posición en memoria física en la que se encuentra el segmento y el límite es el tamaño de segmento Cuando se busca una dirección lógica, en base al número de segmento se ubica la entrada y se obtiene la base; si el desplazamiento es mayor al límite se rechaza, si no se suma a la base
  32. 32. Soporte en Hardware paraSegmentación v=(s,d)
  33. 33. Segmentación – Ejemplo Asignación de memoria virtual Un solo segmento Varios segmentosMemoria Programa A Memoria Segmento 0 virtual virtual Segmento 1 Programa A Segmento 2 Sistema Sistema operativo operativo
  34. 34. Protección y Compartimentode los Segmentos Al igual que con la paginación, se pueden agregar bits a las entradas de la tabla de segmentos para controlar la validez o el tipo de acceso permitido a cada uno Además, el hecho de que los segmentos tienen un significado lógico permite realizar verificaciones adicionales También se pueden compartir los segmentos, simplemente haciendo referencia en la tabla a la misma dirección física; si lo compartido es código, se debe cuidar que sea código reentrante
  35. 35. Fragmentación de losSegmentos De la misma forma que con el esquema de particiones variables, hay que encontrar huecos de memoria libres y de tamaño adecuado para poderlos asignar a nuevos segmentos Para ello se utiliza ya sea el método de primer ajuste o el de mejor ajuste También se puede presentar fragmentación externa entre segmentos En general, si el tamaño promedio de los segmentos es pequeño, la fragmentación también
  36. 36. Segmentación con Paginación Una solución más compleja pero que resuelve el problema de la fragmentación externa en la segmentación, es la segmentación con paginación Hay varias formas de implementarlo, aunque en general se realiza una paginación dentro de los segmentos Al asignar los segmentos como páginas completas, se elimina la fragmentación externa a cambio de un poco de fragmentación interna Se requiere un fuerte apoyo del hardware Formato v= (s, p, d)
  37. 37. Paginación por Demanda Éste es el método tradicional con el que se implementa la memoria virtual En él, se suben a memoria sólo aquellas páginas que se determinan que se van a utilizar y conforme se van requiriendo Se requiere algún tipo de soporte de hardware para saber si una página está en memoria o en disco; normalmente se usa el bit de validez Si se intenta accesar a una página que no está en memoria, se genera una trampa y el s.o. toma el control
  38. 38. Paginación por Demanda
  39. 39. Desempeño de la Paginaciónpor Demanda El desempeño de la paginación por demanda se puede medir por medio del Tiempo de Acceso Efectivo Se calcula utilizando el tiempo de acceso a la memoria (tam) y el tiempo de procesar un fallo de página (tfp) Si p es la probabilidad de que se dé un fallo de página, al fórmula es: Tae=(1-p)(tam)+(p)(tfp) El tam normalmente está dado en nanosegundos, pero el tfp está dado en milisegundos (variable)
  40. 40. Reemplazo de Páginas Si la cantidad de procesos en memoria es grande, eventualmente se da el caso de que ya no hay marcos libres para asignarse a páginas nuevas Lo que hay que hacer entonces es quitar una de las páginas en memoria y subir otra; a esto se le llama Reemplazo de Páginas Cuando se necesita un marco libre se checa si hay y si no, se busca un marco víctima para liberarlo Para acelerar este proceso se puede utilizar un Bit de Modificación, que indica cambio en el marco; si no se ha cambiado, no se requiere grabarlo
  41. 41. Reemplazo de Páginas
  42. 42. Algoritmos de Reemplazo dePáginas Existen varios algoritmos que tienen la tarea de indicar cuál página se selecciona como víctima La meta de estos algoritmos es conseguir una Frecuencia de Fallos de Página baja Para evaluar los algoritmos se utiliza una secuencia de referencias a páginas en memoria, y a la que se le llama Serie de Referencias Otro factor que se considera es el número de marcos libres; entre más marcos haya libres, menos fallos de página se darán Cadena de referencia a utilizar para pruebas: 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1
  43. 43. Algoritmo FIFO En este algoritmo se saca la página que tenga más tiempo en la memoria Se puede grabar el instante en el que se subió, pero lo más fácil es manejar una cola (FIFO) para indicar cuál es la más vieja Este algoritmo es fácil de entender y de implementar, pero su desempeño es pobre Este algoritmo presenta un fenómeno llamado Anomalía de Belady, y se presenta cuando aún teniendo más marcos libres se dan más fallos
  44. 44. Algoritmo FIFO – Ejemplo
  45. 45. Algoritmo Óptimo Un algoritmo óptimo es aquél que tenga la frecuencia de fallos más baja posible El criterio que se utiliza en este algoritmo es el siguiente: “reemplazar aquella página que vaya a durar más tiempo sin usarse” Siguiendo esta regla se garantiza la frecuencia más baja Sin embargo, es difícil de implementar pues se necesitaría saber de antemano qué páginas se van a solicitar, y eso no es posible Por eso se usa sólo para hacer comparaciones
  46. 46. Algoritmo Óptimo – Ejemplo
  47. 47. Algoritmo LRU El algoritmo LRU es un punto medio de los anteriores, y busca aquella página que se haya usado con mayor anterioridad (Least Recently Used, LRU), es decir, la que tenga más tiempo sin usarse Es una muy buena aproximación al óptimo y por ello es muy utilizada, aunque la dificultad estriba en cómo implementarla Se pueden utilizar dos esquemas (contadores o pilas), sin embargo requieren apoyo de hardware el cual normalmente no existe
  48. 48. Algoritmo LRU – Ejemplo
  49. 49. Algoritmos de Aproximación aLRU Puesto que casi nunca hay hardware para implementar correctamente el LRU, hay que usar algún tipo de aproximación aprovechando el hardware que sí esté disponible Algunos de ellos utilizan un Bit de Referencia, (que indica si se utilizó el marco) y/o el Bit de Modificación (que ya se vió) Los algoritmos de aproximación son:  Algoritmo con Bits de Referencia Adicionales  Algoritmo de Segunda Oportunidad  Algoritmo de Segunda Oportunidad Mejorado
  50. 50. Algoritmo con Bits deReferencia Adicionales En este algoritmo se almacena un byte por cada página con un registro de los valores que ha tenido el bit de referencia durante un tiempo Lo que se hace es que utiliza un timer que cada cierto tiempo le da el control al s.o. y éste almacena el valor del bit de referencia de todas las páginas en un byte, usando un Shift Derecho Con este esquema, la página que tenga el número binario más chica es la LRU y ésa se escoge Si hay más de una con el mismo valor, se pueden bajar todas o se escoge la más vieja (FIFO)
  51. 51. Algoritmo de SegundaOportunidad Este algoritmo es una modificación del Algoritmo FIFO, pero una vez que ya se seleccionó la víctima se checa si se ha usado y en dado caso se le da una segunda oportunidad y se escoge otra Cuando se selecciona una páginas se verifica si su bit de referencia está en 1 y si es así se escoge la siguiente en la cola; a la que se le dio la segunda oportunidad se le pone el bit en 0 y se reasigna su tiempo de llegada a la hora actual Usualmente se implementa con una cola circular
  52. 52. Algoritmo de SegundaOportunidad – Ejemplo
  53. 53. Algoritmo de SegundaOportunidad Mejorado En este algoritmo se maneja no sólo el bit de referencia sino también el bit de modificación, concatenándolos en ese orden con lo que se crean cuatro clases (en orden de mejor a peor):  Valor 00: no se ha usado ni se ha modificado  Valor 01: no se ha usado pero se modificó  Valor 10: se usó pero no se ha modificado  Valor 11: se usó y se modificó Se hace lo mismo que en el otro pero se recorre la cola hasta que se encuentra la página con el valor más pequeño; es posible que se den varias vueltas
  54. 54. Algoritmo de Colocación dePáginas en Búfers Además de utilizar un algoritmo para seleccionar la víctima se pueden agregar otros procedimientos que mejoran el desempeño del reemplazo de páginas Este algortimo mantiene un conjunto de Marcos de Reserva que se utilizan al momento de asignar un marco Cuando ya se escogió un marco víctima se toma un marco de la reserva y se le asigna a la página nueva mientras que el víctima se libera; de esta forma el otro proceso entra más rápido
  55. 55. Asignación de Marcos El asignar un marco libre a un proceso no siempre es una tarea trivial Normalmente la estrategia utilizada es asignar cualquier marco libre a los procesos del usuario Sin embargo, hay que considerar varios aspectos:  El número mínimo de marcos por proceso  Si se usa asignación equitativa o proporcional  Si se maneja asiganción global o local Estos aspectos son muy importantes cuando se mantienen muchos procesos en memoria
  56. 56. Número Mínimo de Marcos Entre más pocos marcos tenga asignados un proceso más tiempo tardará en fallos de página Pero además de este efecto, hay que considerar cuál es la cantidad mínima que debe tener un proceso para que no vaya a causar algún error durante su ejecución por falta de marcos libres Este número lo determina el hardware y el conjunto y tipo de instrucciones de bajo nivel, y tiene que ver con la cantidad máxima de páginas que se pueden llegar a ocupar al mismo tiempo por una sola instrucción
  57. 57. Preguntas ???

×