Sunteți pe pagina 1din 5

Caracterstica pc

Una de las principales caracterstica de una computadora es la capacidad para almacenar datos e informacin El primero en tener la idea de almacenar programas en la pc fue John von neuman (participante en la eniac). El utilizo la memoria para almacenar datos y programas. La arquitectura Harvard existe una memoria especial para datos y otra para programas esto hace que los circuitos sean ms eficientes pero ms costosos a la vez La gran mayora de las computadoras incluyendo las pcs usan arquitectura von neuman La memoria principal se considera como un arreglo lineal de localidades de almacenamiento de un 1 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. Programa=algoritmo + estructura de datos la estructura de datos tiene pilas colas listas etc La memoria se puede ver como un casillero donde se almacena informacin. La memoria puede ser estatica o dinmica dependiendo de como se gestione. La memoria esta dividida en: secciones de cdigo datos estticos, pila y heap Todo sistema operativo tiene un mapa de memoria el cual indica como esta administrada la memoria y que partes se pueden ocupar La filosofa de administrador consiste en optimizar el uso de este recurso ya que la memoria es uno de los componentes crticos de todo sistema de computo Es que la memoria no es persistente por este motivo se tienen que implementar mtodos de almacenamiento y recuperacin de informacin. Las operaciones bsicas de memoria son lectura(r) y escritura(w). Llamadas al sistema como malloc,free y allocate tambie opciones de bloqueo y desbloqueo Todos los programas se expanden hasta llenar la memoria disponible para contenerlos No por tener el doble de memoria en un sistema legado este ser el doble de rpido. La memoria fsica es mas utilizado por muchos proceso en lugar de la memoria virtual. Todo proceso necesita de memoria fsica para poder ser ejecutado. Sirve para tener un control de los lugares donde se estn almacenando los procesos y datos que se estn utilizando actualmente Generalmente son durases decir no son modificables pero se pueden configurar algunos parmetros para su mejor uso Portapapeles:guarda datos de un programa y los transfiere a otros Uso de base de datos en memoria algunas versiones de mysql lie permiten hacerlo Guardar datos al apagar una computadora hibernar y suspender Los punteros que permiten desplazarnos por las localidades de memoria Un mecanismo de asignacin determina la cantidad de bloques que sern administrados en la memoria El esquema bsico de asignacin consiste en particionar(dividir) la memoria en diferentes partes Asignacin de una particin Asignacin de dos particiones Asignacin de mltiples particiones Determina en que lugar ser cargado un nuevo proceso en base a un cirterio

Jonh von neuman

Que hizo Arquitectura Harvard Que arquitectura se usa mas Como se considera la memoria Que es la memoria A que es igual un programa define memoria Partes de la memoria Mapa de memoria Filsofia del administrador Principal problemtica de memoria operaciones basicas Operaciones a nivel de sistema La ley de parkinson Memoria fsica el doble

Administrador de memoria Polticas d administracin de memoria Ejemplos de memoria

Mecanismos de asignacion Esquema bsico de asignacion Ejemplos de mecanismos de asignacion Estrategias de asignacin de memoria

Estrategias de asignacin ejemplos

Complejidad de los mecanismos y estrategias de asignacin de memoria

Primer ajuste Siguiente ajuste Peor ajuste Mejor ajuste Cualquier mtodo para manejar la disponibilidad de la memoria presentara inconvenientes como: Fragmentacin Relocalizacin de programas Overhead trashing Es un mtodo mediante el cual el sistema pertivo simula tener mas memoria principal de la que se tiene fsicamente, para implementar la memoria virtual se necesita de un medio de almacenamiento secundario de alta velocidad de acceso generalmente un disco duro Se usa la paginacin como mtodo de administracin d memoria bsica y algn mecanismo de intercambio Existen dos mtodos Demanda de pagina. Consiste en iniciar la ejecucin de los procesos si ninguna pagina cargada estas se irn cargando a medida que el proceso las requiera Pre paginacin: consiste en que el sistema operativo predice cuales paginas se ocuparan durante la ejecucin de un proceso. se utiliza para saber cuales paginas sern descargadas hacia el disco duro cuando se quieran cargar nuevas paginas y no haya memoria disponible FIFO: primero en entrar primero en salir LRU: menos usada recientemete MIN La problemtica entre dos o mas procesos sean locales o distribuidos al compartir recursos es que cada proceso tiene su propio espacio de direcciones, cuando se trata de procesos locales al estar en el mismo hardware el espacio de direcciones se vuelve sencillo al igual que la comparticin pero esto no es sencillo es procesos distribuidos En sistemas operativos distribuidos cada computadora ejecuta sus procesos en su memoria propia per en caso de necesitar mas memoria usara los recursos disponibles de otra maquina A que no se formen cuellos de botella facilita el diseo y la construccin de sistemas distribuidos. El esquema ms bsico de comparticin de datos en Sistemas Distribuidos es el paso de mensajes (e.g. sockets). La problemtica es la latencia y la garanta de acceso (puede llegar o no el mensaje). Existen tres formas bsicas de lograr comparticin de memoria en ambientes distribuidos: por hardware, por sistema operativo o a nivel de usuario (software). La comparticin de memoria se da por diversos esquemas, siendo las ms comunes: por paginacin, por variables compartidas y por objetos. El diseo de la granularidad de comparticin as como la sincronizacin y manejo de consistencia son elementos importantes en el diseo de mecanismos de memoria compartida. La forma ms rpida de comunicar dos procesos es que compartan una zona de memoria compartida. Las primitivas para manipular memoria compartida son: shmget para crear una zona d ememoria compartida o utilizar una ya creada, shmctl para acceder y modificar la informacin administrativa y de control, shmat para unir una zona de memoria compartida a un proceso, y shmdt para separa una zona previamente unida.

Concepto de memoria virtual Cual es el mtodo de administracin basica Mtodos para cargar programas en memoria

Algoritmo de descargar o remplazo Ejemplos de algoritmos de descarga remplazo La principal problemtica entre dos o mas procesos.

Cuando se usa memoria de otra computadora A que ayuda la memoria compartida d. Esquema mas bsico de comparticin de datos 3 formas bsicas para lograr comparticin de memoria en ambientes d. Esquemas de comparticin de memoria elementos importantes en el diseo de mecanismos de memoria compartida. Forma rpida de comunicar dos procesos Primitivas para manipular memoria

implantar fsicamente memoria compartida distribuida

Memoria basada en circuitos: existe una nica rea de memoria y cada micro tiene su propio bus de datos y direcciones (en caso de no tenerlo se vuelve un esquema centralizado) Diferencias entre UMA y NUMA? MCD basada en bus: en este esquema los micros comparten un bus de datos y direcciones por lo que es ms barato de implementar, se necesita tener una memoria cach grande y sumamente rpida.

La principal problemtica de la comparticin de memoria en ambientes distribuidos consiste Que se hace para prevenir Forma bsica de consistencia Que se debe considerar Modelo Consistencia estricta

MCD basada en anillos: es ms tolerante a fallos, no hay coordinador central y se privilegia el uso de la memoria ms cercana MCD basada en conmutador: varios micros se conectan entre s en forma de bus formando un grupo, los grupos estn interconectados entre s a travs de un conmutador. Cuando se realiza una operacin de memoria se intenta realizar dentro del grupo, de lo contrario pasa al conmutador para que lo redireccione a otro grupo. en el manejo de la consistencia ya que varios procesos distribuidos pueden estar escribiendo en la zona de memoria compartida pudiendo invalidar el contenido de las lecturas que acaban de hacer algunos procesos. Para prevenir esta problemtica se han planteado muchos mecanismos que permiten evitar la inconsistencia de los datos. Una forma bsica pero costosa es el manejo de replicacin slo se debe considerar la granularidad de la rplica as como la reintegracin de las modificaciones. Se deben considerar el tipo de datos que se estn compartiendo: pginas, variables, objetos, etc. Este modelo es el ms robusto pero sumamente difcil de implementar. Cualquier lectura a la localidad de memoria x retorna el valor almacenado por la ltima operacin de escritura (antes de la lectura). Supone la existencia de un tiempo global. Determinar cul fue la escritura ms reciente no siempre es posible. Como se vio en la segunda unidad la sincronizacin del tiempo es complicado en SOD, por este motivo se sugiere que la consistencia de los datos modificados sea de forma causal. Si un proceso desea leer (read) un dato en memoria existir siempre un proceso que haya escrito (write) previamente en memoria. De esta forma siempre se tiene el ltimo valor escrito. Si dos procesos escriben espontneamente y simultneamente una variable, estos accesos no estn relacionados causalmente. La implementacin de este esquema se da a travs de grafos de dependencia para determinar cules operaciones son dependientes de otras y cules son concurrentes. Fue propuesta por Lamport en 1977 y basa su funcionamiento en que la consistencia estricta es prcticamente imposible de implementar en un sistema distribuido y que la experiencia demuestra que a un programador le bastan modelos ms dbiles. Este modelo basa su funcionamiento en ordenar (seriabilizar) los accesos de memoria, de esta forma se evitan inconsistencias. Se necesita de un coordinador central que maneje la secuencialidad de las operaciones. La principal problemtica es que el orden impuesto puede ser diferente al orden real o deseado. En muchos casos el problema de la seriabilizacin es no determinista.

Modelo de Consistencia causal

Implementacin modelo de consistencia causa

Consistencia secuencial

Consistencia PRAM

Consistencia debil

Dos ejecuciones del mismo programa podran no arrojar el mismo resultado a menos que se utilicen operaciones explicitas de sincronizacin El modelo Pipelined RAM basa su funcionamiento en que las escrituras realizadas por un proceso, son recibidas por el resto en el orden en el cual stas fueron ejecutadas, no obstante, las escrituras realizadas por diferentes procesos pueden ser vistas en rdenes diferentes por todos ellos Fue propuesta por Dubois en 1986 y basa su funcionamiento en que los modelos anteriores de consistencia se consideran an restrictivos porque requieren que las escrituras de un proceso se vean en orden. Esto no siempre es necesario. Por ejemplo, cuando se est en una regin crtica no es necesario propagar valores intermedios sino los valores finales. Para poder implantar este modelo se necesita de una variable de sincronizacin. Los accesos a las variables de sincronizacin son secuencialmente consistentes: todos los procesos ven todos los accesos a las variables de sincronizacin en el mismo orden No se permite el acceso a ninguna variable de sincronizacin hasta que todas las escrituras previas se hayan completado: Hacer una sincronizacion despus de operaciones de escritura obliga a que los nuevos valores se propaguen a todas las memorias. El hacer una operacin de sincronizacin antes de leer los datos, le garantiza a un proceso que leer los ltimos valores. Adems, la operacin de sincronizacin garantiza que las escrituras locales sean propagadas a todas las otras mquinas y se actualiza la memoria actual con escrituras hechas remotamente. Existen variantes a este modelo como los modelos de consistencia relajada, de liberacin y de entrada por mencionar algunos. En este esquema se tiene un nico espacio de direcciones virtuales para todo el sistema. Cuando ocurre un fallo de pgina implica acceder a memoria disponible en otra computadora. La idea es que los programas no deban de ser modificados. Un ejemplo de este esquema es el sistema Igvy. Se recomienda tener mltiples copias de pginas para mejorar rendimiento* Cada pgina tiene asociado: Un estado: R (slo lectura) o W (lectura/escritura) Un propietario: el ltimo proceso que la modific Pgina W slo 1 copia en mquina propietaria Otros factores a considerar son: Replicacin Estructura Localizacin de los datos Polticas de escritura Poltica de reemplazo de pginas Modelos de consistencia Se recomienda replicar slo las pginas R o bien, todas las pginas con la problemtica de la reintegracin. En cuestin de localizacin de los datos se debe tomar en cuenta si se va a hacer local, esquema centralizado o distribuido. En cuanto a polticas de reemplazo se utiliza ampliamente LRU.

Implantar modelo consistencia debi

Mcd basada en paginas

Diseo de MCD basada en Pginas

Vasada en variables

En este esquema la granularidad es ms fina ya que slo se comparten variables que han sido marcados previamente en el cdigo del programa. Tanto el compilador como el entorno de ejecucin se encargan del acceso y comparticin de las variables compartidas. Ejemplos: Munin y Midway Se recomienda la duplicacin. sta puede ser parcial o total. El Algoritmo de actualizacin es sumamente importante. No hay comparticin falsa dado que todos los procesos acceden a datos protegidos y consistentes dado que la variable compartida monitoriza los accesos de escritura. Nace como respuesta a la creciente popularizacin de los lenguajes orientados por objetos. Los datos se organizan y son transportados en unidades de objetos, no unidades de pginas. Ejemplos: Linda y Orca Estructura de datos encapsulada definida por el programador. Se componen de datos internos (estado) y operaciones o mtodos. Cumplen con la propiedad de ocultamiento de la informacin, por lo que contribuyen con la modularidad. No existe una memoria lineal en bruto. La localizacin y administracin de los objetos es controlada por el sistema de tiempo de ejecucin. Los objetos se pueden duplicar o no. En caso de duplicarse, hay que decidir cmo se harn las actualizaciones. Evitan el compartimiento falso. Sus principales desventajas son que no soportan programas multiprocesadores antiguos y el costo adicional que genera el acceso indirecto a los datos.

S-ar putea să vă placă și