Vous êtes sur la page 1sur 8

UNIVERSIDAD AUTNOMA DE

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.

ALGORITMO DE UBICACIN: Ya que la compactacin (mtodo que sirve para la


recuperacin de memoria externa) es muy demorado el diseador del sistema operativo
decida como asignar un proceso a la memoria.
Existen tres algoritmos de ubicacin:
MEJOR AJUSTE
El sistema operativo busca el bloque de memoria que represente el menor desperdicio
segn el requerimiento.
Consiste en asignarle al proceso el hueco con menor desperdicio interno, i.e, el hueco
el cual al serle asignado el proceso deja menos espacio sin utilizar. Su mayor
inconveniente es su orden de complejidad (orden lineal, O(n)) debido a que hay que
recorrer todo el mapa de bits o toda la lista de control (una posible solucin seria usar
una lista de control encadenada que mantenga los huecos ordenados por tamao
creciente). Otro problema es la fragmentacin externa, debido a que se asigna el menor
hueco posible, el espacio sobrante ser del menor tamao posible lo que da lugar a
huecos de tamao normalmente insuficiente para contener programas.

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:

Aracely Lpez Jurez


Este examen prctico me ayud a comprender de una manera muy grfica la forma de
trabajar de la memoria principal en las computadoras. En realidad yo no haba pensado
cmo es que se van almacenando los procesos para su funcionamiento, y es muy
interesante que la misma mquina ordena su entrada y su salida para ahorrar memoria
dando espacio de una manera inteligente para un mejor rendimiento del equipo.
En lo personal creo, y supongo que cualquiera que haya visto este tema, que el algoritmo
del mejor ajuste es la mejor opcin, ya que mediante varias comparaciones va
acomodando los procesos que ocupan menos espacios en las particiones con menor
tamao, pudiendo as ahorrar mucho espacio. Sin embargo con el de primer ajuste,
como es una cola o una pila lo que va almacenando los procesos, es posible que entre
un proceso muy pequeo en un espacio muy grande. Y el de peor... pues bueno, su
nombre lo dice. Es muy inconveniente que los procesos siempre estn buscando la
particin de mayor tamao, porque entre ms espacio ocupen, menos lugares
encontrarn.

Gabriela Monserrat Guerrero Medina


Al hacer la realizacin de este examen, tuvimos la necesidad de tener que
comprender muy bien el funcionamiento de la memoria principal, los diferentes
algoritmos que se pueden utilizar para el ajustar y acomodar en ella misma los
diferentes procesos fijos que se ejecutan, las particiones o bloques que tiene la
memoria para poder realizar dichos ajustes, las tcnicas que se puede hacer,
manejar su capacidad y su tiempo de ejecucin, as como la comparar entre esos
diferentes mtodos cules el mejor o el peor.
Para ello obtuvimos estadsticas que nos permiten ver cul es el ms ptimo.
Con este examen tambin tuvimos otra oportunidad de programar lo terico que
conocimos y poderlo ver en un funcionamiento ms grfico, para as tambin
tener la facilidad de poder mostrarle a alguien ms dicho funcionamiento.

Sandi Citlaly Chavez Almanza


La memoria es uno de los principales e importantes componentes de una
computadora, pues esta es donde se almacenan y pueden ser ejecutados los
programas, por ello se debe hacer una correcta gestin o administracin de la
misma para que todo se ejecute de una manera ms eficiente.
Durante la elaboracin de este proyecto me di cuenta que existen varios
algoritmos que emplea el S.O. para la asignacin de memoria a cada proceso
que se est ejecutando, o listo para ejecutar. En nuestro caso vimos tres
algoritmos:
Primer ajuste: este algoritmo va asignndole memoria a una proceso de manera
no muy eficiente se puede decir ya que el primero bloque de memoria disponible
agrega el proceso sin importar el desperdicio de esta.
El mejor ajuste: que como su nombre lo dice, hace mejor la asignacin de
memoria, este da el espacio buscando no desperdiciar bloques de memoria trata
de ajustar un proceso en el espacio que se le sea permitido dar de acuerdo al
proceso y que quede disponible para procesos posteriores.
El peor que pues toma el espacio que encuentra, sin importar si se desperdicia.
Fue un proyecto pesado pero interesante.
Bibliografa
https://1984.lsi.us.es/wiki-
ssoo/index.php/SO_multiprogramables_con_particiones_variables
http://www.gayatlacomulco.com/tutorials/sistemasoperativos2/unidad1.htm
http://sistemasoperativos-memoria.blogspot.mx/2013/05/particiones-fijas-y-
dinamicas.html
http://www.angelfire.com/pro2/ssj05/75.htm
Operating System internals and Desing Principles William Stallings 7th edition 2011

Vous aimerez peut-être aussi