You are on page 1of 14

Índice

Introducción .................................................................................................................................................. 2 Objetivo General ........................................................................................................................................... 3 Objetivos Específicos ..................................................................................................................................... 3 Justificación ................................................................................................................................................... 4 Marco Teórico ............................................................................................................................................... 5 Desarrollo ...................................................................................................................................................... 6 Asignación de memoria no continua .................................................................................... 6 Segmentación de memoria simple ....................................................................................... 7 Control de acceso en sistemas de segmentación ................................................................. 7 Traducción de Direcciones de Segmentación por Transformación Directa ......................... 8 Compartición ........................................................................................................................ 9 Protección ............................................................................................................................. 9 Conclusiones. ............................................................................................................................................... 10 Glosario........................................................................................................................................................ 11 Bibliografía ................................................................................................................................................... 12 Anexos ......................................................................................................................................................... 13

1

en consecuencia. Es a través de este tema que en nuestro trabajo se puntualizan temas derivados de la asignación de memoria no continua como lo son: Segmentación de memoria simple Control de acceso en sistemas de segmentación Traducción de direcciones de segmentación por transformación directa Compartición y protección. Esta estrecha colaboración ha hecho que tanto el hardware como el software de gestión de memoria hayan ido evolucionando juntos. Las necesidades del sistema operativo han obligado a los diseñadores del hardware a incluir nuevos mecanismos que. han posibilitado el uso de nuevos esquemas de gestión de memoria. 2 . El gestor de memoria del sistema operativo debe hacer de puente entre los requisitos de las aplicaciones y los mecanismos que proporciona el hardware de gestión de memoria. es un componente básico del mismo. Se trata de una de las partes del sistema operativo que está más ligada al hardware. la parte del sistema operativo responsable de tratar con este recurso. el gestor de memoria. esperando aclarar las dudas que surgen a partir de la importancia y el funcionamiento que desempeña este dispositivo tan importante dentro del hardware de una computadora y como este es también vital para que el software pueda interactuar correcta y lógicamente en conjunto. a su vez.Introducción La memoria es uno de los recursos más importantes de la computadora y. Con los cuales se explica de manera clara en que consiste cada uno.

Objetivos Específicos  Explicar las ventajas que presentan los procesos relacionados con la asignación de memoria no continua.  Resumir la utilidad de la segmentación de la memoria en los sistemas operativos.  Establecer la importancia que tiene el hardware para que la memoria pueda gestionar los procesos necesarios según su asignación.Objetivo General  Definir cuál es el funcionamiento e importancia de los procesos relacionados con la asignación de memoria no continua. 3 .

4 .Justificación El siguiente trabajo se ha realizado. y por ende la cantidad de memoria utilizada y solicitada es proporcional a este número de peticiones o procesos. y como informáticos. debemos de saber qué hacer en una situación así. debemos conocer métodos de gestión de memoria. Por ejemplo. con el objetivo de conocer y comprender como el sistema operativo y el hardware gestiona la memoria. para que los servidores no colapsen. esto significa que el número de procesos es grande. porque de ser así no estaríamos cumpliendo con el más importante objetivo de un sistema de información “Mantener el acceso ininterrumpido a la información”. sabemos que los servidores lo que hacen es resolver miles de peticiones en un periodo de tiempo corto. si laboramos como Administrador de Servidores. Es necesario comprender sobre este tema ya que en la vida laboral en alguna ocasión se nos podría presentar un problema.

el recolector de elementos no utilizados continúa asignando espacio a los objetos nuevos de este modo. En la asignación de memoria no continua un programa se divide en varios bloques o segmentos que pueden almacenarse en direcciones que no necesariamente son adyacentes por lo que es más compleja pero más eficiente que la asignación continua. Cuando la aplicación crea el siguiente objeto. 5 . Este espacio de direcciones reservado se denomina montón administrado. se le asigna memoria en la dirección base del montón administrado. este puntero se establece en la dirección base del montón administrado. Inicialmente. Normalmente cuando se inicializa un nuevo proceso. Cuando una aplicación crea el primer tipo de referencia. liberar las secciones de memoria que ya no se utilizan para que estén disponibles para otros programas. y a la vez. el recolector de elementos no utilizados le asigna memoria en el espacio de direcciones que sigue inmediatamente al primer objeto. El montón administrado mantiene un puntero a la dirección a la que se asignará el siguiente objeto del montón. Hay diferentes técnicas para lograr el óptimo rendimiento de la memoria entre ellos está la asignación de memoria no continua. De forma simplificada se trata de proveer mecanismos para asignar secciones de memoria a los programas que las solicitan. Todos los tipos de referencia se asignan en el montón administrado. Siempre que haya espacio de direcciones disponible. el motor en tiempo de ejecución reserva una región contigua de espacio de direcciones para el proceso.Marco Teórico Asignación de Memoria no continúa Se denomina gestión de memoria al acto de gestionar la memoria de un dispositivo informático.

◦ se emplea para mantener la ilusión de continuidad del espacio de direcciones virtuales a pesar de su ubicación discontinua en memoria física. 6 .  Paginación ◦ Es un esquema que permite que el espacio de direcciones lógicas de una proceso no sea continuo.Desarrollo Asignación de memoria no continua La asignación no continua de significa que la memoria se agina de tal modo que partes de un solo objeto lógico pueden ser colocadas en áreas no continuas de memoria física. Permite la ejecución de procesos cuando solo algunas partes de sus espacios de direcciones están residentes en memoria principal.

En base a los “tipos de control de acceso” indicados pueden crearse distintos “modos de control de acceso”. Mediante alguno de estos dos sistemas el sistema operativo intercepta aquellas direcciones inválidas generándose entonces una interrupción por error de direccionamiento. Un proceso con “acceso de adición” puede escribir información adicional al final del segmento. Si un proceso tiene “acceso de escritura” a un segmento. incluso destruir toda la información del segmento. Si un proceso tiene “acceso de lectura” a un segmento. Su desventaja es que requiere la recopilación de los programas al modificarse el valor de tal registro. puede obtener cualquier elemento de información contenido en ese segmento. pero no puede modificar la información existente. Existen dos alternativas: La utilización de un límite dado por un registro fijo por hardware o registro de protección cargado por el sistema operativo que sirve como punto de comienzo de carga del programa. puede modificar cualquier contenido del segmento y puede introducirle información adicional. * (Anexos) 7 . Ejemplos de combinación de los accesos de lectura.Segmentación de memoria simple En este sistema de administración la memoria aparece al programa como una única extensión contigua de direcciones. Otra opción consiste en un registro Límite o registro Base (o de Reubicación). Control de acceso en sistemas de segmentación Se le otorga a cada proceso ciertos derechos de acceso a todos los segmentos y se les niega completamente el acceso a muchos otros. compartida solo por él y por el sistema operativo. Se hace necesario lograr en este tipo de administración algún mecanismo de protección para el sistema operativo que es residente. escritura y ejecución para producir modos de protección útiles se dan en la Tabla 1 y en la Tabla 2. Un proceso con “acceso de ejecución” de un segmento puede ejecutarlo como si fuera un programa.

Si el segmento se encuentra en el almacenamiento primario “s ’ ” es la dirección en este almacenamiento donde comienza el segmento. Un “bit de residencia”. Si el segmento buscado no está en el almacenamiento primario se genera un “fallo de pérdida de segmento”: El S. indica si en la actualidad el segmento se encuentra o no en el almacenamiento primario. o Si el desplazamiento está en el rango del segmento se comprueban los bits de protección para asegurarse si se permite la operación que se está intentando: 8 . que contiene la dirección del almacenamiento primario “s ’ ”. “r”. Se comprueba si el desplazamiento “d” es menor o igual a la longitud del segmento “l ”: o Si no es así se genera un “fallo de desbordamiento de segmento” y el S. correspondiente a la dirección virtual “v = (s. Un proceso en ejecución hace referencia a la dirección virtual v = (s. asociativa o combinación de asociativa / directa. donde comienza el segmento.d):  El segmento número “s” se añade a la dirección base “b” en el registro origen de la tabla de mapa de segmentos formando la dirección de memoria real “b + s”. Se compara cada referencia a un segmento con los bits de protección para determinar si se permite la operación que se está intentando. obtiene el control y carga el segmento referido desde la dirección “a” del almacenamiento secundario. Con caché suficiente para alojar la tabla completa de mapa de segmentos o caché parciales que contengan solo las entradas de los segmentos de referencia más reciente.Traducción de Direcciones de Segmentación por Transformación Directa Existen varias estrategias para la implementación de la traducción de direcciones de segmentación:   Por transformación directa. de la entrada para el segmento “s” de la tabla de mapa de segmentos.  El desplazamiento “d” se añade a “s ’ ” formando la dirección real “r = d + s ’ ”. Si el segmento no se encuentra en el almacenamiento primario “a” es la dirección en el almacenamiento secundario de donde debe recuperarse antes que el proceso pueda continuar. *(mapa 1-Anexos) Se considerará la traducción de direcciones de segmentación con la tabla completa de mapa de segmentos en la caché. obtiene el control y termina la ejecución del proceso. O. O.d)”.

Compartición Debe haber flexibilidad para permitir que varios procesos accedan a una misma zona de memoria: Dos procesos ejecutando el mismo programa comparten código varios procesos pueden utilizar una misma estructura de datos Se trata de permitir que direcciones lógicas de dos o más procesos. Si es así entonces la dirección base del segmento.O. en el almacenamiento primario se añade al desplazamiento “d” formando la dirección de memoria real “r = s ’ + d”. protección y compartición. El mecanismo de protección suele estar integrado en la función de traducción 9 . posiblemente distintas entre sí. que corresponde a la dirección del almacenamiento virtual “v = (s.  Si la operación intentada no se permite se genera un “fallo de protección de segmento” y el S. Es necesario un mecanismo para proteger al S. O. obtiene el control y termina la ejecución del proceso.O. La protección de memoria se tiene que satisfacer a nivel hardware y no software. “s ’ ”. se correspondan con la misma dirección física La compartición de memoria no debe comprometer la protección básica Los mecanismos de paginación y segmentación resuelven adecuada y simultáneamente los problemas de reubicación.d)”. y a los procesos entre sí ⇒ espacios lógicos disjuntos La reubicación puede complicar la protección Todas las referencias a memoria de un proceso deben comprobarse durante su ejecución. Protección Un proceso no puede acceder a las zonas de memoria asignadas a otros procesos ni a las del S.

10 .  La segmentación es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica.Conclusiones. llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos.  La asignación de memoria consiste en determinar cual espacio vacío en la memoria principal es el más indicado para ser asignado a un proceso.  La memoria es un dispositivo que asigna los recursos virtuales que le permiten a un dispositivo físico ejecutar programas y a la ves asignarles secciones específicas para que estos puedan ejecutarse sin problemas.

son una división lógica de un programa. o Registros: Es una memoria de alta velocidad y poca capacidad. que permite resolver tareas específicas. para los cuales se tiene un nombre y una longitud. Simplifica la carga del programa para su ubicación. o Memoria segmentada: Sucesión de ubicaciones consecutivas. integrada en el microprocesador. Pila: Es una estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (Last In First Out. o Cabecera informática: Se refiere a la información suplementaria situada al principio de un bloque de información que va ser almacenada o transmitida necesaria para el correcto tratamiento del bloque de información. La memoria virtual es la separación de la memoria lógica del usuario de la memoria física.Glosario o Memoria Real: Es donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria. función o rutina. ultimo en entrar. o Segmentación: Es un esquema de administración de memoria que apoya la perspectiva que el usuario tiene de la memoria. o o Direcciones Virtuales: Son las direcciones a las que hace referencia un proceso en ejecución Espacio de direccione virtuales: Es el número de direcciones virtuales disponibles a que puede hacer referencia el proceso en ejecución o o Multiprogramación: Ejecución de múltiples tareas compartiendo los recursos de una misma computadora. primero en salir) que permite almacenar y recuperar datos. o Interbloqueo: es un bloqueo permanente de un conjunto de procesos o hilos de ejecución en un sistema concurrente que compiten por recursos del sistema. o Unidad de Manejo de Memoria (MMU): Es un dispositivo de Hardware responsable del manejo de los accesos a la memoria por parte de la Unidad de Procesamiento Central (CPU). o Memoria virtual: Es un componente esencial de la mayoría de los Sistemas Operativos actuales. Un espacio de direcciones lógicas se compone de un conjunto de segmento. o Paginación: Permite que la memoria de un proceso no sea contigua. Esto es generado durante el reemplazo de procesos quedan huecos entre dos o más procesos de manera no continua. que se presenta como subalgoritmo que forma parte del algoritmo principal. y son de dos tipos fragmentación externa e interna. 11 . convierte direcciones relativas a absolutas una vez conocida la partición en la que se ha cargado. o Fragmentación: Es la memoria que queda desperdiciada al usar los métodos de gestión. o Reubicación: Se usan direcciones relativas. en el registro de memoria usados para guardar exclusivamente direcciones de memoria. o Subrutina: Llamada como procedimiento. y que aun proceso se le asigne memoria física de donde esté disponible.

Silberschatz. Edición (1994) A. 2da Edición (1993). Prentice HallEspaña Sistemas Operativos. J. conceptos fundamentales. 2da Edición (1997) William Stallings. P. Peterson. H.Bibliografía   Sistemas Operativos. Galvin. M. Addison-Wesley Publishing Company USA  12 . Addison-Wesley Publishing Company USA Sistemas Operativos. 3ra. Deitel.

Anexos Mapa 1: Asignación de memoria no continua Tabla 1: Ejemplo de Combinación de accesos Tabla 2: Ejemplo de aplicaciones de la combinación e accesos 13 .

Mapa 2: Entrada de tabla de mapa de segmentos (Traducción de Direcciones de Segmentación por Transformación Directa) 14 .