Vous êtes sur la page 1sur 7

MEMORIA REAL O FÍSICA:

 Capacidad, que representa el volumen global de información (en bits) que la


memoria puede almacenar.
 Tiempo de acceso, que corresponde al intervalo de tiempo entre la solicitud de
lectura/escritura y la disponibilidad de los datos.
 Tiempo de ciclo, que representa el intervalo de tiempo mínimo entre dos
accesos sucesivos.
 Rendimiento, que define el volumen de información intercambiado por unidad
de tiempo, expresado en bits por segundo.
 No volatilidad, que caracteriza la capacidad de una memoria para almacenar
datos cuando no recibe más electricidad.
 Existen dos tipos de memorias RAM: SRAM Y DRAM.

MEMORIA VIRTUAL:

 Es una combinación entre hardware especial y el sistema operativo hace uso


de la memoria principal y la secundaria para hacer parecer que el ordenador
tiene mucha más memoria principal (RAM) que la que realmente posee.
Aunque la memoria virtual podría estar implementada por el software del
sistema operativo, en la práctica casi siempre se usa una combinación de
hardware y software, dado el esfuerzo extra que implicaría para el procesador.
 Este método es invisible a los procesos.
 Debido a que sólo la parte de memoria virtual que está almacenada en la
memoria principal, es accesible a la CPU.
 La memoria virtual ha llegado a ser un componente esencial de la mayoría de
los S.O actuales. Y como en un instante dado, en la memoria sólo se tienen unos
pocos fragmentos de un proceso dado, se pueden mantener más procesos en la
memoria. Es más, se ahorra tiempo, porque los fragmentos que no se usan
no se cargan ni se descargan de la memoria. Sin embargo, el S.O debe saber
cómo gestionar este esquema.
 La memoria virtual también simplifica la carga del programa para su ejecución
llamado reubicación, este procedimiento permite que el mismo programa se
ejecute en cualquier posición de la memoria física.
VENTAJAS Y DESVENTAJAS DE LA MEMORIA VIRTUAL

Ventajas:
 Permite optimizar uso de memoria
 Mantiene más procesos en memoria principal
 Mantiene en disco partes del proceso poco usadas (rutinas de atención a
errores poco frecuentes, funciones de uso esporádico, datos no usados,
…) .
 Permite que un proceso sea más grande que toda la memoria principal
 Se encarga el Sistema Operativo: evita al usuario la preocupación por
programar con superposición.
 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.
 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
 Sobrecarga por gestión compleja de memoria
 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: la 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.
DIFERENCIAS ENTRE PROCESO, HILO Y MULTI-HILO

Proceso
Un ‘proceso’ es una entidad de ejecución independiente, donde, el sistema operativo, en el
momento en que el proceso se lanza, proporciona un espacio de direcciones de memoria en
los que el proceso puede ejecutarse. De esta manera, si el proceso intenta por algún motivo
intencionalmente o no acceder a alguna dirección de memoria de otro proceso, el programa
termina anormalmente con un ‘Segmentation fault’. En el momento en el que el proceso
termina, el sistema operativo libera toda la memoria y todos los recursos (‘handles de
archivos’, ‘handles de registros’, etc.) asignados al proceso. No hay forma directa de que un
proceso pueda comunicarse con otro, así que si eso es lo que se requiere, se tiene que usar
algún mecanismo de comunicación entre procesos (IPC).

Hilos
Los hilos son entidades de ejecución independiente que viven dentro de los procesos y, por
tanto, viven dentro del mismo espacio de direcciones de memoria que otros hilos, lo que
permite acceder a cualquier dato dentro del mismo proceso. También la comunicación entre
hilos es bastante sencilla pues basta con invocar a una función que se va a ejecutar en otro
hilo. Aunque si bien esto de la comunicación parece ser una ventaja, en realidad es un arma
de doble filo porque gracias a esas libertades, podemos caer, si no tenemos el suficiente
cuidado, en problemas como condiciones de carrera o deadlocks.

Multi-Hilos
Los múltiples hilos pueden interferir uno con el otro al compartir recursos de hardware como
cachés o Translation Lookaside Buffer (TLB).
Los tiempos de ejecución de un solo hilo no son mejorados, sino por el contrario, pueden ser
degradados.
El soporte de hardware para multihilo es más visible al software que el multiprocesamiento,
por lo tanto requiriendo más cambios tanto a las aplicaciones como el sistema operativo.
PARTICION

Con la partición dinámica, las particiones son variables en número y longitud. Cuando se carga un proceso
en la memoria principal, se le asigna exactamente tanto memoria, necesita y no más.

Este método empieza bien, pero, finalmente, desemboca en una situación en la que hay un gran número de
huecos pequeños en la memoria. Conforme pasa tiempo, la memoria comienza a estar más fragmentada y
su rendimiento decae.

Este fenómeno se denomina fragmentación externa y se refiere al hecho de que la memoria externa a todas
las particiones se fragmenta cada vez más. Una técnica utilizada para evitar la fragmentación, es la
compactación: de vez en cuando, el sistema operativo desplaza los procesos para estén contiguos, de forma
que toda la memoria libre quede junta en un bloque.

SEGMENTACIÓN

Otro modo de subdividir el programa es la segmentación. En este caso, el programa y sus datos asociados
se dividen en un conjunto de segmentos. No es necesario que todos los segmentos de todos los programas
tengan la misma longitud, aunque existe una longitud máxima de segmento. Como en la paginación, una
dirección lógica segmentada consta de dos partes, en este caso un número de segmento y desplazamiento.
Como consecuencia del empleo de segmentos de distintos tamaños, la segmentación resulta similar a la
partición dinámica. En ausencia de un esquema de superposición o del uso de memoria virtual, sería
necesario cargar en la memoria todos los segmentos de un programa para su ejecución.
La diferencia, en comparación con la partición dinámica, radica en que, con segmentación, un programa
puede ocupar más de una partición y éstas no tienen por qué estas contiguas. La segmentación elimina la
fragmentación interna, pero la partición dinámica, sufre de fragmentación externa. Sin embargo, debido a
que los procesos se dividen en un conjunto de partes más pequeñas, la fragmentación externa será menor.
BIBLIOGRAFIA
http://www3.uji.es/~redondo/so/capitulo6_IS11.pdf

https://es.wikipedia.org/wiki/Multiprocesamiento

https://es.wikipedia.org/wiki/Multihilo

Vous aimerez peut-être aussi