Memoria Virtual en Sistemas Operativos
47 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál es la principal dificultad al implementar el algoritmo óptimo de reemplazo de página?

  • Depende de la cantidad de memoria disponible
  • Es fácil de programar y no presenta complicaciones
  • Requiere un conocimiento del futuro de la cadena de referencia (correct)
  • Requiere seguimiento constante de todas las páginas en la memoria
  • En comparación con FIFO, LRU utiliza qué tipo de información para decidir el reemplazo de páginas?

  • El último tiempo de uso de cada página (correct)
  • Cuántas páginas fueron traídas a la memoria
  • El tamaño de las páginas en memoria
  • La cantidad de referencias en la cadena
  • Cuál es una de las características del algoritmo FIFO en el contexto de reemplazo de páginas?

  • Elimina las páginas que han sido menos utilizadas
  • Observa el tiempo en que se utilizará cada página
  • Utiliza el tiempo en que una página fue traída a la memoria (correct)
  • Predice el uso futuro de todas las páginas
  • ¿Qué estrategia se repite al definir el reemplazo en el algoritmo LRU?

    <p>Seleccionar la página que ha estado más tiempo sin ser utilizada</p> Signup and view all the answers

    ¿Qué significa el término 'page fault' en el contexto de gestión de memoria?

    <p>Una referencia a una página que no está en memoria</p> Signup and view all the answers

    ¿Qué algoritmo se considera como referencia para comparar el rendimiento de otros algoritmos de reemplazo de página?

    <p>OPT</p> Signup and view all the answers

    ¿Qué enfoque utiliza LRU en comparación con el algoritmo óptimo?

    <p>Observa hacia atrás en el tiempo reciente</p> Signup and view all the answers

    ¿Qué ocurre cuando varios procesos necesitan más marcos de memoria de los disponibles en el sistema?

    <p>El sistema operativo puede terminar uno o más procesos.</p> Signup and view all the answers

    ¿Cuál es la primera acción del sistema operativo al enfrentarse a un page fault?

    <p>Determinar dónde se encuentra la página en el almacenamiento secundario.</p> Signup and view all the answers

    ¿Qué técnica conjunta utilizan la mayoría de los sistemas operativos para gestionar la memoria en caso de sobreasignación?

    <p>Reemplazo de páginas combinado con swapping de páginas.</p> Signup and view all the answers

    Cuando no hay ningún marco libre, ¿qué estrategia adopta el sistema operativo para manejar la solicitud de una página?

    <p>Utilizar un algoritmo de reemplazo de página para seleccionar un marco víctima.</p> Signup and view all the answers

    ¿Qué puede provocar una sobreasignación de memoria en un sistema con marcos limitados?

    <p>Una mayor utilización de la memoria que no es sostenible.</p> Signup and view all the answers

    Al realizar el reemplazo básico de páginas, ¿qué se hace con el contenido del marco que se libera?

    <p>Se escribe en el almacenamiento secundario (swap).</p> Signup and view all the answers

    ¿Qué implica la sobreasignación de memoria en términos de uso de páginas en los procesos?

    <p>Que en determinadas circunstancias, cada proceso pueda usar más páginas de las que inicialmente se consideraron.</p> Signup and view all the answers

    ¿Qué recurso de memoria no se utiliza exclusivamente para páginas de programas en un sistema operativo?

    <p>Buffers de E/S.</p> Signup and view all the answers

    ¿Cuál es la principal ventaja de la memoria virtual para los programadores?

    <p>Facilita la programación al permitir un espacio de direcciones virtuales grande.</p> Signup and view all the answers

    ¿Cómo afecta la memoria virtual al rendimiento de la CPU?

    <p>Aumenta el rendimiento al permitir la ejecución de más programas simultáneamente.</p> Signup and view all the answers

    ¿Qué diferencia hay entre la memoria lógica y la memoria física en el contexto de la memoria virtual?

    <p>La memoria lógica se refiere al espacio de direcciones virtuales y la física a la memoria real instalada.</p> Signup and view all the answers

    En un sistema con memoria virtual, ¿qué ocurre con el espacio entre el heap y el stack?

    <p>Es parte del espacio de direcciones virtuales y puede contener huecos destinados a crecer.</p> Signup and view all the answers

    ¿Qué significa que los espacios de direcciones virtuales sean dispersos?

    <p>Que están segmentados y pueden contener huecos que se llenan dinámicamente.</p> Signup and view all the answers

    ¿Cuál es un efecto de la menor necesidad de E/S en sistemas con memoria virtual?

    <p>Se requiere menos tiempo para cargar o intercambiar partes de programas.</p> Signup and view all the answers

    ¿Qué se puede decir sobre la configuración del stack en sistemas GNU/Linux?

    <p>Tiene un valor por defecto que puede ser modificado según sea necesario.</p> Signup and view all the answers

    ¿Cómo se considera la memoria física en comparación con la memoria virtual en términos de aprovechamiento?

    <p>Es menor en tamaño, lo que hace necesaria la existencia de la memoria virtual.</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones describe mejor el rendimiento del algoritmo FIFO?

    <p>Puede reemplazar una página que ya no es necesaria.</p> Signup and view all the answers

    ¿Qué indica una mala elección de página para reemplazar en el algoritmo FIFO?

    <p>La tasa de page faults puede aumentar ineficazmente.</p> Signup and view all the answers

    ¿Qué caracteristica se establece sobre la anomalía de Belady en el algoritmo FIFO?

    <p>Aumentar el número de marcos puede aumentar la tasa de page faults.</p> Signup and view all the answers

    ¿Cuál es la principal ventaja del algoritmo de reemplazo óptimo?

    <p>Reduce al mínimo la tasa de page faults para marcos fijos.</p> Signup and view all the answers

    En un sistema con 3 marcos, ¿cuál es el resultado observado en cuanto a page faults usando FIFO en comparación con 4 marcos?

    <p>Se generan más page faults con 4 marcos.</p> Signup and view all the answers

    ¿Qué limitación tiene el algoritmo FIFO respecto a la selección de páginas para reemplazar?

    <p>No considera la frecuencia de uso de las páginas.</p> Signup and view all the answers

    ¿Cuál es un posible efecto al sustituir incorrectamente una página activa en FIFO?

    <p>Genera un page fault inmediatamente.</p> Signup and view all the answers

    ¿Qué ocurre con la tasa de page fault en el algoritmo óptimo?

    <p>No se ve afectada por el número de marcos.</p> Signup and view all the answers

    ¿Cuál es la desventaja principal de utilizar una pila para el reemplazo de páginas LRU?

    <p>Cada actualización es costosa en tiempo.</p> Signup and view all the answers

    En un sistema con 128 marcos y 93 marcos libres, ¿cuántos marcos de memoria recibirían dos procesos si se distribuyen equitativamente?

    <p>46 marcos para cada proceso.</p> Signup and view all the answers

    ¿Qué característica se busca mantener en la lista de marcos libres durante el manejo de fallos de página?

    <p>Siempre al menos tres marcos libres.</p> Signup and view all the answers

    ¿Qué se puede hacer para optimizar la paginación del usuario cuando el sistema operativo no utiliza su espacio de buffer?

    <p>Asignar ese espacio a la paginación del usuario.</p> Signup and view all the answers

    ¿Cuántos page faults iniciales obtendrán marcos de la lista de marcos libres antes de que se aplique un algoritmo de reemplazo?

    <p>93 page faults.</p> Signup and view all the answers

    ¿Cuál es la función principal del puntero en la cola de la pila durante el reemplazo de páginas LRU?

    <p>Apuntar a la página que se debe eliminar.</p> Signup and view all the answers

    ¿Qué ocurre con los marcos asignados a los procesos de usuario al finalizar un proceso?

    <p>Se devuelven a la lista de marcos libres.</p> Signup and view all the answers

    ¿Cuál es la principal mejora que proporciona la lista doblemente enlazada en la implementación de la pila para LRU?

    <p>Facilita la eliminación de elementos en ambos extremos.</p> Signup and view all the answers

    ¿Qué problema se puede generar al utilizar el sistema de buddies para la asignación de memoria?

    <p>Causa fragmentación dentro de los segmentos asignados</p> Signup and view all the answers

    ¿Qué componen un slab en el contexto de la asignación de memoria del kernel?

    <p>Una o más páginas físicamente contiguas</p> Signup and view all the answers

    ¿Cuántos objetos puede almacenar una slab de 12 KB que está compuesta por 3 páginas de 4 KB cada una?

    <p>6 objetos de 2 KB</p> Signup and view all the answers

    ¿Cuál es la función principal de una memoria caché en el sistema de asignación de slabs?

    <p>Almacenar objetos para estructuras de datos del kernel</p> Signup and view all the answers

    ¿Qué sucede cuando se necesita un nuevo objeto en una estructura de datos del kernel?

    <p>Se selecciona un objeto libre del caché</p> Signup and view all the answers

    ¿Cuáles son algunos de los sistemas operativos mencionados en el contenido?

    <p>Linux, Windows, Solaris</p> Signup and view all the answers

    ¿Qué ocurre con los objetos en la caché una vez que se asignan al kernel?

    <p>Se marcan como usados</p> Signup and view all the answers

    ¿Qué aspectos se consideran en la gestión de memoria del kernel además de la asignación de slabs?

    <p>Prepaging, Page Size y TLB Reach</p> Signup and view all the answers

    Study Notes

    Memoria Virtual

    • Técnica que permite ejecutar procesos que no están completamente en memoria.
    • Abstrae la memoria principal en una matriz de almacenamiento grande y uniforme, separando la memoria lógica del programador de la memoria física.
    • Permite compartir archivos, bibliotecas y memoria compartida entre procesos.
    • No es fácil de implementar y puede disminuir el rendimiento si no se utiliza con precaución.

    Generalidades

    • Las instrucciones para ejecutar deben estar en memoria física.
    • Este requisito limita el tamaño de un programa al de la memoria física.
    • Los programas no necesitan todo el código al mismo tiempo.
    • El código para manejar errores inusuales rara vez se ejecuta.
    • Las matrices, listas y tablas a menudo tienen asignada más memoria de la necesaria.
    • Ciertas opciones y características de un programa rara vez se utilizan.
    • Incluso cuando se necesita todo el programa, no siempre es necesario todo al mismo tiempo.

    Beneficios

    • Un programa no está limitado por la cantidad de memoria física.
    • Permite ejecutar más programas al mismo tiempo.
    • Aumenta la utilización y el rendimiento de la CPU.
    • Disminuye el tiempo de respuesta y retorno.
    • Se necesita menos E/S para cargar o intercambiar porciones de programas.

    Paginación por demanda

    • El concepto general es cargar una página en memoria solo cuando sea necesario.
    • Mientras un proceso se ejecuta, algunas páginas están en memoria y otras en almacenamiento secundario.
    • Se requiere el soporte del hardware para la distinción entre páginas válidas e inválidas.

    Paginación por demanda (conceptos básicos)

    • Válido: La página asociada es legal y está en memoria.
    • Inválido: La página no es válida (no está en el espacio de direcciones lógicas del proceso) o es válida pero está en almacenamiento secundario.
    • La entrada de la tabla de páginas para una página que no está actualmente en memoria se marca como inválida.
    • Marcar una página como inválida no produce efecto si el proceso no intenta acceder a esa página.

    Paginación por demanda (procedimiento para manejar un page fault)

    • Se verifica si la referencia dentro del proceso es válida.
    • Si la referencia es inválida, se finaliza el proceso. Si es válida pero no se ha traído a memoria, se trae.
    • Busca un marco libre (en la lista de marcos libres).
    • Planifica un proceso de lectura de la página deseada desde el almacenamiento secundario al marco recién asignado.
    • Se modifica la tabla de páginas para indicar que la página ahora está en memoria.
    • Se reinicia la instrucción que fue interrumpida por el page fault.

    Paginación por demanda (Lista de marcos libres)

    • La mayoría de los SO mantienen una lista de marcos libres para satisfacer las peticiones de page faults.
    • Los SO suelen asignar estos marcos utilizando una técnica denominada zero-fill-on-demand.
    • Los marcos zero-fill-on-demand se "ponen a cero" antes de asignarse.
    • Al iniciar el sistema, toda la memoria disponible se coloca en la lista de marcos libres.
    • A medida que se solicitan marcos, el tamaño de la lista se reduce.

    Paginación por demanda (Performance)

    • La paginación por demanda puede afectar significativamente el rendimiento.
    • Se calcula el tiempo de acceso efectivo considerando el tiempo de acceso a memoria (ma) y el tiempo requerido para resolver un page fault.
    • Tiempo de acceso efectivo= (1-p) × ma + p × tiempo para resolver un page fault.

    Copy-On-Write

    • Técnica que evita la paginación por demanda al crear procesos con fork() compartiendo páginas.
    • Las páginas compartidas están marcadas como copy-on-write.
    • Si un proceso escribe en una página compartidas, se crea una copia de la página.
    • La ventaja es la creación rápida de procesos y la minimización de nuevas páginas.

    Reemplazo de páginas

    • Técnica usada cuando no hay suficientes marcos libres en memoria para nuevos procesos.
    • Se selecciona un marco víctima para ser reemplazado.
    • El SO determina dónde reside la página deseada en el almacenamiento secundario.
    • El marco víctima se escribe en el almacenamiento secundario.

    Reemplazo de páginas (FIFO)

    • Se usa una cola para mantener las páginas en memoria.
    • La página más antigua es la primera en ser reemplazada.

    Reemplazo de páginas (OPT)

    • Reemplaza la página que no se utilizará durante el período más largo.

    Reemplazo de páginas (LRU)

    • Asocia a cada página el tiempo de su última referencia en memoria.
    • La página menos usada recientemente se reemplaza.

    Asignación de marcos

    • Estrategia para asignar marcos de memoria entre múltiples procesos.
    • Asignación igualitaria: Cada proceso recibe la misma cantidad de marcos.
    • Asignación proporcional: Cada proceso recibe marcos de forma proporcional a su tamaño.
    • Asignación global: Un proceso puede seleccionar un marco de cualquier proceso.
    • Asignación local: Un proceso puede seleccionar sólo un marco de los que tiene asignados.
    • Asignación de marcos: Se deben considerar el rendimiento y el número mínimo de marcos para cada proceso.

    Thrashing

    • Alto nivel de paginación que ocurre cuando un proceso pasa más tiempo paginando que ejecutándose.
    • El thrashing reduce el rendimiento.
    • Las peticiones de page faults son mayores que la cantidad de marcos disponibles

    Otras consideraciones

    • Prepaging, tamaño de la página, alcance de la TLB, tablas de páginas invertidas, estructura del programa, bloqueo de E/S y bloqueo de páginas.

    Ejemplos de sistemas operativos

    • Linux, Windows, Solaris

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Memoria virtual 10 (PDF)

    Description

    Este cuestionario explora el concepto de memoria virtual en sistemas operativos. Aprenderás sobre su funcionamiento, beneficios y limitaciones, así como su impacto en el rendimiento de los programas. Ideal para estudiantes que desean profundizar en el tema de la gestión de memoria.

    More Like This

    Memory Management in Operating Systems
    16 questions
    Memory Management in Operating Systems
    12 questions
    Virtual Memory in Operating Systems
    27 questions
    Use Quizgecko on...
    Browser
    Browser