Resumen-T5-SO.pdf (Sistemas Operativos)

Document Details

JubilantSydneyOperaHouse

Uploaded by JubilantSydneyOperaHouse

Universidad Autónoma de Barcelona

Carles

Tags

Sistemas Operativos Gestión de Memoria Ingeniería Informática Resumen

Summary

Este documento es un resumen de Sistemas Operativos, específico para el segundo grado de Ingeniería Informática en la Universidad Autónoma de Barcelona, cubriendo la gestión de la memoria. Se centra en los objetivos, las regiones de la memoria y el gestor de memoria, explicando la jerarquía, la migración de datos y diferentes tipos de máquinas.

Full Transcript

Resumen-T5-SO.pdf _Carles_ Sistemes Operatius 2º Grado en Ingeniería Informática Escuela de Ingeniería Universidad Autónoma de Barcelona Reservados todos los derechos. No se permite la explotación económica ni la...

Resumen-T5-SO.pdf _Carles_ Sistemes Operatius 2º Grado en Ingeniería Informática Escuela de Ingeniería Universidad Autónoma de Barcelona Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-11459698 T5: Gestión de memoria Objetivos de la gestión de memoria: -Ofrecer a cada proceso su espacio lógico propio -Proporcionar protección entre procesos -Permitir que los procesos compartan memoria -Dar soporte a las regiones del proceso -Maximizar el grado de multiprogramación -Proporcionar a los procesos mapas de memoria grandes Imagen de memoria: -Región de texto: contiene el codigo maquina del programa, sus constantes y cadenas definidas -Región de datos: -Datos con valor inicial: contiene variables globales inicalizadas -Datos sin valor inicial: contiene variables globales NO inicalizadas -Datos creados dinamicamente/heap: aqui se crean las variables dinámicas -Región de pila: tiene el entorno del proceso y los registros de activación de los procesos Gestor de memoria: Es el encargado de cubrir las necesidades de memoria de los procesos -Jerarquía de memoria: La gestión de la jerarquía corre a cargo del S.O. con ayuda del hardware La migración de datos entre tipos de memoria puede ser de 2 tipos: -Bajo demanda explícita: el programa solicita el movimiento de la información (memoria princ. y discos) -Automática: hace el traspaso sin que seas consciente (cache y memoria virt.) Hay 2 tipos de maquinas que corren en memoria: -De memoria real: es una maquina convencional que solo utiliza las memoria principal para el mapa de memoria -De memoria virtual: utiliza la memoria principal y una parte del disco llamada zona de intercambio, por eso requiere de una gestión automática de jerarquia, esto lo hace con ayuda del hardware MMU(Memory Managment Unit) Existe la llamada tabla de páginas que contiene la ubicación de cada página virtual Cuando la dirección corresponde a una página que no está en la mem. princ. se genera un fallo de página y el sistema trae la página del disco -Reubicación de memoria: El problema de la reubicación se debe a que el programa tiene una direcciones propias y el sistema se debe de encargar de asignar al proceso las que mejor convengan, normalmente las libres Reubicación: modifica las direcciones absolutas de un programa para que se adapten a lo que ocupa realmente el programa Reubicación dinámica: utiliza los registros base y límite, a cada direccion le suma el registro base y comprueba que no se pase del registro límite, en ese caso salta una excepción -Asignación de memoria: La asignación de memoria es un problema, del cual se encarga el S.O., este asigna memoria a los procesos y luego la recupera -Particiones fijas y fragmentación interna: Es un sistema que divide a priori el espacio disponible y va asignando trozos completos a los procesos, esto puede generar que haya procesos que necesiten poca memoria y tengan mucha asignada -Particiones variables y fragmentación externa: Es el sistema más utilizado, ya que divide un hueco en el espacio que neceista el proceso y el sobrante lo guarda para otro proceso, al finalizar junta el maximo numero de huecos consecutivos para genarar solo 1 hueco Algoritmos de asignación de espacio: -El mejor ajuste(best fit): se elige el hueco más pequeño que compla con la petición, esto implica que queden huecos muy pequeños inutilizables(frag. externa) y que se necesite comprobar todos los huecos disponibles -El peor ajuste(worst fit): se elige el hueco más grande para no generar huecos pequeños, hay que seguir buscando en todos los huecos -El primero que ajuste(first fit): busca el primer hueco con espacio libre suficiento y lo asigna (suele ser la mejor política) -El proximo que ajuste(next fit): es como el first pero cada vez empieza por los que no ha visitado antes Gestión de la información de estado: Para poder gestionar el espacio de almacenamiento es necesario mantener la información que identifica a los bloques y huecos exitentes -Sistema Buddy: Este sistema va dividiendo en mitades hasta encontrar un espacio que sea el que necesita el proceso, en caso de no haver un hueco exacto se le da el que tenga menos difirencia(siempre más grande) -Dirección lógica/virtual y física: -Direcciones lógicas: son las direcciones de memoria que se usan en el programa (0, 1...100) -Direcciones físicas: son las direcciones de memoria asignadas al proceso (10000, 10001...10100) -MMU(Memory Managment Unit): se encarga de traducir las direcciones lógicas a físicas En la memoria real tenemos: -Asignación continua -Segmentación Mientras que en la virtual: -Paginación -Paginación: Este esquema permite que las direcciones fisicas de un proceso no sean consecutivas -Páginas virtuales: páginas del espacio virtual -Páginas de intercambio swap: paginas de la zona de intercambio / -Marcos de página frame: espacios en los que se divide la mem. princ. / Cada dirección lógica tiene 2 componentes: -Numero de página (p) -Desplazamiento de pagina (d/o set) -Memoria Virtual: Es una técnica para ejecutar procesos que NO están completamente en memoria, así que los programas pueden ser a m yor s e a la capacidad física de la memoria Consiste en separar la memoria lógica de la física, esto permite ofrecer una mem. virtual mucho más grande que la física -Paginación bajo demanda: consiste en cargar las paginas solo cuando se necesitan en un programa Para esto utilizamos un intercambiador perezoso, que solo intercambia una pag. en memoria SI es necesaria -Políticas de reemplazo: El objetivo es minimizar los fallos de página Page replacement: - -Local: reemplaza un marco asignado a un proceso que da fallo -Global: reemplaza cualquier marco de un proceso Frame allocation: - -Fija: el num. de frames/marcos de un proceso es fija -Dinámica: el num. de frames puede cambiar Algoritmos: -FIFO: cuando hay que reemplazar una pagina se cambia por la que lleve más tiempo en cola -Algoritmo óptimo: se reemplaza la pagina que no vaya a ser utilizada en más tiempo -LRU: se reemplaza la pagina que lleve más tiempo sin utilizarse Sobrepaginación/thrashing: Si todo el working set(conjunto de paginas que utiliza un proceso) está en memoria NO hay muchos fallos Si el working set no cabe en la memoria hay muchos fallos de pagina y el proceso está sobrepaginado(cae el uso de CPU) Soluciones al thrashing: -Controlar la carga del sistema -Disminuir el grado de multiprogramación -Suspender procesos para liberar sus paginas Estrategias de control de la carga: -Working set -Administración basada en la frecuencia de fallos -Control de carga para algoritmos de reemplazo globales Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.

Use Quizgecko on...
Browser
Browser