SlideShare une entreprise Scribd logo
1  sur  9
Sabemos que el ordenador cuenta con la memoria central o
principal, pero esta es limitada y, en grandes sistemas, insuficiente.
Al principio, para ubicar los procesos en memoria y solucionar este
problema, se adoptaron técnicas tales como dividir el programa en
partes denominadas capas. Cada una de las capas se iba
ejecutando (cargando en memoria) según fuera necesario; es
decir, primero se pasaría parte del programa del disco duro (o
soporte de almacenamiento) a la memoria, y cuando fuera
necesario utilizar otra parte del programa que no estuviese en
memoria central o principal (RAM), se accedería de nuevo al disco
para cargar la siguiente capa en memoria central.
Esta labor de dividir el programa en capas la puede realizar el
mismo programador mediante la división del programa en módulos
que se irán ejecutando según sea necesario, si bien esto supone un
elevado esfuerzo para él.
Fotheringam diseñó un método conocido como de memoria virtual.
Este diseñador pensó en la posibilidad de que al ubicar un
programa en memoria, este fuera demasiado grande para el
tamaño físico de aquella y creó una técnica para hacer que en
memoria permaneciera solo la parte del programa que se estuviera
ejecutando y que el resto quedara en el disco.
La Segmentación de memoria es un
esquema de manejo de memoria
mediante el cual la estructura del
programa refleja su división lógica
llevándose a cabo una agrupación
lógica de la información en bloques
de tamaño variable denominados
segmentos.
Cada uno de ellos tienen información
lógica del programa: subrutina, arreglo,
etc.
Luego, cada espacio de direcciones de programa consiste de
una colección de segmentos, que generalmente reflejan la
división lógica del programa.
Obviamente este sistema de gestión de memoria es utilizado en
Sistemas operativos avanzados, pero ya existían muestras de su
actividad desde los S.O.’s Unix y D.O.S.
La paginación difiere de la segmentación en que las páginas son
de tamaño fijo y los segmentos no.
El uso de la técnica de paginación o segmentación dependerá
del sistema operativo utilizado y de la máquina en la que lo
usemos, además de las necesidades del software.
Cada segmento tiene un nombre o número y una longitud. El
usuario por esto especifica cada dirección por dos cantidades: un
nombre de segmento y un desplazamiento.
Dado que ahora una dirección dentro de un programa del
usuario (dirección lógica), debe especificarse como una dirección
de 2 dimensiones, y dado que la memoria física es aún un arreglo
de una sola dimensión, es necesario implementar un dispositivo
que mapee o convierta una dirección de dos dimensiones en otra
de una sola dimensión. Esto se hace por medio de la tabla de
segmentos.
Supongamos que realizamos un programa y, para que se
ejecute, necesita utilizar tablas (estructuras de datos) en
memoria. Si tenemos en cuenta que una tabla puede
asignarse de forma estática o dinámica según las necesidades
del programa, habrá veces en que esta tabla necesitará un
espacio determinado en memoria, mientras que otras, este
espacio será mayor o menor según la necesidad. Gracias a la
segmentación podemos ubicar en memoria estas estructuras
de datos, independientemente del tamaño que tengan.
El ordenador, a través del sistema operativo, puede organizar
la memoria en bloques concretos y tener partes de            ella
destinadas a almacenar las estructuras de datos,que pueden
crecer o menguar según las necesidades del usuario o del
programa. Para ello se utilizarán las pilas de memoria o stacks,
en las que se gestionan las estructuras de datos necesarias.
Cada rutina del programa puede ser un bloque sujeto a cambios y
recopilaciones, sin afectar por ello al resto del programa.

Donde cada estructura tiene su propio tamaño y este puede
variar.(Stack)

Se puede proteger los módulos del segmento contra accesos no
autorizados.

Dos o más procesos pueden ser un mismo segmento, bajo reglas de
protección; aunque no sean propietarios de los mismos.

Puede evitarse realizar todo el proceso de enlace antes de comenzar a
ejecutar un programa. Los enlaces se establecerán solo cuando sea
necesario.
• El programador puede conocer las unidades lógicas de su
   programa, dándoles un tratamiento particular.
• Es posible compilar módulos separados como segmentos el
   enlace entre los segmentos puede suponer hasta tanto se haga
   una referencia entre segmentos.
• Debido a que es posible separar los módulos se hace más fácil
   la modificación de los mismos. Cambios dentro de un modulo
   no afecta al resto de los módulos.
• Es fácil el compartir segmentos.
• Es posible que los segmentos crezcan dinámicamente según las
   necesidades del programa en ejecución.
• Existe la posibilidad de definir segmentos que aun no existan.
   Así, no se asignara memoria, sino a partir del momento que sea
   necesario hacer usos del segmento. Un ejemplo de esto, serian
   los Arrays
cuya dimensión no se conoce hasta tanto no se comienza a
ejecutar el programa. En algunos casos, incluso podría retardar la
asignación de memoria hasta el momento en el cual se referencia
el Array u otra estructura de dato por primera vez
• Hay un incremento en los costos de hardware y de software
  para llevar a cabo la implantación, así como un mayor
  consumo de recursos: memoria, tiempo de CPU, etc.
• Debido a que los segmentos tienen un tamaño variable se
  pueden presentar problemas de fragmentación externas, lo
  que puede ameritar un plan de reubicación de segmentos
  en memoria principal.
• Se complica el manejo de memoria virtual, ya que los discos
  almacenan la información en bloques de tamaños fijos,
  mientras los segmentos son de tamaño variable. Esto hace
  necesaria la existencia de mecanismos más costosos que los
  existentes para paginación.
• Al permitir que los segmentos varíen de tamaño, puede
  ser necesarios planes de reubicación a nivel de los discos, si los
  segmentos son devueltos a dicho dispositivo; lo que conlleva a
  nuevos costos.
• No se puede garantizar, que al salir un segmento de la
  memoria, este pueda ser traído fácilmente de nuevo, ya que
  será necesario encontrar nuevamente un área de memoria
  libre ajustada a su tamaño.

Contenu connexe

Tendances

Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosCarolina Cols
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativosadriel91
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasJ M
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Administración de la Memoria, organización y administración del almacenamient...
Administración de la Memoria, organización y administración del almacenamient...Administración de la Memoria, organización y administración del almacenamient...
Administración de la Memoria, organización y administración del almacenamient...Javier Alvarez
 
Optimizacion de la busqueda de discos
Optimizacion de la busqueda de discosOptimizacion de la busqueda de discos
Optimizacion de la busqueda de discosJazmín Limón
 
Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvardManzelot
 
1. modelo entidad relacion ejemplo
1. modelo entidad relacion   ejemplo1. modelo entidad relacion   ejemplo
1. modelo entidad relacion ejemplouniv of pamplona
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosVannesa Salazar
 
Diseño de entraday_salida
Diseño de entraday_salidaDiseño de entraday_salida
Diseño de entraday_salidaJorge Garcia
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónYaskelly Yedra
 
Algoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosAlgoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosFernando Morales
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosLuis Dario Gomez
 

Tendances (20)

Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
 
Sistema Operativo Distribuido
Sistema Operativo DistribuidoSistema Operativo Distribuido
Sistema Operativo Distribuido
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
Gestión de archivos
Gestión de archivosGestión de archivos
Gestión de archivos
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Administración de la Memoria, organización y administración del almacenamient...
Administración de la Memoria, organización y administración del almacenamient...Administración de la Memoria, organización y administración del almacenamient...
Administración de la Memoria, organización y administración del almacenamient...
 
Optimizacion de la busqueda de discos
Optimizacion de la busqueda de discosOptimizacion de la busqueda de discos
Optimizacion de la busqueda de discos
 
Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvard
 
Gestion de memoria en windows
Gestion de memoria en windowsGestion de memoria en windows
Gestion de memoria en windows
 
1. modelo entidad relacion ejemplo
1. modelo entidad relacion   ejemplo1. modelo entidad relacion   ejemplo
1. modelo entidad relacion ejemplo
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Diseño de entraday_salida
Diseño de entraday_salidaDiseño de entraday_salida
Diseño de entraday_salida
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de información
 
Algoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosAlgoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativos
 
Estructura de registros
Estructura de registrosEstructura de registros
Estructura de registros
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 

Similaire à Segmentacion de memoria

Memoria virtual
Memoria virtualMemoria virtual
Memoria virtualandreis18
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtualosjavier
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtualosjavier
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtualosjavier
 
Memoria virtual...
Memoria virtual...Memoria virtual...
Memoria virtual...osjavier
 
Andres infante
Andres infanteAndres infante
Andres infanteandresinf
 
Andres infante
Andres infanteAndres infante
Andres infanteandresinf
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUALandresinf
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtualakany
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principaljbersosa
 
Sistemas Operativos - Memoria
Sistemas Operativos - MemoriaSistemas Operativos - Memoria
Sistemas Operativos - Memoriavdelgado3
 
Gestion de particiones de memoria.ppt
Gestion de particiones de memoria.pptGestion de particiones de memoria.ppt
Gestion de particiones de memoria.pptLuis619096
 
Segmentación Memoria Virtual
Segmentación Memoria VirtualSegmentación Memoria Virtual
Segmentación Memoria VirtualAna Brooks
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria VirtualUCC
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtualZCHARRY
 

Similaire à Segmentacion de memoria (20)

Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual 1
Memoria virtual 1Memoria virtual 1
Memoria virtual 1
 
Memoria
MemoriaMemoria
Memoria
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtual
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtual
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtual
 
Memoria virtual...
Memoria virtual...Memoria virtual...
Memoria virtual...
 
Andres infante
Andres infanteAndres infante
Andres infante
 
Andres infante
Andres infanteAndres infante
Andres infante
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUAL
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principal
 
Sistemas Operativos - Memoria
Sistemas Operativos - MemoriaSistemas Operativos - Memoria
Sistemas Operativos - Memoria
 
Gestion de particiones de memoria.ppt
Gestion de particiones de memoria.pptGestion de particiones de memoria.ppt
Gestion de particiones de memoria.ppt
 
Segmentación Memoria Virtual
Segmentación Memoria VirtualSegmentación Memoria Virtual
Segmentación Memoria Virtual
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 

Segmentacion de memoria

  • 1.
  • 2. Sabemos que el ordenador cuenta con la memoria central o principal, pero esta es limitada y, en grandes sistemas, insuficiente. Al principio, para ubicar los procesos en memoria y solucionar este problema, se adoptaron técnicas tales como dividir el programa en partes denominadas capas. Cada una de las capas se iba ejecutando (cargando en memoria) según fuera necesario; es decir, primero se pasaría parte del programa del disco duro (o soporte de almacenamiento) a la memoria, y cuando fuera necesario utilizar otra parte del programa que no estuviese en memoria central o principal (RAM), se accedería de nuevo al disco para cargar la siguiente capa en memoria central. Esta labor de dividir el programa en capas la puede realizar el mismo programador mediante la división del programa en módulos que se irán ejecutando según sea necesario, si bien esto supone un elevado esfuerzo para él. Fotheringam diseñó un método conocido como de memoria virtual. Este diseñador pensó en la posibilidad de que al ubicar un programa en memoria, este fuera demasiado grande para el tamaño físico de aquella y creó una técnica para hacer que en memoria permaneciera solo la parte del programa que se estuviera ejecutando y que el resto quedara en el disco.
  • 3. La Segmentación de memoria es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos. Cada uno de ellos tienen información lógica del programa: subrutina, arreglo, etc. Luego, cada espacio de direcciones de programa consiste de una colección de segmentos, que generalmente reflejan la división lógica del programa. Obviamente este sistema de gestión de memoria es utilizado en Sistemas operativos avanzados, pero ya existían muestras de su actividad desde los S.O.’s Unix y D.O.S.
  • 4. La paginación difiere de la segmentación en que las páginas son de tamaño fijo y los segmentos no. El uso de la técnica de paginación o segmentación dependerá del sistema operativo utilizado y de la máquina en la que lo usemos, además de las necesidades del software. Cada segmento tiene un nombre o número y una longitud. El usuario por esto especifica cada dirección por dos cantidades: un nombre de segmento y un desplazamiento. Dado que ahora una dirección dentro de un programa del usuario (dirección lógica), debe especificarse como una dirección de 2 dimensiones, y dado que la memoria física es aún un arreglo de una sola dimensión, es necesario implementar un dispositivo que mapee o convierta una dirección de dos dimensiones en otra de una sola dimensión. Esto se hace por medio de la tabla de segmentos.
  • 5. Supongamos que realizamos un programa y, para que se ejecute, necesita utilizar tablas (estructuras de datos) en memoria. Si tenemos en cuenta que una tabla puede asignarse de forma estática o dinámica según las necesidades del programa, habrá veces en que esta tabla necesitará un espacio determinado en memoria, mientras que otras, este espacio será mayor o menor según la necesidad. Gracias a la segmentación podemos ubicar en memoria estas estructuras de datos, independientemente del tamaño que tengan. El ordenador, a través del sistema operativo, puede organizar la memoria en bloques concretos y tener partes de ella destinadas a almacenar las estructuras de datos,que pueden crecer o menguar según las necesidades del usuario o del programa. Para ello se utilizarán las pilas de memoria o stacks, en las que se gestionan las estructuras de datos necesarias.
  • 6.
  • 7. Cada rutina del programa puede ser un bloque sujeto a cambios y recopilaciones, sin afectar por ello al resto del programa. Donde cada estructura tiene su propio tamaño y este puede variar.(Stack) Se puede proteger los módulos del segmento contra accesos no autorizados. Dos o más procesos pueden ser un mismo segmento, bajo reglas de protección; aunque no sean propietarios de los mismos. Puede evitarse realizar todo el proceso de enlace antes de comenzar a ejecutar un programa. Los enlaces se establecerán solo cuando sea necesario.
  • 8. • El programador puede conocer las unidades lógicas de su programa, dándoles un tratamiento particular. • Es posible compilar módulos separados como segmentos el enlace entre los segmentos puede suponer hasta tanto se haga una referencia entre segmentos. • Debido a que es posible separar los módulos se hace más fácil la modificación de los mismos. Cambios dentro de un modulo no afecta al resto de los módulos. • Es fácil el compartir segmentos. • Es posible que los segmentos crezcan dinámicamente según las necesidades del programa en ejecución. • Existe la posibilidad de definir segmentos que aun no existan. Así, no se asignara memoria, sino a partir del momento que sea necesario hacer usos del segmento. Un ejemplo de esto, serian los Arrays cuya dimensión no se conoce hasta tanto no se comienza a ejecutar el programa. En algunos casos, incluso podría retardar la asignación de memoria hasta el momento en el cual se referencia el Array u otra estructura de dato por primera vez
  • 9. • Hay un incremento en los costos de hardware y de software para llevar a cabo la implantación, así como un mayor consumo de recursos: memoria, tiempo de CPU, etc. • Debido a que los segmentos tienen un tamaño variable se pueden presentar problemas de fragmentación externas, lo que puede ameritar un plan de reubicación de segmentos en memoria principal. • Se complica el manejo de memoria virtual, ya que los discos almacenan la información en bloques de tamaños fijos, mientras los segmentos son de tamaño variable. Esto hace necesaria la existencia de mecanismos más costosos que los existentes para paginación. • Al permitir que los segmentos varíen de tamaño, puede ser necesarios planes de reubicación a nivel de los discos, si los segmentos son devueltos a dicho dispositivo; lo que conlleva a nuevos costos. • No se puede garantizar, que al salir un segmento de la memoria, este pueda ser traído fácilmente de nuevo, ya que será necesario encontrar nuevamente un área de memoria libre ajustada a su tamaño.