12.212 cursos gratis
8.340.800 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Componentes de los PC's

Autor: Sergio Ernesto Gastón Pérez
Curso:
9,22/10 (9 opiniones) |73633 alumnos|Fecha publicación: 05/05/2005
Envía un mensaje al autor

Capítulo 27:

 Administración de memoria

Asignación simple

M

E

M

O

R

I

A

Sistema Operativo

 

La parte residente del sistema operativo estará en memoria durante la ejecución de los distintos programas. El área LIBRE será la destina a cada programa. Como cada programa ocupa una cantidad de memoria distinta, pueden encontrarse programas muy pequeños que desperdicien gran parte de la memoria real del computador y otro programas muy grandes que no entren en ella.

Libre

 

 

Swapping

Es un método que consiste en que algunos o todos los programas que no se estén ejecutando (detenidos o en espera de entrada/salida) sean desplazados de memoria hacia un dispositivo periférico y luego vueltos a traer cuando vayan a continuar su ejecución.

Particiones reales

Dentro de la modalidad de multiprogramación es la situación que se presenta cuando la memoria alcanza para que todos los programas que se están ejecutando intercaladamente residan en ella hasta su terminación.

El esquema de particiones reales se basa en la división de la memoria en particiones, cada una destinada a alojar un programa distinto. Hay dos grandes variantes:

Particiones reales fijas: La memoria se estructura en número fijo de particiones, cada una con un tamaño dado. La cantidad de memoria de cada partición puede ser reasignada, pero ello requiere que no se esté ejecutando ningún programa en ninguna partición. Para definir el tamaño de las distintas particiones se debe considerar, entre otras cosas, el tamaño de los programas que se ejecutan. El desaprovechamiento más frecuente es el desperdicio de cada partición, ya que difícilmente los programas ocupen el tamaño justo de la partición.

Particiones reales variables: Esta variante permite que la memoria asignada a un programa no sea contigua y, de esa forma, aprovechar los huecos que se generen a lo largo de la ejecución de otros programas. A su vez esta forma de partición admite 2 posibilidades:

cantidad fija de particiones: La cantidad de programas que integran la mezcla de multiprogramación tiene como máximo el número de particiones existentes. cantidad variable de particiones: La cantidad de programas alojados en memoria en ejecución depende de la capacidad total de memoria y de la cantidad de la misma requerida por cada programa.

Particiones virtuales

Eliminar las restricciones de memoria es un paso importante para lograr implementar sistemas de aplicación a un costo menor, en menor tiempo y en un rango de memorias reales mayor. En consecuencia se debe lograr un mayor espacio de memoria pero sin ampliar la memoria real.

La memoria virtual es un espacio de direcciones cuyo tamaño máximo está determinado por el esquema de direccionamiento del computador (es decir, por la cantidad máxima de bytes posibles de direccionar que depende de la cantidad de bits o dígitos binarios utilizados para expresar una dirección.

El almacenamiento que puede ser directamente accedido por el computador (memoria principal) se denomina memoria real. El espacio de la memoria real es un conjunto de ubicaciones físicas de memoria en el cual las instrucciones y datos de programa deberán ser ubicados para su procesamiento. Los programas se refieren a los datos e instrucciones por la dirección de memoria virtual sin conocer la ubicación física de memoria real.

Cuando no existe memoria virtual no hay diferenciación entre el espacio de direcciones y la memoria real; el espacio de direcciones que puede ser usado en los programas tiene idéntico tamaño al espacio de memoria real posible. Si se utiliza memoria virtual, el espacio de direcciones disponibles para los programas es aquél determinado por el tamaño de la memoria virtual implementada y no el espacio de direcciones provisto por la memoria real disponible (el espacio de la memoria virtual será mayor que el de la memoria real).

La memoria virtual se llama así porque representa una imagen de memoria en lugar de una memoria física del procesador. Dado que la memoria virtual no existe como una entidad física de memoria principal, las instrucciones y datos de un programa referenciados por direcciones virtuales deben ser contenidos en alguna ubicación física de memoria para ser ejecutados.

Los contenidos de la memoria virtual están divididos en porciones o secciones (páginas) de tamaño fijo. El programa está completo en la memoria virtual pero en la memoria real sólo están algunas páginas del mismo que van cambiando automáticamente durante la ejecución.

A su vez, la memoria real también está dividida en secciones (bloques) de igual tamaño que las páginas. Cuando se debe ejecutar un programa, éste es traído a la memoria virtual y las instrucciones y datos del mismo son transferidos entre la memoria virtual y la real de a una sección por vez durante la ejecución del programa. Una sección será llevada a la memoria real sólo cuando es requerida. Por otro lado, una sección que está en la memoria real sólo será reescrita en la memoria virtual cuando la memoria real asignada a esa sección es requerida por otra sección del mismo o de otro programa, siempre que no se esté ejecutando y, además, si ha sido modificada.

En general, se controla la actividad de las secciones de todos los programas en ejecución a fin de mantener, en lo posible, en memoria real a las secciones más activas o usadas, dejando las menos activas en la memoria virtual.

El aprovechamiento de la memoria real que supone esta forma de utilización es muy superior a cualquier otra forma de asignación de memoria.

El hardware de traducción de direcciones o la función interna de mapping son los mecanismos por los cuales se pueden traducir las direcciones de memoria virtual en direcciones de memoria real durante la ejecución de las instrucciones.

La memoria virtual presenta:

Ventajas:

con respecto a la performance del sistema: Se cuenta con una memoria virtualmente más extensa con la misma memoria real. Se utiliza mucho más eficientemente la memoria real.

Este esquema permite que la parte de los programas que no se utiliza no ocupe lugar en la memoria y en cambio quede disponible para agregar más programas en la mezcla de multiprogramación.

con respecto al desarrollo de aplicaciones: Al eliminar las restricciones de memoria permite diseñar los sistemas más fácilmente, en menor tiempo y a menos costo. Hace más sencillo el mantenimiento y la ampliación de los programas. Hace más justificable el diseño e implementación de algunas aplicaciones, cuyos requerimientos de memora varíen bastante en su ejecución de acuerdo al volumen y complejidad de las transacciones. con respecto a la operación del computador: Permite que un equipo de una memoria real menor pueda ser usado sin dificultad como back-up en caso de necesidad. Hace innecesario efectuar ciertos procedimientos cuyo único propósito es un mejor aprovechamiento de la memoria real. Simplifica las actividades de planificación.

Desventajas:

Costo asociado a la transformación de direcciones;

memoria adicional que requiere para almacenar las tablas que debe mantener el sistema operativo (memoria real de la parte residente del sistema operativo)para indicar: l a cantidad de memoria real implementada, las secciones que están presente en la memoria real y sus direcciones de ubicación, y elementos de juicio para determinar qué secciones se tratarán de dejar en memoria real y cuáles no, o que sección será desplazada cuando otra sección de memoria virtual deba ser llevada a memoria real; pequeño desperdicio de memoria que se produce en la última página de un programa (ya que rara vez el tamaño del programa es múltiplo del tamaño de las páginas); merma en el rendimiento del computador si es incorrectamente utilizada; posible incremento del tiempo de ejecución de cada programa como consecuencia de la paginación (operaciones de entrada/salida que demorarán la ejecución del programa).

La memoria virtual puede ser una herramienta poderosa para incrementar la performance del computador. Pero ello depende de ciertos factores, tales como:

Velocidad de los dispositivos que contendrán la memoria virtual: La actividad de paginación afecta adversamente a la performance del equipo cuando el procesador real está frecuentemente esperando que termine una operación de entrada/salida de paginación; por tanto se debe procurar que los requerimientos de operaciones de paginación estén por debajo de lo necesario para aprovechar convenientemente la multiprogramación. En caso contrario se incrementarán los tiempos ociosos del órgano de comando. Velocidad del procesador: Una relación desbalanceada entre la velocidad del procesador y la del dispositivo de paginación puede alterar el rendimiento. Tamaño de la memoria real y virtual: La cantidad de memoria real de la CPU (en relación con el tamaño de la memoria virtual) afectará el número de páginas faltantes que deberán ser traídas del dispositivo de paginación. Si el tamaño de la memoria real es igual al de la virtual que están usando los programas en ejecución no habrá páginas faltantes ya que todas estarán en memoria real. En cambio cuando la memoria real sea menor, la cantidad de páginas faltantes estará dada por la razón de la memoria virtual usada por la memoria real disponible. Estructura de los programas: La cantidad de memoria virtual que usa un programa no es un factor tan significativo en la performance del equipo como la forma en que la usa. Algunas formas para incrementar el rendimiento del equipo son:

Usar áreas de entrada/salida más largas: Reduce el tiempo en que las páginas del programa estarán en memoria real. Sin embargo un aumento muy significativo podría afectar negativamente el rendimiento en equipos con poca memoria real.

Aumentar la capacidad de manejo de páginas faltantes cuando la actividad de paginación causa frecuentes desactivaciones de programas: Esto puede ser realizado:

usando un dispositivo de mayor velocidad; estableciendo más dispositivos de paginación; reduciendo o eliminado archivos del dispositivo de paginación; reduciendo la actividad del canal que corresponde al dispositivo de paginación; o aumentando un poco la memoria real.

Estructurar los nuevos programas de aplicación para que operen eficientemente con memoria virtual: Dos formas de mejorar la eficiencia son:

adoptar la programación modular: es decir agrupar las instrucciones de uso frecuente y separa las de iniciación y terminación, que generalmente se ejecutan sólo una vez por ejecución de programa. Agrupar los datos separadamente de las instrucciones: Con el objeto de construir un programa que tenga pocas páginas activas; además, al separar las páginas de datos de las de instrucciones, se evitará la escritura de las páginas de instrucciones cuando sean desplazadas de la memoria real, dado que es raro que se modifiquen las instrucciones, y teniendo en cuenta que las páginas que no se modifican cuando están en memoria real no se reescriben al ser desplazadas. Incrementar el nivel de multiprogramación: Cuanto más tareas se estén ejecutando, menor será la probabilidad que el procesador quede en estado de espera de una operación de entrada/salida; sin embargo, cuanto mayor sea la razón de memoria virtual a real, la performance tiende a decaer. Por tanto debe tratar de encontrarse el punto intermedio que maximice el rendimiento. A mayor porcentaje de utilización del procesador, menor será la posibilidad de incrementar el rendimiento a través de la multiprogramación.

Capítulo siguiente - Otras administraciones
Capítulo anterior - Ejecución de programas

Nuestras novedades en tu e-mail

Escribe tu e-mail:

Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Cursos similares a Componentes de los PC's


  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. Ordenador. Componentes internos (primera parte)
Curso de informática sobre componentes del ordenador, la memoria RAM y la placa... [11/11/08]
9.309  
2. Ordenador. Componentes internos (segunda parte)
Curso de informática sobre los componentes del ordenador. Arende a cerca del... [11/11/08]
5.279  
3. Ordenador. Componentes internos (tercera parte)
Curso de informática sobre los componentes del ordenador, la tarjeta de red y la... [11/11/08]
3.307  

Capítulos del curso


¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail


¿Te interesa? ¡Te enviamos gratis las novedades de Mantenimiento!