Вы находитесь на странице: 1из 15

GESTIÓN DE SISTEMAS OPERATIVOS

LUIS EDIN IBARGUEN MOSQUERA

YEISON ESTIVEN CASTRO CARDONA

Investigación

IS. ARVEY BARAHONA GÓMEZ.

CORPORACIÓN DE ESTUDIOS

TECNOLÓGICOS

DEL NORTE DEL VALLE

TECNICO PROFESIONAL EN PROGRAMACION DE APLIAACIONES


INFORMATICAS

CARTAGO

2017
Gestión de Memoria en MS-DOS

MS-DOS es un sistema operativo monoproceso por lo que no puede soportar


varios procesos en ejecución simultánea.

Cuando se arranca el sistema operativo el shell de MS-DOS indica que está


preparado para recibir órdenes al mostrar la petición en la pantalla, en ese
momento, el usuario puede arrancar un programa, con lo que el Shell iniciará un
nuevo proceso, este proceso hijo deberá terminarse antes de que se vuelva a
mostrar la petición de orden. Mientras el proceso hijo se ejecuta, el proceso padre
quedará suspendido, y aunque permanezcan juntos en memoria, sólo el hijo
estará activo y el proceso padre no podrá reanudar su ejecución hasta que el hijo
termine.

En MS-DOS existen dos tipos de archivos ejecutables, que provocan dos tipos de
procesos distintos:

Los archivos “.COM”, no levan encabezado y contienen solo un segmento de


código ejecutable, se cargan en memoria sin ninguna modificación, y se ejecutan.
Los procesos que se inician a partir de ficheros de este tipo constan de un
segmento de texto, uno de datos y otro de pila que no pueden superar en conjunto
los 64k.

Los archivos “.EXE”, además del código ejecutable, disponen de información


sobre reasignación y los procesos iniciados a partir de este tipo de archivos,
pueden disponer además del segmento de texto, el de datos y el de pila, de varios
segmentos adicionales.

Cada proceso en MS-DOS dispone de un bloque inicial de 256 bytes


denominado PSP(prefijo del segmento de programa) que guarda entre otras
cosas: información relativa al tamaño del programa, un apuntador al bloque del
ambiente(parte d la memoria donde se guardan las variables de shell),un
apuntador al psp del padre, etc.

Cuando se crea un proceso hijo en MS-DOS se comprobará si existe memoria


suficiente, ya que al no disponerse de swapping, si no existe memoria suficiente,
no podrá crearse. En el caso de que se haya podido crear, el proceso hijo
normalmente hereda los archivos abiertos del padre y puede abrir sus propios
archivos, sin embargo, estos últimos se cerrarán cuando el hijo muera, momento
entonces en el que MS-DOS, recupera la memoria ocupada por él y el proceso
desaparece. Sin embargo, existe la posibilidad de que un proceso, al terminar,
indique al sistema operativo que le permita residir en la memoria después de
haber terminado, y activarse, por ejemplo, mediante una combinación de teclas
concretas ;esta posibilidad se debe a que los procesos pueden instalar sus propios
manejadores de interrupciones. A los que funcionan de esta forma se les
denomina programas residentes en memoria.

Gestión de memoria en DOS

Además de la gestión estándar de memoria, la barrera de los 640 KB de MS-DOS


y los sistemas compatibles dieron lugar al desarrollo de programas conocidos
como gestores de memoria cuando las memorias principales de las PC
comenzaron a ser mayores que 640 KB a finales de los años 1980. Estos
desplazan porciones del sistema operativo fuera de su localización tradicional para
incrementar la cantidad de memoria convencional o semiconvencional disponible
para otras aplicaciones. El EMM386, es un ejemplo, fue parte de la instalación
estándar de las últimas versiones de DOS, así como el QEMM. Estos permitieron
el uso de memoria más allá de la barrera de los 640 KB, donde la memoria solía
estar reservada a la memoria de acceso aleatorio, y memorias superiores.

El ejemplo más claro de este esquema es el que podemos ver en el sistema


operativo MS-DOS, en que el usuario escribe un comando al sistema y al
ejecutarse el sistema operativo lo carga a memoria desde el disco y realiza sus
funciones. Cuando el proceso termina la memoria es liberada y le muestra al
usuario el indicador de comandos (prompt) en la pantalla.

-Multiprogramación y uso de memoria

Esta organización facilita la programación de una aplicación al dividirla en dos o


más procesos. Además ofrece la capacidad de tener más de un proceso a la vez
en memoria así puede ofrecer servicios a varios usuarios a la vez.

El esquema de multiprogramación incrementa el aprovechamiento del CPU, dado


que a diferencia de la monoprogramación en donde solo un proceso reside en
memoria a la vez limitando el uso del procesador a las llamadas que requiera
dicho proceso, desperdiciando un promedio del 80% del tiempo del procesador.
En cambio la multiprogramación, al tener varios procesos en la memoria principal
y dividiéndose el tiempo de uso del procesador, logra reducir drásticamente el
desperdicio del procesador.

Multiprogramación con particiones fijas


Para poder implementar la multiprogramación, se puede hacer uso de particiones
fijas o variables en la memoria. En el caso de las particiones fijas, la memoria se
puede organizar dividiéndose en diversas partes, las cuales pueden variar en
tamaño. Esta partición la puede hacer el usuario en forma manual, al iniciar una
sesión con la máquina.

Partimos de código fuente − > (compilación) − > código objeto I Varios archivos
código objeto − > (enlazado) − > fichero ejecutable I Fichero ejecutable − > (carga
y ejecución) − > proceso en memoria I Código fuente − > fichero ejecutable − >
proceso en memoria I En el fichero fuente tenemos variables, funciones,
procedimientos. . . I En el proceso en memoria tenemos contenidos de direcciones
de memoria, saltos a direcciones donde hay código I ¿Donde y cuando se hace
esa transformación? Si dichas direcciones se generan en tiempo de compilación
(y/o enlazado) decimos que se trata de código absoluto (ej. ficheros .COM de MS-
DOS) I Habría que conocer en que dirección de memoria donde se va a ejecutar el
programa en el momento de compilación/enlazado I El ejecutable no sería muy
portable I Si las direcciones se generan en el momento de carga (el fichero
ejecutable tiene unas referencias relativas), se trata de relocalización estática (ej.
ficheros EXE de MS.DOS) I Una vez cargado no puede moverse a otro sitio de la
memoria I Solo puede haber intercambio si los procesos vuelven al mismo sitio de
la memoria (particiones fijas)
Si las direcciones se generan en tiempo de ejecución (el proceso al ejecutarse
maneja unas referencias que no son las direcciones de memoria reales a las que
accede), se trata de relocalización dinámica (ej. ficheros EXE Windows XP) I No
va a haber ningún problema con el intercambio, los procesos pueden salir de
memoria y volver a ella en cualquier sitio I Aparece una distinción entre el espacio
virtual o lógico de direcciones y el espacio físico de direcciones al que realmente
se accede I Es NECESARIO que el hardware haga dicha traslación I Todos los
sistemas actuales usan relocalización dinámica I En el caso de relocalización
dinámica el enlazado puede posponerse hasta el momento de ejecución, es lo que
se conoce como enlace dinámico (p.e. las DLL de Windows, lib*.so de linux)

Gestión de Memoria en Windows

Los procesos dentro de Windows utilizan un espacio de direcciones de 32 bits


que permite habilitar un espacio de direcciones de hasta 4 gigabytes de
direcciones, o 8 terabytes en el caso de los sistemas de 64 bits. Cuando todos los
procesos que se ejecutan en el sistema requieren de más memoria que la
disponible, Windows utiliza la alternancia entre la memoria virtual (determinado por
un archivo de paginación) y la memoria física, que al igual que en UNIX recibe el
nombre de swapping. Este intercambio se realiza no de bytes a bytes, sino de
página a página, que en Windows son bloques de 4 KB donde se almacenan los
datos de los procesos. De ahí que toda la memoria esté paginada, tanto la física
como la virtual. La física en forma de marcos de página y la virtual en forma de
páginas. Además, Windows dispone de tablas de páginas que son las que
apuntan a las propias páginas, y los punteros de estas tablas se almacenan a su
vez en un directorio de páginas. Cada proceso dispone sólo de un directorio.
Estados de las páginas de memoria en UNIX.

El espacio de direcciones para un proceso es el conjunto de direcciones de


memoria virtual que puede utilizar. El espacio de direcciones para cada proceso es
privado y no se puede acceder por otros procedimientos, a menos que se
comparta. Una dirección virtual no representa la ubicación física real de un objeto
en la memoria, sino que el sistema mantiene una tabla de páginas para cada
proceso. El sistema traduce la dirección virtual a una dirección física mediante
diferentes algoritmos, lo que hace que no se pueda acceder a las posiciones de
otros procesos porque no es posible hacer referencia a dichas posiciones. A
diferencia de los otros sistemas, las páginas pueden estar en tres estados; libre,
donde no puede ser accedida por ningún proceso pero sí reservada o encargada;
reservada, es un espacio de dirección virtual fijada para usos futuros; encargada,
aquella que ha sido asignada a un espacio físico, ya sea en memoria física o
virtual

Windows XP requiere una gran cantidad de memoria. Cuando varias aplicaciones


están abiertas, Windows intercambia los programas que se ejecutan de fondo y los
archivos abiertos de la memoria al disco. Cuando vuelves a un programa que se
ha pasado al disco, hay un retraso considerable. Si tu ordenador está equipado
con 128 Mbytes o, mejor aún, con 256 o 512 Mbytes, debes desactivar el
intercambio al disco (o paginación).
Los usuarios que tengan 256 Mbytes de memoria o más también deben impedir
que Windows intercambie partes del núcleo del sistema operativo al disco. Cuando
fuerzas a Windows a que mantenga el núcleo dentro de la memoria, se mejorará
el funcionamiento de tu ordenador. El sistema operativo utiliza entonces la
memoria disponible excepto los 4 Mbytes que se reservan para la memoria del
sistema central. Como Windows maneja la memoria del sistema de forma
dinámica, puede usar hasta 8 Mbytes para memoria del sistema si es necesario.
Para mejorar el funcionamiento:
1.- Ejecuta REGEDIT y navega hasta:
\HKEY_LOCAL_MACHINE\System\CurrentControISet\
Control\SessionManager\MemoryMagement. 2.- Para desactivar la paginación de
aplica- ciones y archivos de datos, haz doble ciic en la entrada
DisablePagingExecutive. Cambia éste a 1. 3 Si deseas desactivar el intercambio
del núcleo, haz doble ciic en LargeSystemCache. Cámbialo también a 1. Para
activar la paginación, vuelve a cambiar la entrada de DisablePagingExecutive y
/o LargeSystemCache a 0.

Gestión de memoria en Linux

La memoria es uno de los recursos más valiosos que gestiona el sistema


operativo. Uno de los elementos principales que caracterizan un proceso es la
memoria que utiliza.

● Es típicamente una memoria de acceso aleatorio (RAM) cuyo tiempo de acceso


es mucho más pequeño que el de la memoria secundaria (discos duros, máquinas
en red,...).

● El sistema operativo debe administrar toda la memoria física y asignarla tanto a


los subsistemas del núcleo como a los programas de usuario. Cuando el sistema
arranca, el núcleo reserva parte de la memoria principal para su código y sus
estructuras de datos estáticas.

Memoria Principal / Física● Ésta está lógicamente separada de la de cualquier


otro proceso del sistema. Un proceso no puede acceder, al espacio de memoria
asignado a otro proceso, lo cual es imprescindible para la seguridad y estabilidad
del sistema.

Direccionamiento: El direccionamiento es una parte importante de la gestión de


memoria, puesto que influye mucho en la visión del mismo por parte de un
proceso, como en el aprovechamiento del hardware y el rendimiento del sistema.
En Linux, además, un proceso tiene dos espacios de memoria: el espacio de
memoria del usuario, único para ese proceso, y el espacio de memoria del kernel,
idéntico en todos los procesos.

Gestión de Memoria Objetivos del sistema de Gestión de Memoria

● Ofrecer a cada proceso un espacio lógico propio.

● Proporcionar protección entre procesos.

● Permitir que los procesos compartan memoria.

● Dar soporte a las distintas regiones del proceso.

● Maximizar el rendimiento del sistema.


● Proporcionar a los procesos mapas de memoria muy grandes.

Espacio de direcciones de un proceso Los espacios de direcciones involucrados


en la gestión de la memoria son de tres tipos:

● Espacio de direcciones físicas● Espacio de direcciones lógicas● Espacio de


direcciones lineales

Unidad de Manejo de Memoria: Sus funciones son las siguientes:

● Convertir las direcciones lógicas emitidas por los procesos en direcciones


físicas.● Comprobar que la conversión se puede realizar. La dirección lógica
podría no tener una dirección física asociada.● Comprobar que el proceso que
intenta acceder a una cierta dirección de memoria tiene permisos para ello.

Subsistema de Gestión de Memoria: Es la parte del núcleo responsable de


gestionar la memoria principal e interactúa fuertemente con la unidad de
administración de memoria (MMU) que funcionalmente se sitúa entre la CPU y la
memoria principal.● Decide qué procesos residen en memoria principal (al menos
una parte).● Maneja parte del espacio de direcciones virtuales que ha quedado
fuera.● Controla la cantidad de memoria principal.● Gestiona el intercambio de
procesos entre memoria principal y memoria secundaria o dispositivo de swap.

Otras Características: ● Ofrecer al proceso más memoria de la que hay


físicamente disponible. Se emplean técnicas de swapping y paginación por
demanda.● Aprovechar la memoria mediante técnicas Copy-on- write.● Mapeado
de ficheros sobre memoria.● En general, mejorar el rendimiento del sistema
mediante diversas técnicas a la hora de asignar o liberar memoria (Buddy system,
Slab allocator, caches, etc).

Manejo de Memoria en Windows 7

Al ejecutarse un proceso en Windows, el sistema busca asignarle un espacio de


direcciones virtuales.
Windows como bien se sabe es un sistema multitarea y multiproceso ya que
permite realizar al mismo tiempo una gran cantidad de tareas al tiempo y a
diferentes usuarios si se requiere.
Cómo gestiona Windows la memoria física y virtual

Windows al ser un sistema multitareas y tener una gran cantidad de procesos en


ejecución a la vez, comienza a realizar un cambio entre la memoria virtual y la
física, con el fin de permitir la ejecución de los procesos que así lo requieran.
Windows utiliza la paginación con el fin de hacer la gestión de su memoria, y la
distribución no se hace bit a bit sino página a página. Una página en Windows es
de 4KB
Construcción de la memoria Virtual

Búsqueda de la dirección en la
memoria principal
Cuando el sistema utiliza toda la memoria que tiene disponible, lo que hace es
mover las páginas (piezas de 4 KB) de uno o varios espacios de direcciones
virtuales para el disco duro. Finalmente lo que consigue con esto es liberar la
memoria RAM para otros usos.
Estas páginas que son movidas al disco duro, en los sistemas que estamos
estudiando "Windows 7" se almacenan finalmente en archivos llamados
generalmente Pagefile.sys y estos archivos se encuentran ubicados en una
partición del sistema.
Cómo visualizar dónde se encuentra el archivo de paginación de la memoria
virtual del sistema?

-Otro método interesante para el manejo de memoria que hace el sistema


operativo es agrupar las páginas de la memoria física que se dedican a un
proceso especifico, es conocido normalmente cómo un conjunto de direcciones de
trabajo. El número de páginas crece o disminuye en el conjunto de direcciones
dependiendo de la disponibilidad general de las páginas del sistema.

El sistema operativo debe evitar que el número de páginas en el conjunto de


direcciones crezca hasta el punto de que se acabe la memoria completamente,
para ello realiza dos procedimientos:

Realizar un marcado en las páginas que se encuentran libres.

Escribiendo las páginas modificadas en un espacio dedicado para ello, conocido


como espacio de Intercambio.

Cómo saber que procesos se están consumiendo la memoria?


GESTION DE MEMORIA EN WINDOWS 8

Unos de los aspectos que más nos convenció de la presentación de Windows 8


Consumer Preview en Barcelona fue el sistema de gestión de memoria. Hoy,
Microsoft libera un documento y un vídeo en el que explica de manera detallada
cómo funcionará esta tecnología, clave para el futuro de su nuevo sistema
operativo.

El modo en el que Windows 8 trata a las aplicaciones Metro guarda ciertas


analogías con la gestión de memoria de iOS. Así, las aplicaciones que no están
activas entregan buena parte de la RAM que necesitan cuando funcionan al
sistema operativo, que la reasigna a otras aplicaciones en ejecución. El resultado
es un rendimiento óptimo, incluso en escenarios multitarea con varias aplicaciones
pesadas al mismo tiempo.

En el vídeo publicado por Microsoft, las aplicaciones que no están en primer plano
pasan a un estado de “suspensión” y liberan gran parte de los recursos que
consumen. Cuando vuelven a ser necesarias, el sistema recupera información
sobre su estado y las reactiva de forma casi instantánea, justo en el punto en el
que el usuario dejó de utilizarlas.
Las aplicaciones que no están en primer plano pasan a un estado de “suspensión”
y liberan gran parte de los recursos que consumen. Cuando vuelven a ser
necesarias, el sistema recupera información sobre su estado y las reactiva de
forma casi instantánea, justo en el punto en el que el usuario dejó de utilizarlas.

En teoría, cuando la cantidad de memoria RAM no es suficiente Windows 8 utiliza


espacio en el disco duro (o unidades SSD) para guardar datos sobre el estado de
las aplicaciones en suspensión. Con las velocidades de transferencia actuales
Microsoft espera que la recuperación de aplicaciones no supere el segundo.

Memoria virtual

La memoria virtual combina la RAM del equipo con espacio temporal en el disco
duro. Cuando queda poca RAM, a memoria virtual mueve datos de la RAM a un
espacio llamado archivo de paginación y desde él, se libera RAM para que el
equipo pueda completar la tarea. Cuanto mayor sea la RAM del equipo, más
rápido tenderán a ejecutarse los programas. Si el equipo se ralentiza porque falta
RAM, puede considerar de aumentar la memoria virtual para compensar. Sin
embargo, el equipo puede leer datos de la RAM mucho más rápido que de un
disco duro, por lo que la mejor opción es agregar RAM.

Gestión De Memoria De Windows 10

Windows 10 utiliza memoria virtual


cuando la necesita o cuando la memoria empieza a llenarse, Windows 10 empieza
a comprimir páginas de memoria antiguas para que ocupen menos espacio

Objetivo de la gestión de memoria


a comprimir páginas de memoria antiguas para que ocupen menos espacio como
sucede cuando creas un fichero ZIP a partir de múltiples archivos, y en lugar de
copiar la información de ese programa al disco duro, Windows simplemente la
hará más pequeña, pero la mantendrá en memoria.

Antes de descomprimir una aplicación se debe

•Añadir más RAM: nada va a mejorar más tu sistema que mejorar el total de RAM.
Cuanto más espacio tengas en RAM, menos necesidad tendrá Windows 10 de
comprimirla.
• Elimina aplicaciones basura: la mitad de la basura que viene con tu PC es
innecesaria y está utilizando recursos. Borra todo lo que no necesitas.

Cierra las aplicaciones o pestañas que no necesitas: cuanto más cosas tengas
ejecutándose, más memoria será enviada al proceso System. En tu navegador,
cerrar o suspender pestañas que no has tocado en siglos y sabes que no volverás
a necesitar puede ayudar.

Como evitar el consumo de RAM

Una manera de disminuir la memoria RAM es


escribir en un bloc de notas freeMet =space (500000000) y guardarlo como
freeRAM de esa manera ya solo hará falta ejecutar el archivo que se generó y ver
el comportamiento mediante el administrador de tareas

El usuario puede desactivar los tips y sugerencias sobre Windows desde la


aplicación Configuración > Sistema > Notificaciones y acciones.
Con respecto al proceso Windows Shell Experience Host, el procedimiento es
igual de sencillo, pues basta con sacrificar la opción de personalización que ofrece
Windows 10 para tomar el color dominante de la imagen de fondo para establecer
en el menú inicio, azulejos y el resto de la interfaz. Para ello, el usuario debe ir a
Configuración > Personalización > Colores.
Luego de haber hecho esto, notarás que el consumo de RAM se ha reducido

Memoria lógica

Los programas a menudo están organizados en módulos, algunos de los cuales


pueden ser compartidos por diferentes programas, algunos son de solo-lectura y
otros contienen datos que se pueden modificar. Se escriben y se compilan
independientemente. La gestión de memoria es responsable de manejar esta
organización lógica, que se contrapone al espacio de direcciones físicas lineales.
Una forma de lograrlo es mediante la segmentación de memoria.

Memoria física
La memoria suele dividirse en un almacenamiento primario de alta velocidad y uno
secundario de menor velocidad. La gestión de memoria del sistema operativo se
ocupa de trasladar la información entre estos dos niveles de memoria.

BIBLIOGRAFIA

https://prezi.com/s_-k4ryedcq1/manejo-de-memoria-en-windows-7/

https://es.scribd.com/doc/244179500/GESTION-DE-MEMORIA-EN-WINDOWS-8-
docx

http://www.lemursolution.com/node/26

http://www.monografias.com/trabajos10/gesmem/gesmem.shtml#ixzz4boow6jjl

https://prezi.com/nrdoaqyn7ubs/gestion-de-memoria-de-windows-10/

Вам также может понравиться