Académique Documents
Professionnel Documents
Culture Documents
AGUASCALIENTES
CENTRO DE CIENCIAS BSICAS
DEPARTAMENTO DE SISTEMAS
ELECTRNICOS
ACADEMIA DE REDES
MATERIA:
Sistemas Operativos
PROFESOR:
Francisco Guillermo Gutirrez Njera
Carrera:
ISC 4B
INTEGRANTES:
Aracely Lpez Jurez
Gabriela Monserrat Guerrero Medina
Sandi Citlaly Chvez Almanza
SIMULADOR DE MEMORIA
15-JUN-16
Introduccin:
La memoria principal es donde se almacenan temporalmente tanto los datos como los
programas que la CPU est procesando o va a procesar en un determinado momento,
es importante que la memoria tenga un control en la forma de asignacin de espacio a
cada proceso, en base a esto, el objetivo de este proyecto es generar las tcnicas de
colocacin de memoria usando los algoritmos de mejor, peor, y primer ajuste. Para ello
se desarroll un simulador de memoria en el cual se puede observar la forma en cmo
funcionan los algoritmos mencionados an ms en este reporte daremos una breve
explicacin de los algoritmos.
La memoria principal
La memoria es el componente central en la arquitectura de un computador
Es el nico dispositivo que la CPU puede acceder directamente
La CPU lee instrucciones y lee o modifica datos de la memoria durante lee
instrucciones y lee o modifica datos de la memoria durante cada ciclo de
instruccin.
Las operaciones de Las operaciones de E/S con DMA E/S con DMA (acceso
directo a memoria acceso directo a memoria) escriben/leen datos en memoria.
La memoria principal puede ser considerada como un arreglo lineal de
localidades de almacenamiento de un byte de tamao. Cada localidad de
almacenamiento tiene asignada una direccin que la identifica.
La memoria principal es el lugar donde el CPU lee las instrucciones a ejecutar,
as como algunos datos a emplear.
Las funciones bsicas que lleva acabo el S.O. con relacin a la memoria son :
la Administracin de la Memoria para tener un control sobre los lugares donde
estn almacenados los procesos y datos que actualmente se estn utilizando.
Debe ser un asignador de recursos lo que implica que para cada recurso.
-Debe llevar contabilidad del recurso
-Debe tener una poltica de asignacin del recurso
-Debe asignar el recurso a los procesos que lo necesiten
-Debe recuperar el recurso cunado los procesos ya no lo necesitan
S.O. debe llevar contabilidad de la memoria
El S.O. tiene que llevar contabilidad de la memoria disponible en el sistema: la
memoria no contabilizada por el S.O. no est disponible para los procesos
El S.O. tambin tiene que llevar una contabilidad por proceso
El S.O. asigna memoria a los procesos cuando se inicia su ejecucin y cuando
la solicitan.
PARTICIN:
Existen varias formas para gestionar la memoria, pero nos enfocaremos es la
particin, que es en lo que est basada la simulacin de memoria realizada.
Se define como particin lo siguiente:
Es el nombre que recibe cada una de las divisiones en una sola unidad fsica de
almacenamiento de datos dndole a cada particin un propio sistema de archivo llamado
formato, la gran mayora de los sistemas operativos reconocen, utilizan y manipulan a
una particin como un disco fsico independiente sabiendo que estn en un solo disco
fsico.
En los sistemas de particiones para cada proceso se van creando a medida que son
asignadas al procesador. Tiene como ventaja principal que evitamos el desperdicio de
memoria dentro de cada bloque ya que cada uno est hecho a medida para el proceso
que contiene. Por el contrario, una vez que un proceso ha concluido, su particin se
queda en desuso y sera necesario aplicar algoritmos de desfragmentacin de memoria
(supone un alto coste de rendimiento) para poder unificar todas las partes que han
quedado libres y as reciclar las particiones que quedaron hurfanas. Otra forma de
obtener particiones de mayor tamao es unificar dos o ms huecos adyacentes en uno
slo.
PARTICIONES FIJAS
Consiste en dividir la memoria libre en varias partes de igual tamao o de diferentes
tamaos. En el caso de la particin fija de partes iguales, se plantean dos dificultades:
Un programa puede ser demasiado grande para caber en la particin. En este caso, el
programador debe disear el programa mediante superposiciones, para que slo una
parte del programa est en memoria principal. Cuando se necesita un mdulo que no
est presente, el programa de usuario debe cargar dicho mdulo en la particin del
programa, superponindose a los programas y datos que se encuentren en ella.
El uso de memoria principal es extremadamente ineficiente. Cualquier programa, sin
importar lo pequeo que sea, ocupar una particin completa. Supongamos un
programa que ocupa 120 Kb y se carga en una particin de 512 Kb, se malgasta el
espacio interno de la particin y sto se denomina fragmentacin interna.
En el caso de particiones de igual tamao, si todas las particiones estuvieran
ocupadas con procesos que no estn listos para ejecutar y necesita cargarse un nuevo
proceso, debe determinarse qu particin expulsarse de memoria. Esta decisin es una
decisin de planificacin, que se ver en un captulo prximo.
Pero en el caso de particiones de distintos tamaos, debe determinarse en que
particin (por cuestiones de tamao) se cargar el nuevo proceso. La forma ms simple
es asignar cada proceso a la particin ms pequea en que quepa (sin importar si la
particin est cargada o no), lo que necesitar de una cola de expulsados para cada
particin. Otra forma es asignar el proceso a la particin ms pequea entre aquellas
que estn libres (usando una nica cola para todos los procesos); y si todas las
particiones estn ocupadas, se debe tomar una decisin de intercambio.
Estamos suponiendo con este mtodo que conocemos la cantidad mxima de
memoria que necesitar un proceso, lo que no siempre es cierto.
Con la creacin de estas particiones se comienza a ver la multiprogramacin, una
particin fija por cada tarea, el tamao de la particin se daba al arrancar el sistema
cada particin se poda reconfigurar al volver encender o reiniciar el sistema. con estas
particiones nos aparece la fragmentacin interna.
ALGORITMO DE UBICACIN: Si se llega a tener alguna particin libre un proceso se
puede cargar en esta y si se llega a tener todas las particiones llenas se saca un proceso
que no est listo para ejecutarse para que el proceso que se va a ejecutar pase a tomar
su lugar dentro de la particin.
Particiones dinmicas:
Con esta particin, las particiones son variables en nmero y longitud, esto quiere decir
que cuando se carga un proceso a memorial principal se le asigna el espacio que
necesita en memoria y no ms.
Tras el ingreso de nuevos procesos y la expulsin de otras, se generarn huecos de
memoria inutilizados. Conforme pasa el tiempo, la memoria comienza a estar ms
fragmentada y su rendimiento decae; este fenmeno se denomina fragmentacin
externa.
Una tcnica para superar la fragmentacin externa es la compactacin. De vez en
cuando, el sistema operativo desplaza los procesos para que estn contiguos de forma
que toda la memoria libre quede junta en un bloque. Las dificultades que presenta la
compactacin son:
- Es un procedimiento que consume tiempo de trabajo del procesador.
- Debe realizarse los movimientos de una regin a otra, sin invalidar las referencias a
memoria del programa.
PRIMER AJUSTE
El Sistema Operativo asigna el primer bloque de memoria libre con espacio suficiente
para satisfacer la informacin, es decir, asignar el primer hueco disponible que tenga un
espacio suficiente para almacenar el programa.
La bsqueda de este bloque es de manera secuencial.
La principal desventaja es el reiterado uso de las primeras posiciones de memoria. Este
ltimo inconveniente repercute negativamente en la circuitera, debido a que se produce
un mayor desgaste en dichas posiciones.
PEOR AJUSTE:
El sistema operativo asigna el bloque ms grande que encuentre.
Al contrario que el criterio anterior, se busca el hueco con mayor desperdicio interno y
el hueco el cual al serle asignado el proceso deja ms espacio sin utilizar, y se corta de
l el trozo necesario (as la porcin sobrante ser del mayor tamao posible y ser ms
aprovechable). Tiene el mismo inconveniente en cuanto a orden de complejidad que el
mejor ajuste (debido a la longitud de las bsquedas) y la fragmentacin no resulta
demasiado eficiente.
Conclusiones:
Equipo:
Integrantes: