Logo Studenta

3er parcial Resumen

¡Estudia con miles de materiales!

Vista previa del material en texto

1 
 
Cap 8: DeadLock 
Resumen: 
• El interbloqueo ocurre en un conjunto de procesos cuando todos los procesos del 
conjunto están esperando un evento que solo puede ser causado por otro proceso en el 
conjunto. 
• Hay cuatro condiciones necesarias para el interbloqueo: (1) exclusión mutua, (2) 
retener y esperar, (3) sin apropiación y (4) espera circular. El abrazo mortal o deadlock es 
soloposible cuando las cuatro condiciones están presentes. 
• El abrazo mortal o deadlock se pueden modelar con grafos de asignación de recursos, 
donde un ciclo indica un abrazo mortal o deadlock. 
• Los interbloqueos se pueden prevenir asegurándose de que uno de las cuatro 
condiciones para el interbloqueo no pueden ocurrir. De las cuatro condiciones necesarias, 
eliminar la espera circular es el único enfoque práctico. 
• El interbloqueo se puede evitar utilizando el algoritmo del banquero, que no otorga 
recursos, si hacerlo llevaría al sistema a un estado inseguro, donde sería posible un abrazo 
mortal o deadlock. 
• Un algoritmo de detección de bloqueo puede evaluar procesos y recursos en un sistema 
en ejecución para determinar si un conjunto de procesos está en un estado de bloqueo. 
• Si se produce un interbloqueo, un sistema puede intentar recuperarse del interbloqueo 
abortando uno de los procesos en la espera circular o quitando recursos que se han asignado 
a un proceso interbloqueado. 
 
Cap 9: Administración de Memoria 
Resumen: 
 • La memoria es fundamental para el funcionamiento de un sistema de computación 
moderno y consta de una gran variedad de bytes, cada uno con su propia dirección. 
• Una forma de asignar un espacio de direcciones a cada proceso es mediante el uso de 
registros base y límite. El registro de base contiene el registro físico con la dirección de 
memoria legal más pequeña, y el límite especifica el tamaño del rango. 
• Traducir las referencias de direcciones simbólicas a direcciones físicas reales puede 
ocurrir durante (1) compilación, (2) carga o (3) tiempo de ejecución. 
• Una dirección generada por la CPU se conoce como dirección lógica, quela unidad de 
gestión de memoria (MMU) la traduce en una dirección física en memoria. 
2 
 
• Un método para asignar memoria es asignar particiones de memoria contigua de 
diferentes tamaños. Estas particiones se pueden asignar en base a tres posibles estrategias: 
(1) primer ajuste, (2) mejor ajuste y (3) peor ajuste. 
• Los sistemas operativos modernos utilizan la paginación para administrar la memoria. En 
este proceso, la memoria física se divide en bloques de tamaño fijo llamados marcos y la 
memoria lógica en bloques del mismo tamaño llamados páginas. 
• Cuando se usa la paginación, una dirección lógica se divide en dos partes: un número de 
página y el desplazamiento de página. El número de página sirve como índice en una tabla 
de páginas por proceso que informa el marco en la memoria física que contiene la página. 
El desplazamiento es la ubicación específica dentro del marco al que se hace referencia. 
• El búfer de traducción anticipada (TLB) es un caché de hardware de la tabla de 
páginas. Cada entrada de TLB contiene un número de página y su marco correspondiente. 
• El uso de un TLB en la traducción de direcciones para sistemas de búsqueda implica 
obtener el número de página de la dirección lógica y comprobar si el marco para La página 
está en TLB. Si es así, la trama se obtiene de la TLB. Si el marco no está presente en el 
TLB, debe recuperarse de la tabla de páginas. 
• La paginación jerárquica implica dividir una dirección lógica en varias partes, cada uno 
se refiere a diferentes niveles de tablas de páginas. A medida que las direcciones se 
expanden más allá de 32 bits, el número de niveles jerárquicos puede aumentar. Las dos 
estrategias que abordan este problema son tablas de páginas con hash y tablas de páginas. 
• El intercambio (swapping) permite que el sistema mueva las páginas que pertenecen a 
un proceso al disco para incrementar el grado de multiprogramación. 
• La arquitectura Intel de 32 bits tiene dos niveles de tablas de páginas y admite tamaños de 
página de 4 KB o 4 MB. Esta arquitectura también es compatible con la dirección de página 
extensión, que permite a los procesadores de 32 bits acceder a un espacio de direcciones 
superior a 4 GB. Las arquitecturas x86-64 y ARMv9 son Arquitecturas de 64 bits que 
utilizan paginación jerárquica. 
 
 
 
 
Cap10: Memoria Virtual 
 
Resumen 
• La memoria virtual abstrae la memoria física en una Matriz de almacenamiento 
uniforme extremadamente grande. 
3 
 
• Los beneficios de la memoria virtual incluyen lo siguiente: (1) un programa puede 
ser más grande que la memoria física, (2) un programa no necesita estar completamente 
en memoria, (3) procesos pueden compartir memoria, y (4) procesos pueden ser creados 
más eficientemente. 
• La paginación por demanda es una técnica mediante la cual las páginas se cargan 
solo cuando se demandan durante la ejecución del programa. Páginas que nunca se 
demandan por lo tanto, nunca se cargan en la memoria. 
• Se produce un fallo de página cuando se intenta acceder a una página que no está 
actualmente en la memoria. La página debe traerse desde el disco a un marco de página 
disponible en la memoria. 
• Copy-on-write permite que un proceso hijo comparta el mismo espacio de direcciones 
que su padre. Si el proceso hijo o padre escribe (modifica) una página, se realiza una 
copia de la página. 
• Cuando la memoria disponible se agota, un algoritmo de reemplazo de página 
selecciona una página existente en la memoria para reemplazarla con una nueva página. 
Los algoritmos de Reemplazo de página incluyen FIFO, óptimo y LRU. Los 
algoritmos LRU puros no son prácticos de implementar y la mayoría de los sistemas 
utilizan Algoritmos de aproximación LRU. 
• Los algoritmos de reemplazo de página global seleccionan una página de cualquier 
proceso en el sistema para reemplazo, mientras que los algoritmos de reemplazo de 
página local seleccionan una página del proceso que falla. 
• El trashing (hiperpaginación) (o “paliza”) se produce cuando un sistema dedica más 
tiempo a paginar que a ejecutar. 
• Una localidad representa un conjunto de páginas que se utilizan juntas de forma 
activa. Cuando un proceso se ejecuta, se mueve de localidad en localidad. Un conjunto 
de trabajo se basa en la localidad y se define como el conjunto de páginas actualmente 
en uso por un proceso 
• La compresión de memoria es una técnica de administración de memoria que 
comprime varias páginas en una sola página. La memoria comprimida es una alternativa 
a la paginación y se utiliza en sistemas móviles que no admiten paginación. 
• La memoria del kernel se asigna de manera diferente a los procesos en modo usuario; 
está asignado en trozos contiguos de diferentes tamaños. Dos técnicas comunes para la 
asignación de memoria del kernel son (1) el sistema de amigos y (2) la asignación de 
bloques. 
• El alcance de TLB se refiere a la cantidad de memoria accesible desde el TLB y es 
igual al número de entradas en el TLB multiplicado por el tamaño de la página. Una 
técnica para aumentar el alcance de TLB es aumentar el tamaño de las páginas. 
• Linux, Windows y Solaris administran la memoria virtual de manera similar, 
utilizando paginación bajo demanda y copia en escritura, entre otras características. 
4 
 
Cada sistema también utiliza una variación de la aproximación LRU conocida como 
algoritmo de reloj. 
 
Cap 11: Estructura de Almacenamiento Masivo 
Resumen: 
• Las unidades de disco duro y los dispositivos de memoria no volátiles son las principales 
unidades de E/S de almacenamiento en la mayoría de las computadoras. El 
almacenamiento secundario moderno está estructurado como grandes matrices 
unidimensionales de bloques lógicos. 
• Las unidades de cualquier tipo se pueden conectar a un sistema informático en una de las 
tresformas: (1) a través de los puertos de E/S locales en la computadora host, (2) 
directamente conectado a placas base, o (3) a través de una red de comunicaciones o 
conexión a la red de almacenamiento. 
• Las solicitudes de E/S de almacenamiento secundario son generadas por el sistema de 
archivos y por el sistema de memoria virtual. Cada solicitud especifica la dirección en el 
dispositivo al que se hará referencia en forma de un número de bloque lógico. 
• Los algoritmos de planificación de discos pueden mejorar el ancho de banda efectivo de 
los discos duros, el tiempo medio de respuesta y la variación en el tiempo de respuesta. 
Algoritmos como SCAN y C-SCAN están diseñados para realizar tales mejoras a través de 
estrategias para ordenar la cola de disco. Rendimiento de la planificación de discos los 
algoritmos pueden variar mucho en los discos duros. En contraste, porque los discos de 
estado sólido no tienen partes móviles, el rendimiento varía poco entre algoritmos de 
planificación y, con bastante frecuencia, se utiliza una estrategia FCFS simple. 
• El almacenamiento y la transmisión de datos son complejos y con frecuencia dan lugar 
a errores. La detección de errores intenta detectar tales problemas para alertar al sistema 
de acción correctiva y evitar la propagación de errores. La corrección de errores puede 
detectar y reparar problemas, según la cantidad de datos de corrección disponible y la 
cantidad de datos dañados. 
• Los dispositivos de almacenamiento se dividen en una o más partes de espacio. Cada 
partición puede contener un volumen o formar parte de un volumen de varios dispositivos. 
Los sistemas de archivos se crean en volúmenes. 
• El sistema operativo administra los bloques del dispositivo de almacenamiento. Nuevos 
dispositivos normalmente vienen preformateados. El dispositivo está particionado, los 
sistemas de archivos son creados, y los bloques de arranque se asignan para almacenar el 
programa de arranque del sistema, si el dispositivo contiene un sistema operativo. 
Finalmente, cuando un bloqueo la página está dañada, el sistema debe tener una forma de 
trabar ese bloque o para reemplazarlo lógicamente con un repuesto. 
5 
 
• Un espacio de intercambio eficiente es clave para un buen rendimiento en algunos 
sistemas. Algunos sistemas dedican una partición sin procesar para intercambiar espacio y 
otros usan un archivo en su lugar, dentro del sistema de archivos. Aún otros sistemas 
permiten al usuario o administrador del sistema tomar la decisión proporcionando ambas 
opciones. 
• Debido a la cantidad de almacenamiento requerida en sistemas grandes y porque los 
dispositivos de almacenamiento fallan de varias formas, los dispositivos de 
almacenamiento secundarios son frecuentemente redundante mediante algoritmos RAID. 
Estos algoritmos permiten más de una unidad para ser utilizada para una operación 
determinada y permitir la continuación funcionamiento e incluso recuperación automática 
ante un fallo de la unidad. Los algoritmos RAID están organizados en diferentes niveles; 
cada nivel proporciona alguna combinación de fiabilidad y altas tasas de transferencia. 
• El almacenamiento de objetos se utiliza para problemas de grandes datos, como la 
indexación de Internet y almacenamiento de fotos en la nube. Los objetos son colecciones 
de datos autodefinidos, direccionado por ID de objeto en lugar de nombre de archivo. 
Normalmente utiliza replicación para la protección de datos, calcula basándose en los datos 
de los sistemas donde una copia de los datos existe, y es escalable horizontalmente para una 
gran capacidad y fácil expansión. 
 
Cap 12: Sistemas de E/S 
Resumen: 
• Los elementos básicos de hardware involucrados en las E/S son buses, placas 
controladoras de dispositivos, y los propios dispositivos. 
• Se realiza el trabajo de mover datos entre dispositivos y la memoria principal por la 
CPU como E/S programadas o se descarga a una controladora DMA. 
• El módulo del kernel que controla un dispositivo es un driver de dispositivo. La interfaz 
de llamada al sistema que se proporciona a las aplicaciones está diseñada para manejar 
varias categorías de hardware, incluidos dispositivos de bloque, dispositivos de flujo de 
caracteres, archivos mapeados en memoria, sockets de red y temporizadores de intervalos 
programados. Las llamadas al sistema suelen bloquear los procesos que las emiten, pero 
también hay llamadas no bloqueantes y asincrónicas son utilizadas por el propio kernel y 
por las aplicaciones que no deben dormir mientras espera que se complete una operación de 
E/S. 
• El subsistema de E/S del kernel proporciona numerosos servicios. Entre estos se 
encuentran Planificación de E/S, almacenamiento en búfer, almacenamiento en caché, 
almacenamiento en cola (spooling), reserva de dispositivos, manejo de errores. Otro 
servicio, la traducción de nombres, establece las conexiones entre dispositivos de hardware 
y los nombres de archivos simbólicos utilizados por las aplicaciones. Eso implica varios 
niveles de mapeo que se traducen de una cadena de caracteres nombres, a drivers de 
dispositivos específicos y direcciones de dispositivos, y luego a direcciones de puertos de 
6 
 
E/S o controladoras de bus. Este mapeo puede ocurrir dentro del espacio de nombres del 
sistema de archivos, como lo hace en UNIX, o en un dispositivo separado del espacio de 
nombres, como lo hace en MS-DOS. 
• STREAMS es una implementación y metodología que proporciona un marco para un 
enfoque modular e incremental para escribir drivers de dispositivos y protocolos de red. A 
través de los STREAMS, los drivers se pueden apilar, con datos que pasan a través de ellos 
secuencial y bidireccionalmente para su procesamiento. 
• Las llamadas al sistema de E/S son costosas en términos de consumo de CPU debido a 
las muchas capas de software entre un dispositivo físico y una aplicación. Estas capas 
implican una sobrecarga de varias fuentes: cambio de contexto apara cruzar al kernel, 
señalar e interrumpir el manejo para dar servicio a los dispositivos de E/S y la carga en la 
CPU y el sistema de memoria para copiar datos entre los búferes del kernel y el espacio de 
la aplicación.

Continuar navegando