so05gestióndememoria

37
8/18/2019 SO05GestióndeMemoria http://slidepdf.com/reader/full/so05gestiondememoria 1/37 Funciones de los Sistemas Operativos Gestión de Memoria

Upload: cristian-munoz-silva

Post on 07-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 1/37

Funciones de los Sistemas

OperativosGestión de Memoria

Page 2: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 2/37

Page 3: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 3/37

Gestión de Memoria: Introducción

• En un sistema multiprogramadoresulta vital una gestión efectiva de lamemoria.

• Si sólo hay unos pocos procesos enmemoria, entonces la mayor parte deltiempo estarán esperando a la E/S y el

procesador estará desocupado.• Por ello, hace falta repartireficientemente la memoria para metertantos procesos como sea posible.

Importancia de la Gestión deMemoria

Importancia de la Gestión deMemoria

Page 4: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 4/37

Gestión de Memoria: Requisitos

Requisitosde la

Gestión deMemoria

Requisitosde la

Gestión deMemoria

ReubicaciónReubicación

ProtecciónProtección

ComparticiónCompartición

OrganizaciónLógica

OrganizaciónLógica

OrganizaciónFísica

OrganizaciónFísica

Page 5: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 5/37

Gestión de Memoria: Requisitos

• El programador no puede conocer por adelantado qué otros

programas residirán en memoria en el momento de laejecución del programa.

• Un objetivo de todo S.O. es poder cargar y descargar losprocesos activos en la memoria principal para maximizar eluso del procesador, manteniendo una gran reserva deprocesos listos para ejecutar.

• Una vez que un programa haya sido descargado al disco, selimitará a declarar que, cuando vuelva a ser cargado, debesituarse en la misma región de memoria principal que antes.

• Así, se sabe antes de tiempo dónde debe situarse unprograma y hay que permitir que el programa pueda moverse

en memoria principal como resultado de un intercambio.• El sistema operativo debe conocer la ubicación de la

información de control del proceso y de la pila de ejecución,así como el punto de partida para comenzar la ejecución delprograma para dicho proceso.

ReubicaciónReubicación

Page 6: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 6/37

Gestión de Memoria: Requisitos

• Puesto que el sistema operativo gestiona lamemoria y es responsable de traer el procesoa memoria principal, estas direcciones debenser fáciles de conseguir.

• El procesador debe ocuparse de lasreferencias a memoria dentro del programa.• Las instrucciones de bifurcación deben

contener la dirección que haga referencia a lainstrucción que se vaya a ejecutar a

continuación.• Las instrucciones que hagan referencia a

datos deben contener la dirección del byte ode la palabra de datos referenciada.

ReubicaciónReubicación

Page 7: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 7/37

Gestión de Memoria: Requisitos

• Cada proceso debe protegerse contra interferencias nodeseadas de otros procesos, tanto accidentales comointencionadas.

• El código de un proceso no puede hacer referencia aposiciones de memoria de otros procesos, con fines delectura o escritura, sin permiso.

• Hasta cierto punto, satisfacer las exigencias dereubicación aumenta la dificultad de satisfacción de lasexigencias de protección. Puesto que se desconoce laubicación de un programa en memoria principal, esimposible comprobar las direcciones absolutas durante

la compilación para asegurar la protección.• Por tanto, todas las referencias a memoria generadas por

un proceso deben comprobarse durante la ejecuciónpara asegurar que sólo hacen referencia al espacio dememoria destinado a dicho proceso.

ProtecciónProtección

Page 8: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 8/37

Gestión de Memoria: Requisitos

• Normalmente, un proceso de usuario nopuede acceder a ninguna parte del sistemaoperativo, tanto programa como datos.

• El programa de un proceso no puede en

general bifurcar hacia una instrucción deotro proceso.• Además, sin un acuerdo especial, el

programa de un proceso no puede accederal área de datos de otro proceso.

• El procesador debe ser capaz de abandonartales instrucciones en el momento de laejecución.

Protección: Necesidades deProtecciónProtección: Necesidades deProtección

Page 9: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 9/37

Gestión de Memoria: Requisitos

Compartición

• Cualquier mecanismo de protección que se implementedebe tener la flexibilidad de permitir el acceso de variosprocesos a la misma zona de memoria principal.

• Por ejemplo, si una serie de procesos están ejecutando elmismo programa, resultaría beneficioso permitir a cadaproceso que acceda a la misma copia del programa, enlugar de tener cada uno su propia copia aparte.

• Los procesos que cooperan en una tarea puedennecesitar acceso compartido a la misma estructura dedatos.

• El sistema de gestión de memoria debe, por tanto,permitir accesos controlados a las áreas compartidas dela memoria, sin comprometer la protección básica.

Page 10: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 10/37

Gestión de Memoria: Requisitos

Organización Lógica

• De forma casi invariable, la memoria principal de unsistema informático se organiza como un espaciode direcciones lineal o unidimensional que constade una secuencia de bytes o palabras.

• La memoria secundaria, a nivel físico, se organizade forma similar.

• Esta organización refleja fielmente el hardware de lamáquina, no se corresponde con la forma en la quelos programas están construidos habitualmente.

• La mayoría de los programas se organizan enmódulos, algunos de los cuales no sonmodificables (sólo lectura, sólo ejecución) y otroscontienen datos que se pueden modificar.

Page 11: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 11/37

Gestión de Memoria: Requisitos

Organización Lógica

• Si el sistema operativo y el hardware del computador pueden

tratar de forma efectiva los programas de usuario y los datosen forma de módulos de algún tipo, se conseguirá una seriede ventajas, tales como:

• Los módulos pueden escribirse y compilarseindependientemente, mientras que el sistema resuelve durante

la ejecución todas las referencias de un módulo a otro.• Con un escaso coste adicional, pueden otorgarse varios grados

de protección (sólo lectura, sólo ejecución) a los distintosmódulos.

• Es posible introducir mecanismos por medio de los cuales los

procesos puedan compartir módulos. La ventaja de ofrecercompartición a nivel de módulo es que esto se corresponde conla visión del problema que tiene el usuario y, por tanto, es fácilpara el usuario especificar la compartición que desea.

• La técnica de gestión de memoria que más fácilmente

satisface estas necesidades es la segmentación.

Page 12: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 12/37

Gestión de Memoria: Requisitos

Organización Física

• Una memoria secundaria de gran capacidad puede permitir unalmacenamiento a largo plazo de programas y datos, al tiempo que unamemoria principal pequeña mantiene los programas y datos de uso actual.

• En este esquema a dos niveles, la organización del flujo de información entrela memoria principal y la secundaria tiene un gran interés en el sistema. Laresponsabilidad de este flujo podría asignarse al programador, pero esto esimpracticable e indeseable, debido a dos razones:

• La memoria principal disponible para un programa y sus datos puede serinsuficiente. En este caso, el programador emplea una práctica conocida comosuperposición, en la cual el programa y los datos se organizan de tal forma quepuede haber varios módulos asignados a la misma región de memoria, con unprograma principal responsable del intercambio de los módulos según se necesite.Incluso con la ayuda de herramientas de compilación, la programación

superpuesta malgasta el tiempo del programador.• En un entorno multiprogramado, el programador no conoce durante la codificación

cuánto espacio habrá disponible o dónde estará este espacio.

• Está claro entonces que la tarea de mover información entre los dos niveles dememoria debe ser responsabilidad del sistema operativo. Esta tarea es laesencia de la gestión de memoria.

Page 13: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 13/37

Gestión de Memoria

Carga de Programas en la Memoria

Principal• La tarea central de cualquier sistema de gestión

de memoria es traer los programas a memoriaprincipal para su ejecución en el procesador.

• En casi todos los sistemas multiprogramadosmodernos, esta tarea supone un esquemasofisticado conocido como memoria virtual.

• La memoria virtual está, a su vez, basada en el

uso de una de dos técnicas básicas:segmentación y/o paginación.

Page 14: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 14/37

Gestión de Memoria: Carga de Programas en la Memoria

Principal

Técnicas para carga de Programas en

Memoria• Antes de ver estás técnicas de memoria virtual, se

debe preparar el terreno considerando técnicas mássimples que no requieren el uso de memoria virtual.

• Estas son:

• Partición fija

• Partición dinámica o variable

• Paginación simple• Segmentación simple

• El estudio de la memoria virtual resultará mássencillo si se consideran en primer lugar estas dostécnicas, sin tener en cuenta la memoria virtual.

Page 15: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 15/37

Gestión de Memoria: Carga de Programas en la Memoria

Principal

Partición fija:

• En la mayoría de losesquemas de gestión de

memoria, se puede suponerque el sistema operativoocupa una parte fija dememoria principal y que elresto de la memoria estádisponible para ser usado porvarios procesos.

• El esquema más sencillo degestión de la memoriadisponible es dividirla enregiones con límites fijos.

• Pueden ser particiones del

mismo tamaño o de distintotamaño.

Sistema Operativo

512k 

512k 

512k 

512k 

Sistema Operativo

512k 

256k 

768k 

128k 

384k 

Page 16: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 16/37

est n e emor a: arga e rogramas en a

Memoria Principal

•Un programa puede ser demasiado grande para caber en lapartición.•En este caso, el programador debe diseñar el programa consuperposiciones, para que sólo parte del programa esté en memoriaprincipal a la vez.

•Cuando se necesita un módulo que no está presente, el programa deusuario debe cargar dicho módulo en la partición del programa,superponiéndose a los programas y datos que se encuentren en ella.

•El uso de memoria principal es muy ineficiente.•Cualquier programa, sin importar lo pequeño que sea, ocupará unapartición completa. Este fenómeno, en el que se malgasta el espaciointerno de una partición cuando el bloque de datos cargado sea máspequeño que la partición, se denomina fragmentación interna .

•Puesto que los tamaños de partición se programan en el momento de lageneración del sistema, los trabajos pequeños no hacen un usoeficiente del espacio de las particiones.

•El número de particiones especificadas en el momento de lageneración del sistema limita el número de procesos activos (nosuspendidos) del sistema.

•En un entorno en el que los requisitos básicos de almacenamiento detodos los procesos se conocen de antemano, puede ser una técnicarazonable, pero, en la mayoría de los casos, ineficiente.

DesventajasdePaginación

Fija:

Page 17: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 17/37

Gestión de Memoria: Carga de Programas en la Memoria Principal

• Particiones Dinámicas (variables) –  Características

• Las particiones son variables en número y longitud.

• Cuando se trae un proceso a memoria principal, se le asignaexactamente tanta memoria como necesita y no más.

 –  Ventajas

• No hay desperdicio, pues la partición tiene exactamente el tamañonecesario.

 –  Desventajas• Este método comienza bien, pero, finalmente, desemboca en una

situación en la que hay un gran número de huecos pequeños enmemoria.

• Conforme pasa el 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 sefragmenta cada vez más, a diferencia de la fragmentación interna,que se comentó anteriormente.

 –  Ver figura 6.4. Efectos de la partición variable dinámica.

Page 18: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 18/37

Gestión de Memoria: Carga de Programas en la Memoria

Principal: Efectos de la partición dinámica

Page 19: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 19/37

Gestión de Memoria: Carga de Programas en la Memoria

Principal

8Partición Dinámica: Condensación de huecos

8Al terminar un trabajo se puede comprobar si el

almacenamiento liberado colinda con otras áreas libres dealmacenamiento. Si es así se registra en la lista dealmacenamiento libre uniendo huecos libres. Esto seconoce como Condensación.

Sistema Operativo

512k 

Otros usuarios

Hueco de 2k 

5k usuario A

Otros usuarios

Sistema Operativo

512k 

Otros usuarios

Hueco de 2k 

Hueco de 5k 

Otros usuarios

Sistema Operativo

512k 

Otros usuarios

Hueco de 7k 

Otros usuarios

Usuario Atermina y libera

memoria

El S.O. combinahuecos adyacentes

y forma un huecoúnico más grande

Page 20: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 20/37

Page 21: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 21/37

Gestión de Memoria: Carga de Programas en la Memoria

Principal8Partición dinámica: Inconvenientes de la

Compactación del Almacenamiento8Consume recursos del sistema que podrían utilizarse de

forma productiva.

8El sistema debe detener todas sus actividades mientrascompacta, ocasionando tiempos de respuesta irregularespara usuarios interactivo y podría ser devastador en

sistemas de tiempo real.8 Implica reubicar los trabajos que están en el

almacenamiento.

8Puede requerirse con demasiada frecuencia. Con unacombinación normal de trabajos que cambia rápidamente amenudo es necesario compactar, los recursos de sistemaque se consuman quizás no justifiquen las ventajas de lacompactación

Page 22: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 22/37

Gestión de Memoria: Carga de Programas en la Memoria

Principal

• Estrategia del mejor ajuste: Un trabajo queentre en el sistema se colocará en el huecode memoria principal en el que deje la menorcantidad de espacio sin utilizar.Intuitivamente esta es la estrategia másatractiva.

• Estrategia del primer ajuste: Un trabajo queentre en el sistema se colocará en el primerhueco disponible que sea lo bastante grandepara contenerlo. Ventaja: Permite decidirrápidamente donde se colocará un trabajo.

• Estrategia del peor ajuste: A primera vista es

extravagante, sin embargo tiene una ventaja:Al colocar el trabajo en el hueco más grandeel hueco restante es, a menudo, tambiéngrande pudiendo contener un nuevo trabajoo proceso relativamente grande.

Estrategias

decolocaciónen

memoria:

Estrategias

decolocaciónen

memoria:

Page 23: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 23/37

Gestión de Memoria: Carga de Programas en la Memoria Principal

• Tanto las particiones de tamaño fijo comolas de tamaño variable hacen un usoineficiente de la memoria; las primerasgeneran fragmentación interna, mientras quelas segundas originan fragmentaciónexterna.

• Supóngase, no obstante, que la memoriaprincipal se encuentra particionada en trozosiguales de tamaño fijo relativamentepequeños y que cada proceso está divididotambién en pequeños trozos de tamaño fijo ydel mismo tamaño que los de memoria.

• En tal caso, los trozos del proceso,conocidos como páginas, pueden asignarsea los trozos libres de memoria, conocidoscomo marcos o marcos de página.

PaginaciónSimple

PaginaciónSimple

Page 24: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 24/37

Gestión de Memoria:

Carga de Programas en la Memoria Principal:

Asignación de Páginas de Procesos a Marcos Libres (1/2)

Page 25: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 25/37

Gestión de Memoria:

Carga de Programas en la Memoria Principal:

Asignación de Páginas de Procesos a Marcos Libres (2/2)

Page 26: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 26/37

Gestión de Memoria:

Carga de Programas en la Memoria Principal:

Asignación de Páginas de Procesos a Marcos Libres

8En el ejemplo anterior, las cinco páginas del proceso D se carganen los marcos 4, 5, 6, 11 y 12. La figura abajo muestra las distintas

tablas de páginas en este instante. Cada tabla de páginascontiene una entrada por cada página del proceso, por lo que latabla se indexa fácilmente por número de página (comenzando enla página 0).

Page 27: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 27/37

Gestión de Memoria: Carga de Programas en la Memoria

Principal

• Se puede comprobar que la paginación simple, tal ycomo se describe, es similar a la partición estática. Lasdiferencias están en que, con paginación, las particionesson algo más pequeñas, un programa puede ocupar másde una partición y éstas no tienen por qué estar

contiguas.• Mediante la paginación simple, la memoria principal se

divide en pequeños marcos del mismo tamaño.• Cada proceso se divide en páginas del tamaño del

marco; los procesos pequeños necesitaran pocas

páginas, mientras que los procesos grandes necesitaránmás.• Cuando se introduce un proceso en memoria, se cargan

todas sus páginas en los marcos libres y se rellena sutabla de páginas. Esta técnica resuelve la mayoría de losproblemas inherentes a la partición.

Paginación Simple: ResumenPaginación Simple: Resumen

Page 28: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 28/37

Page 29: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 29/37

Gestión de Memoria: Carga de Programas en la Memoria Principal

Segmentación Simple

Como consecuencia del empleo de segmentos de distinto tamaño, lasegmentación resulta similar a la partición dinámica.

En ausencia de un esquema de superposición o del uso de memoria virtual, seríanecesario cargar en 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, consegmentación, un programa puede ocupar más de una partición y éstas no tienen

por qué estar contiguas.

La segmentación elimina la fragmentación interna, pero, como la particióndinámica, sufre de fragmentación externa.

Sin embargo, debido a que los procesos se dividen en un conjunto de partes máspequeñas, la fragmentación externa será menor.

Page 30: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 30/37

Page 31: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 31/37

Gestión de Memoria: Memoria Virtual

ConceptoConcepto

• El término memoria virtual se refiere a lacapacidad para obtener acceso a direccionesen un espacio de almacenamiento (secundario)

mucho mayor que el disponible en elalmacenamiento primario.

Clave del ConceptoClave del Concepto

• Disociación de las direcciones a que hacereferencia un proceso en ejecución de lasdirecciones disponibles en el almacenamiento.

Page 32: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 32/37

Gestión de Memoria: Memoria Virtual

MemoriaFísica

MemoriaFísica

Archivo

de cachédel

sistema

Archivo

de cachédel

sistema

DiscoDisco

MemoriaVirtualMemoriaVirtual

Gestión de Memoria Memoria Virtual

Page 33: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 33/37

Gestión de Memoria: Memoria Virtual:

Estructuras de Hardware y de Control

• Cuando se compararon la paginación y segmentación simple por un lado, conla partición estática y dinámica por otro, se pusieron las bases de un avance

fundamental en la gestión de memoria.• Las claves de este avance son dos características de la paginación y la

segmentación: –  Todas las referencias a memoria dentro de un proceso son direcciones lógicas

que se traducen dinámicamente a direcciones físicas durante la ejecución. Estoquiere decir que un proceso puede cargarse y descargarse de memoria principal

de forma que ocupe regiones diferentes en instantes diferentes a lo largo de suejecución.

 –  Un proceso puede dividirse en varias partes (páginas o segmentos) y no esnecesario que estas partes se encuentren contiguas en memoria principal durantela ejecución. Esto es posible por la combinación de la traducción dinámica dedirecciones en tiempo de ejecución y el uso de una tabla de páginas o desegmentos.

• Si estas dos características están presentes, no será necesario que todaslas páginas o todos los segmentos de un proceso estén en memoria durantela ejecución.

Page 34: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 34/37

Gestión de Memoria: Memoria Virtual:

Estructuras de Hardware y de Control

Pasos bajo un esquema de memoria virtual:

El sistema operativo comienza trayendo sólo unospocos fragmentos, incluido el fragmento que contieneel comienzo del programa.

Se llamará conjunto residente del proceso a la partede un proceso que está realmente en memoriaprincipal.

Cuando el proceso se ejecuta, todo irá sobre ruedasmientras todas las referencias a memoria estén enposiciones que pertenezcan al conjunto residente.

A través de la tabla de páginas o de segmentos, elprocesador siempre es capaz de determinar si esto es

así.

Page 35: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 35/37

G tió d M i M i Vi t l

Page 36: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 36/37

Gestión de Memoria: Memoria Virtual:

Estructuras de Hardware y de Control

Ventajas del uso de memoria virtual:

• Se pueden conservar más procesos en memoria principal. Puesto que se van acargar sólo algunos fragmentos de un proceso particular, habrá sitio para másprocesos.

• Esto conduce a una utilización más eficiente del procesador, puesto que es másprobable que, por lo menos, uno de los numerosos procesos esté en estadoListo en un instante determinado.

• Es posible que un proceso sea más grande que toda la memoria principal. Se

elimina así una de las limitaciones más notorias de la programación. Sin elesquema que se ha expuesto, un programador debe ser consciente de cuántamemoria tiene disponible.

• Si el programa que está escribiendo es demasiado grande, el programador debeidear formas de estructurar el programa en fragmentos que puedan cargarse deforma separada con algún tipo de estrategia de superposición.

• Con una memoria virtual basada en paginación o segmentación, este trabajoqueda para el sistema operativo y el hardware. En lo que atañe al programador,se las arregla con una memoria enorme, dependiendo del tamaño dealmacenamiento en disco. El sistema operativo cargará automáticamente enmemoria principal los fragmentos de un proceso cuando los necesita.

• Se pueden conservar más procesos en memoria principal. Puesto que se van acargar sólo algunos fragmentos de un proceso particular, habrá sitio para másprocesos.

• Esto conduce a una utilización más eficiente del procesador, puesto que es másprobable que, por lo menos, uno de los numerosos procesos esté en estadoListo en un instante determinado.

• Es posible que un proceso sea más grande que toda la memoria principal. Se

elimina así una de las limitaciones más notorias de la programación. Sin elesquema que se ha expuesto, un programador debe ser consciente de cuántamemoria tiene disponible.

• Si el programa que está escribiendo es demasiado grande, el programador debeidear formas de estructurar el programa en fragmentos que puedan cargarse deforma separada con algún tipo de estrategia de superposición.

• Con una memoria virtual basada en paginación o segmentación, este trabajoqueda para el sistema operativo y el hardware. En lo que atañe al programador,se las arregla con una memoria enorme, dependiendo del tamaño dealmacenamiento en disco. El sistema operativo cargará automáticamente enmemoria principal los fragmentos de un proceso cuando los necesita.

Page 37: SO05GestióndeMemoria

8/18/2019 SO05GestióndeMemoria

http://slidepdf.com/reader/full/so05gestiondememoria 37/37

Gestión de Memoria: Memoria Virtual: Comparación