Podcast
Questions and Answers
¿Cuál es la principal dificultad al implementar el algoritmo óptimo de reemplazo de página?
¿Cuál es la principal dificultad al implementar el algoritmo óptimo de reemplazo de página?
En comparación con FIFO, LRU utiliza qué tipo de información para decidir el reemplazo de páginas?
En comparación con FIFO, LRU utiliza qué tipo de información para decidir el reemplazo de páginas?
Cuál es una de las características del algoritmo FIFO en el contexto de reemplazo de páginas?
Cuál es una de las características del algoritmo FIFO en el contexto de reemplazo de páginas?
¿Qué estrategia se repite al definir el reemplazo en el algoritmo LRU?
¿Qué estrategia se repite al definir el reemplazo en el algoritmo LRU?
Signup and view all the answers
¿Qué significa el término 'page fault' en el contexto de gestión de memoria?
¿Qué significa el término 'page fault' en el contexto de gestión de memoria?
Signup and view all the answers
¿Qué algoritmo se considera como referencia para comparar el rendimiento de otros algoritmos de reemplazo de página?
¿Qué algoritmo se considera como referencia para comparar el rendimiento de otros algoritmos de reemplazo de página?
Signup and view all the answers
¿Qué enfoque utiliza LRU en comparación con el algoritmo óptimo?
¿Qué enfoque utiliza LRU en comparación con el algoritmo óptimo?
Signup and view all the answers
¿Qué ocurre cuando varios procesos necesitan más marcos de memoria de los disponibles en el sistema?
¿Qué ocurre cuando varios procesos necesitan más marcos de memoria de los disponibles en el sistema?
Signup and view all the answers
¿Cuál es la primera acción del sistema operativo al enfrentarse a un page fault?
¿Cuál es la primera acción del sistema operativo al enfrentarse a un page fault?
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?
¿Qué técnica conjunta utilizan la mayoría de los sistemas operativos para gestionar la memoria en caso de sobreasignación?
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?
Cuando no hay ningún marco libre, ¿qué estrategia adopta el sistema operativo para manejar la solicitud de una página?
Signup and view all the answers
¿Qué puede provocar una sobreasignación de memoria en un sistema con marcos limitados?
¿Qué puede provocar una sobreasignación de memoria en un sistema con marcos limitados?
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?
Al realizar el reemplazo básico de páginas, ¿qué se hace con el contenido del marco que se libera?
Signup and view all the answers
¿Qué implica la sobreasignación de memoria en términos de uso de páginas en los procesos?
¿Qué implica la sobreasignación de memoria en términos de uso de páginas en los procesos?
Signup and view all the answers
¿Qué recurso de memoria no se utiliza exclusivamente para páginas de programas en un sistema operativo?
¿Qué recurso de memoria no se utiliza exclusivamente para páginas de programas en un sistema operativo?
Signup and view all the answers
¿Cuál es la principal ventaja de la memoria virtual para los programadores?
¿Cuál es la principal ventaja de la memoria virtual para los programadores?
Signup and view all the answers
¿Cómo afecta la memoria virtual al rendimiento de la CPU?
¿Cómo afecta la memoria virtual al rendimiento de la CPU?
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?
¿Qué diferencia hay entre la memoria lógica y la memoria física en el contexto de la memoria virtual?
Signup and view all the answers
En un sistema con memoria virtual, ¿qué ocurre con el espacio entre el heap y el stack?
En un sistema con memoria virtual, ¿qué ocurre con el espacio entre el heap y el stack?
Signup and view all the answers
¿Qué significa que los espacios de direcciones virtuales sean dispersos?
¿Qué significa que los espacios de direcciones virtuales sean dispersos?
Signup and view all the answers
¿Cuál es un efecto de la menor necesidad de E/S en sistemas con memoria virtual?
¿Cuál es un efecto de la menor necesidad de E/S en sistemas con memoria virtual?
Signup and view all the answers
¿Qué se puede decir sobre la configuración del stack en sistemas GNU/Linux?
¿Qué se puede decir sobre la configuración del stack en sistemas GNU/Linux?
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?
¿Cómo se considera la memoria física en comparación con la memoria virtual en términos de aprovechamiento?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones describe mejor el rendimiento del algoritmo FIFO?
¿Cuál de las siguientes afirmaciones describe mejor el rendimiento del algoritmo FIFO?
Signup and view all the answers
¿Qué indica una mala elección de página para reemplazar en el algoritmo FIFO?
¿Qué indica una mala elección de página para reemplazar en el algoritmo FIFO?
Signup and view all the answers
¿Qué caracteristica se establece sobre la anomalía de Belady en el algoritmo FIFO?
¿Qué caracteristica se establece sobre la anomalía de Belady en el algoritmo FIFO?
Signup and view all the answers
¿Cuál es la principal ventaja del algoritmo de reemplazo óptimo?
¿Cuál es la principal ventaja del algoritmo de reemplazo óptimo?
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?
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?
Signup and view all the answers
¿Qué limitación tiene el algoritmo FIFO respecto a la selección de páginas para reemplazar?
¿Qué limitación tiene el algoritmo FIFO respecto a la selección de páginas para reemplazar?
Signup and view all the answers
¿Cuál es un posible efecto al sustituir incorrectamente una página activa en FIFO?
¿Cuál es un posible efecto al sustituir incorrectamente una página activa en FIFO?
Signup and view all the answers
¿Qué ocurre con la tasa de page fault en el algoritmo óptimo?
¿Qué ocurre con la tasa de page fault en el algoritmo óptimo?
Signup and view all the answers
¿Cuál es la desventaja principal de utilizar una pila para el reemplazo de páginas LRU?
¿Cuál es la desventaja principal de utilizar una pila para el reemplazo de páginas LRU?
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?
En un sistema con 128 marcos y 93 marcos libres, ¿cuántos marcos de memoria recibirían dos procesos si se distribuyen equitativamente?
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?
¿Qué característica se busca mantener en la lista de marcos libres durante el manejo de fallos de página?
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?
¿Qué se puede hacer para optimizar la paginación del usuario cuando el sistema operativo no utiliza su espacio de buffer?
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?
¿Cuántos page faults iniciales obtendrán marcos de la lista de marcos libres antes de que se aplique un algoritmo de reemplazo?
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?
¿Cuál es la función principal del puntero en la cola de la pila durante el reemplazo de páginas LRU?
Signup and view all the answers
¿Qué ocurre con los marcos asignados a los procesos de usuario al finalizar un proceso?
¿Qué ocurre con los marcos asignados a los procesos de usuario al finalizar un proceso?
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?
¿Cuál es la principal mejora que proporciona la lista doblemente enlazada en la implementación de la pila para LRU?
Signup and view all the answers
¿Qué problema se puede generar al utilizar el sistema de buddies para la asignación de memoria?
¿Qué problema se puede generar al utilizar el sistema de buddies para la asignación de memoria?
Signup and view all the answers
¿Qué componen un slab en el contexto de la asignación de memoria del kernel?
¿Qué componen un slab en el contexto de la asignación de memoria del kernel?
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?
¿Cuántos objetos puede almacenar una slab de 12 KB que está compuesta por 3 páginas de 4 KB cada una?
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?
¿Cuál es la función principal de una memoria caché en el sistema de asignación de slabs?
Signup and view all the answers
¿Qué sucede cuando se necesita un nuevo objeto en una estructura de datos del kernel?
¿Qué sucede cuando se necesita un nuevo objeto en una estructura de datos del kernel?
Signup and view all the answers
¿Cuáles son algunos de los sistemas operativos mencionados en el contenido?
¿Cuáles son algunos de los sistemas operativos mencionados en el contenido?
Signup and view all the answers
¿Qué ocurre con los objetos en la caché una vez que se asignan al kernel?
¿Qué ocurre con los objetos en la caché una vez que se asignan al kernel?
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?
¿Qué aspectos se consideran en la gestión de memoria del kernel además de la asignación de slabs?
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.
Related Documents
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.