Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MEMORIA
Curso:
ARQUITECTURA DE COMPUTADORAS
Docente:
SANDOVAL JIMENEZ, Jos
Alumnos:
GUEVARA SALDAA, Eder
LACHIRA PEA, Arnold
SANCHEZ GOVEA, Giancarlo
URBINA GALLO, Jhonny
TELLO PAREDES, Angel
Ciclo:
2016 - II
Los sistemas de memoria virtual separan las direcciones de memoria utilizadas por
un proceso de las direcciones fsicas reales, permitiendo la separacin de procesos e
incrementando la cantidad efectiva de memoria de acceso aleatorio utilizando
la paginacin. La calidad de la gestin de la memoria es crucial para las prestaciones
del sistema.
Para poder lograrlo, la operacin principal que realiza es trasladar la informacin que
deber ser ejecutada por la unidad central de procesamiento o procesador, a
la memoria principal. Actualmente esta administracin se conoce como memoria
virtual, porque no es la memoria fsica del procesador sino una memoria virtual que la
representa. Entre algunas ventajas, esta memoria permite que el sistema cuente con
una memoria ms extensa teniendo la misma memoria real, por lo que esta se puede
utilizar de manera ms eficiente. Y por supuesto, que los programas que son utilizados
no ocupen lugar innecesario.
Las tcnicas que existen para la carga de programas en la memoria son: particin fija,
que es la divisin de la memoria libre en varias partes (de igual o distinto tamao) y la
particin dinmica, que son las particiones de la memoria en tamaos que pueden ser
variables, segn la cantidad de memoria que necesita cada proceso.
Reasignacin
En los sistemas con memoria virtual, los programas durante su ejecucin pueden salir
por un tiempo de la memoria y luego regresar, de modo que no pueden colocarse en
el lugar que ocupaban previamente. Por ello debe ser posible que residan en diferentes
partes de la memoria en diferentes momentos. As, la gestin de memoria en el sistema
operativo debe ser capaz de trasladar los programas en memoria y manejar referencias
a la memoria y las direcciones en el cdigo del programa para que siempre apuntan a
la ubicacin correcta. La unidad de gestin de memoria virtual tambin debe hacer
frente a la concurrencia.
Proteccin
Los procesos no deberan poder referenciar la memoria de otros procesos sin permiso,
para evitarlo existe la proteccin de memoria, que evita que cdigo malicioso o
errneo de un programa interfiera con la operacin de otros programas en ejecucin.
Memoria compartida
Aunque la memoria utilizada por diferentes procesos suele estar protegida, algunos
procesos puede que s tengan que compartir informacin y, para ello, han de acceder la
misma seccin de memoria. La memoria compartida es una de las tcnicas ms rpidas
para posibilitar la comunicacin entre procesos.
Organizacin lgica
Los programas a menudo estn organizados en mdulos, 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 gestin de memoria es responsable de manejar esta
organizacin lgica, que se contrapone al espacio de direcciones fsicas lineales. Una
forma de lograrlo es mediante la segmentacin de memoria.
Organizacin fsica
De esta forma, las tablas simplificadas de cada proceso se ven de esta forma:
Al usar pginas de 4096 bytes, todas las ubicaciones dentro de una pgina pueden ser
representadas por 12 bits, en el sistema binario (212=4096), lo que deja 4 bits para
representar el nmero de pgina. Si las pginas hubieran sido de la mitad del tamao
(2048) se podran tener 5 bits para el nmero de pgina, lo que significa que a menor
tamao de pgina se pueden tener tablas con ms pginas.
Cuando el pedido de acceso a memoria es realizado, la MMU busca en la tabla de
pginas del proceso que realiz el pedido por la relacin en memoria fsica. En nuestro
ejemplo, la pgina nmero 2 del proceso A corresponde al marco nmero 2 en
memoria fsica, con direccin real 1000:2000, por lo tanto, la MMU devolver la
direccin del marco en memoria fsica, con el desplazamiento dentro de esa pgina:
1000:20FE.
SEGMENTACIN DE MEMORIA
La segmentacin es una tcnica de gestin de memoria que pretende acercarse ms al
punto de vista del usuario. Los programas se desarrollan, generalmente, en torno a un
ncleo central (principal) desde el que se bifurca a otras partes (rutinas) o se accede a
zonas de datos (tablas, pilas, etc.).
Hardware de segmentacin
Rendimiento
Permisos
Una de las principales ventajas del uso de segmentacin es que nos permite pedir a
la unidad de gestin de memoria que cada uno de los segmentos tenga un
distinto juego de permisos2 para el proceso en cuestin: El sistema operativo puede
indicar, por ejemplo, que el segmento de texto (el cdigo del programa) sea de lectura
y ejecucin, mientras que la seccin de datos es de lectura y escritura. De este modo
podemos evitar que un error en la programacin resulte en que datos proporcionados
por el usuario o por el entorno modifiquen el cdigo que est siendo ejecutado.
Sin embargo, incluso bajo este esquema, dado que la pila de llamadas (stack) debe
mantenerse como escribible, es comn encontrar ataques que permiten modificar la
direccin de retorno de una subrutina.
Incluso, dado que el acceso de ejecucin est limitado a slo los segmentos cargados
del disco por el sistema operativo, el atacante no podr introducir cdigo ejecutable
tan fcilmente Tendra que cargarlo como un segmento adicional con los permisos
correspondientes.
Intercambio parcial
PAGINACION SEGMENTADA
Esta consiste en tomar la memoria dividirla en pginas del mismo tamao y luego cada
pgina segmentarla dependiendo del uso que se le d a esta pgina, veamos un
ejemplo:
SEGMENTACIN PAGINADA
Paginacin y segmentacin son tcnicas diferentes, cada una de las cuales busca
brindar las ventajas enunciadas anteriormente.
A nivel de paginacin, si quiere referenciar en forma cclica n pginas, estas debern ser
cargadas una a una, generndose varias interrupciones por fallas de pginas. Bajo
segmentacin, esta pgina podra conformar un slo segmento, ocurriendo una sola
interrupcin por falla de segmento. No obstante, si bajo segmentacin se desea
acceder un rea muy pequea dentro de un segmento muy grande, este deber
cargarse completamente en memoria, desperdicindose memoria. Bajo paginacin slo
se cargar la pgina que contiene los tems referenciados.
Las direcciones tienen tres componentes: (s, p, d), donde la primera indica el nmero
del segmento, la segunda el nmero de la pgina dentro del segmento y la tercera el
desplazamiento dentro de la pgina. Se debern usar varias tablas:
- SMT (tabla de mapas de segmentos): Una para cada proceso. En cada entrada de la
SMT se almacena la informacin descrita bajo segmentacin pura, pero en el campo de
direccin se indicara la direccin de la PMT (tabla de mapas de pginas) que describe a
las diferentes pginas de cada segmento.
- PMT (tabla de mapas de pginas): Una por segmento; cada entrada de la PMT
describe una pgina de un segmento, en la forma que se present la pgina pura.
- TBM (tabla de bloques de memoria): Para controlar asignacin de pginas por parte
del sistema operativo.
- JT (tabla de Jobs): Que contiene las direcciones de comienzo de cada una de las SMT
de los procesos que se ejecutan en memoria.
MEMORIA VIRTUAL
Es la posibilidad de ejecutar un programa que no est totalmente en memoria. Tiene
sentido pues hay zonas del programa que puede que no sean referenciadas nunca:
condiciones de errores poco frecuentes
opciones poco usadas
variables sobredimensionadas
Ejecutar un programa que no est totalmente en memoria permite que:
Los programas puedan ser ms grandes que la memoria fsica instalada en la
maquina
Se pueda aumentar el grado de multiprogramacin
Sea necesaria menos e/s para intercambiar programas
La forma ms usual de implementarla es con paginacin bajo demanda. Puede
implementarse con segmentacin bajo demanda pero puede requerir hacer
compactaciones (IBM OS/2 hasta 1.3 lo haca).
- El HARDWARE debe suministrar una tabla de pginas con un bit que indique la
presencia (o no) de la pgina en memoria de manera que:
Se referencia una pgina cuya entrada en la tabla de pginas tiene el bit de
presencia a 1: se accede normalmente
Se referencia una pgina cuya entrada en la tabla de pginas tiene el bit de
presencia a 0: se produce una excepcin
2. Transferencia de la pagina
Esperar en cola de dispositivo
Esperar tiempo de bsqueda y latencia
Transferir pgina al marco
Actualizar tabla de paginas
3. Reanudar proceso
Restablecer estado de proceso
Reanudar ejecucin
Rendimiento de la paginacin bajo demanda: ejemplo
LINKOGRAFIA
http://tododemicroprocesadores.blogspot.pe/2012/08/gestion-de-memoria-
segmentacion-y.html
https://es.wikipedia.org/wiki/Segmentaci%C3%B3n_de_memoria
https://es.wikipedia.org/wiki/Paginaci%C3%B3n_de_memoria
http://eccisistemasoperativos.blogspot.pe/2012/11/corte-3-entrada-17-paginacion-y-
son.html
https://books.google.com.pe/books?id=wXzwFPaVku0C&pg=PA109&lpg=PA109&dq=
paginacion+segmentada&source=bl&ots=yBjixWu96p&sig=MRpoNRvS_1jCM9JcE9TlF
1nGoY0&hl=es&sa=X&ved=0ahUKEwjw8ui-
lf7RAhXKx1QKHZrdAlsQ6AEIOTAF#v=onepage&q=paginacion%20segmentada&f=fals
e