martes, 28 de mayo de 2013

Conclusion de Exposiciones

Bueno Ademas de las clases se no enseño a ser autodidactas siempre nos toco averiguar y aprender o al menos repasar sobre algunos temas.. en las exposiciones siempre se nos da ese tiempo de saber explicar el tema pero antes de eso a buscar a informarse a hacerse entender frente a nuestros compañeros. Encuanto a las exposiciones de los compañeros me parecieron bien estudiadas aunque en algunas quedaron detalles que tocaria reforzar pero de resto estuvo bien.

Conclusion Final del curso.

Bueno me parece que a lo largo del semestre se tomaron las clases según lo establecido abordando muy bien cada tema y aclarando todas las dudas posibles, personalmente aprendí mas de lo que esperaba cuando entre a tomar este curso. El sistema operativo no solo una pantalla gráficos y demás características que la tecnología ha venido desarrollando, si no que hay muchos conceptos procesos que hacen que todo funcione como uno solo para presentarlo como una herramienta frente a un usuario final, ahora queda mas claro, se genera una mayor visión de todo lo que se puede llegar a hacer con un sistema operativo y sus funciones no solo en un computador, si no que también en electrodomésticos de uso diario celulares y demás..
La temática y herramientas que adoptamos para nuestro aprendizaje fueron optimas, y siempre llegando a una autoevaluacion frente a la clase y frente a nosotros mismos. fue una manera distinta de llegar a un aula y aprender. Fue mas que excelente.

Taller Concurrencia y Exclusion Mutua

Taller de Interbloqueo

Estructura de Hardware

Proceso: Conjunto de rutinas para hacer algo.
Tablas de memoria: conocer estado de la memoria, interacción entre la BIOS y la memoria RAM.
Tabla E/S: utilizar los dispositivos.
Tablas de Archivo: Existencia de los archivos.
Tablas de procesos: Dónde está ubicado el proceso, atributos del proceso necesarios para su administración.
BCP: Cada vez que se crea un proceso se crea un BCP, cuando el proceso se elimina el BCP queda guardado para un posterior uso.
Comunicación entre procesos:
Privilegios de los procesos.
Gestión de memoria: apuntadores de página.
Kernel ó núcleo: núcleo del sistema operativo, se manejan las compuertas lógicas.
Cambio de proceso: cuando se puede dar con la interrupción de reloj, se ejecuta un proceso por mucho tiempo.

Conjunto Residente

Conjunto residente es el numero de paginas de un proceso que estan alojadas en un marco de memoria principal..

Si se asignan muchos marcos a un proceso
* Se reduce el nivel de multiprogramacion
* La tasa de fallos se mantiene baja

Si se asignan pocos marcos a un proceso
* Se aumenta la tasa de fallos de pagina.

Tamaño: Con memoria virtual paginada no es necesario y puede no ser posible, traer todas las paginas de un proceso a la memoria principal para preparar su ejecucion. El sistema operativo debe decidir cuanta memoria principal asigna a un proceso.
Cuanto menor es la cantidad de memoria asignada a un proceso mayor es el numero de procesos que pueden estar simultaneamente en MP.
Si en MP hay un numero pequeño de paginas en un mismo proceso el porcentaje de fallos de pagina sera mayor.

Politicas:
* Estatica: El tamaño del conjunto residente se fija en el arranque del proceso
* Dinamica: El tamaño del conjunto residente puede variar a lo largo de la ejecucion del proceso

Paginacion

El mapa de memoria de cada proceso  esta dividida en paginas, asi como tambien la memoria principal a estas divisiones se les conoce como marcos de pagina..Debido a que solo la parte de la memoria virtual esta almacenada en la memoria principal es accesible a la Cpu segun un programa va ejecutandose  la proximidad de referencia cambia necesitando que algunas partes de la memora virtual se traigan a la memoria principal desde el disco, mientras que otras ya ejecutadas se pueden volver a depositar en el disco. (Archivos de paginacion).

Paginacion: La memoria virtual usualmente es implementada usando paginacion. en paginacion los bits menos significativos de la direccion de memoria virtual son preservados y usados directamente como los bits de orden menos significativos de la direccion de memoria fisica. los bits mas significativos son usados como una clave en una o mas tablas de traduccion de direcciones.. para encontrar la parte restante de la direccion fisica buscada.

Carga y montaje

El primer paso para la creación de un proceso consiste en cargar un programa en memoria principal y crear una imagen del proceso..

Carga Absoluta: Necesita que el modulo de carga ocupe siempre la misma posicion en memoria principal de tal manera que no ocurra un fallo de pagina.

Carga Reubicable: El ensamblador no generara direcciones reales en memoria principal si no direcciones relativas de algun punto conocido.Es Simple Si el modulo va a ser cargado comenzando con la posicion X, el cargador siempre generara X a cada referencia a la memoria a medida que carga el modulo en memoria.

Carga Dinamica en Tiempo de Ejecucion: el calculo de direcciones dinamicas proporciona una completa flexibilidad. Un programa puede crgarse en cualquier region de la memoria principal.La ejecucion del programa puede interrumpirse y el programa ser descargado de la memoria principal para ser posteriormente cargado en una posicion diferente. la direccion absoluta no se calcula hasta que se ejecuta la instruccion.

Montaje: Consiste en tomar como entrada una coleccion de modulos objetos y generar un modulo de carga que contenga modulos de programa y de datos para el cargador. el montador lo que hace es crear un modulo de carga que es concatenacion de todos modulos objetos. A demas cada referencia interna de un modulo debe cambiarse de direccion simbolica a una posicion dentro del modulo de carga total.

Editor de montaje: El montaje de direcciones dependera del tipo de modulo de carga y de cuando se produzca el montaje.

Montador de montaje: Como en la carga es posible aplazar algunas funciones de montajes se emplea para resaltar el montaje de algunos modulos externos hasta que el modulo de carga se halla creado.

Paginacion y Segmentacion de Memoria Virtual

Memoria virtual:

No controla el administrador del disco, si llega un archivo para que deba ser almacenado en el disco duro el controlador verifica si hay el espacio disponible para ese archivo , le dice al procesador su archivo quedo ubicado en determinada posición , mientras que la cache del disco empieza a guardar el archivo que se envió en el disco duro esto lo hace la cache del disco y el controlador, cuando se habla de memoria virtual se habla de un segmento del disco duro ,se trabaja con la cabeza lectora directamente con DMA donde maneja la memoria principal y la memoria virtual , todo lo que se reservo en el disco duro se convierte en basura , cuando el disco esta saturado y ya no hay espacio suficiente para ingresar la memoria virtual decae porque el procesador no puede hacer referencia a la memoria que necesita , sino por que el sistema operativo a partir de windows 95 esta diseñado para que sea interactivo con la memoria virtual , si no hay espacio en disco causara poco rendimiento del procesador ,para los procedimientos de paginacion y segmentación con memoria virtual se van a dividir dependiendo del tipo de política que se va a dividir si hablamos de paginacion decimos cada proceso se divide en paginas que son de mismo tamaño todas que corresponde en marcos de pagina del mismo tamaño todas  esto lo hace posible las administraciones de la memoria principal.

Hiperpaginacion

FALLO DE PAGINA
Si el procesador encuentra una dirección lógica que no esta en el proceso genera una interrupción indicando un fallo de acceso a la memoria , se produzca por que no esta en la memoria principal, si hay un proceso a y se hace referencia en lo que tiene c hay se produce un fallo de pagina porque se hace el proceso a asi los otros archivos estén en memoria principal 
mmu= unidad de manejo de memoria 

cuando la pagina reverenciada no se encuentra en la memoria principal, EN HARDWARE el sistema operativo hace una interrupción  y va a pasar el proceso al estado bloqueado , para que se pueda volver a ejecutar debe hacer una solicitud de lectura al disco y cargar en la memoria principal la pagina que hace falta para que el proceso pueda ejecutarse, mientras que el sistema operativo hace la solicitud de lectura, le da la vía libre para que otro proceso pueda ejecutarse.





FUNCIÓN DE INTERCAMBIO 
se produce un fallo de pagina si no hay fallo de pagina es necesario la función de intercambio? no porque no necesita acede a la memoria virtual , donde todas las direcciones lógicas están traducidas a direcciones físicas reales donde es el proceso que esta en ejecución , como ya están traducidas se continua la ejecución, que es la función de intercambio? el proceso va a intercambio mientras le ejecuta la función pueda utilizar el procesador donde determina cual de las paginas se encuentra en todos los procesos de la memoria principal es la pagina candidata a bajarse de la memoria principal donde esa candidata tiene en cuenta 4 bits que se genera con base en la recurrencia de su utilización 1 bit= memoria principal modificada 0 bit = memoria virtual= no modifica = no leída , buscar la pagina candidata , cuando ya se tiene seleccionada la pagina 

1) buscar pagina candidata
2)ubicar en pag a la m
3)subir la pag referencia da a la memoriua principal en el marco de la pag comlidata
4) mover a la memoria virtual la pagina candidata






Ventajas:
genera una utilización eficiente del procesador , el tamaño de la pagina puede ser muy pequeño .
es posible que un proceso sea mas grande que la memoria principal(no se puede ejecutar el proceso porque no cabe en memoria )

HIPERPAGINACION

es el error que mas frecuentemente se da si no se utiliza bien las dos funciones anteriores, se presenta en el momento que se hace una intercambio , por que otro proceso tubo un fallo de pagina y el proceso que llego a ejecución necesita la pagina que justo cargo el sistema para que ese marco llegara la pagina que estaba solicitando el proceso anterior, destruye el flujo de procesos , debe evitarse 



Principio De cercanía
referencias a direcciones intermedias y lejanas , la referencia a los datos de un programa proceso tienden agruparse.


Software del S.O

algoritmos de ubicación

best fit :(mejor ajuste)
ubicar el proceso que tiene que ser llevado a la memoria en el hueco o espacio disponible que mas se acerque al tamaño de hueco que esta disponible , es el de peores  resultados, puesto que busca el hueco mas pequeño para el proceso y por eso se debe compactar mas frecuentemente la memoria

tener una lista ordenada de todos los huecos que están disponibles en el momento que llega el proceso ubica el hueco disponible del tamaño igual o mayor mas pequeño que se adapte , ubica el proceso , el pequeño fracmentpo que queda se convierte en un nuevo hueco que entra al final de la lista por que es un hueco de tamaño pequeño tiene varios inconvenientes por eso es el de peor rendimiento que necesita un hadware adicional que es: la lista ordenada , necesita un sowtware adicional el de ordenar.




firts fit (primer ajuste)
ubica un apuntador que se ubica en el comienzo de la memoria , lo único que se utiliza es un registro de apuntador , donde va ha apuntar siempre al principio de la lista apuntar a los huecos disponibles a cada caso 

es mas rápido ya no utiliza un sowware adicional ni un hadware adicional,la fracmentacion externa que produce es muchísimo mas grande que el de mejor ajuste , es muchísimo mas rápido al no requerir la lista ordenada y el proceso de ordenación y produce la menor cantidad de compactaciones en la memoria , si el empieza a llenar procesos la partee superior de la memoria siempre va ha estar mas cargada con procesos en la parte superior que es donde arranca el apuntador , siempre esta mas llena que la parte inferior hacer muchas comparaciones intentando establecer el hueco al cual va ha llegar.







next fit :
guardar el apuntador para la siguiente vez que se valla ha ubicar el proceso la diferencia entre el anterior es la memoria que guarda el apuntador , donde guarda la ultima referencia donde se ubico , estos son los 3 algoritmos mas importantes, 
queda fracmentacion de 5k






bod fit(peor ajuste)
el mejor ajuste va a tener una lista ordenada donde va a tomar la lista ordenada y coge el proceso de mayor tamaño y si cabe lo coloca, tiene las mismas limitaciones que el bert fit que requiere un hadware adicional que podría ser parte de la memoria que esta en la parte superior .
el mejor algoritmo para ubicar mejor el proceso es el next fit

Gestion de memoria y acceso a datos

Gestion de memoria y acceso a datos

·         La gestión de memoria es uno de los aspectos mas complicados del sistema O.
·         Gestion de memoria implica traer y llevar bloques de datos de memoria secundaria.
·         El S.O es encargado de las siguientes actividades relacionadas con la gestión de memoria:
-          Saber cuales partes de la memoria se están usando actualmente  y quienes las están usando
-          Decidir cuales procesos se cargaran en la memoria cuando se disponga de espacio.
-          Asignar y liberar espacio de memoria según se necesite.
                                                    Imagen Encontrada en google..

Dirección de memoria

Una forma común de describir la memoria principal de un ordenador es como una colección de pequeñas cajitas (celdas) que almacenan datos e instrucciones. Cada celda está identificada unívocamente por un número o dirección de memoria.
Para poder acceder a una ubicación específica de la memoria, la CPU genera señales en el bus de dirección, que habitualmente tiene un tamaño de 32 bits en la mayoría de máquinas actuales. Un bus de dirección de 32 bits permite especificar a la CPU 232 = 4.294.967.296 direcciones de memoria distintas. Debido a la estructura de 32 Bits de un procesador común como los de Intel, las direcciones de memoria se expresan a menudo en hexadecimal.

Por ejemplo:

Para no tener que escribir 111111010100000000000010101100 podemos escribir   3F5000AC en hexadecimal.

Memoria Física

La memoria física hace referencia a los chips de memoria RAM que están insertados en lasplacas madres. Se distinguen de la memoria virtual que no existe realmente como chip, sino que es simulada empleando otro medio de almacenamiento (generalmente el disco duro).

Menos frecuentemente, el término "memoria física" también puede hacer referencia a los discos duros u otras formas de almacenamiento.

Memoria virtual

La memoria virtual es una técnica de administración de la memoria real que permite al sistema operativo brindarle al software de usuario y a sí mismo un espacio de direcciones mayor que la memoria real o física.

Corrección Segundo Parcial