martes, 29 de noviembre de 2011

Resumen de La Administracion de Memoria

En definitiva, creemos que conocer y manejar los procesos y lo que es en escencia la Administracion de Datos, es sumamente importante, como Informaticos debemos manejar totalmente esta informacion.
 Es asi como se desprende que la operación principal en la gestión de la memoria es traer los procesos a la memoria principal para que el procesador las pueda ejecutar. Para esto, la gestión de memoria debe satisfacer los siguientes requisitos ;Reubicación como el sistema operativo se encarga de gestionar la memoria y traer el proceso a la memoria principal a través de direcciones, al ser cargado o ejecutado el proceso no adquiere la misma dirección,  por lo tanto es necesario reubicar las direcciones y con la ayuda del sistema operativo es fácil adquirirlas para localizar los procesos presentes en memoria; Protección, es un requisito que se encarga de regular que los procesos presentes en memoria no invadan o violen el espacio en memoria de otros procesos ya sea de forma accidental o por error. La reubicación dificulta un poco la protección, por esto las referencias de memoria se deben confirmar o comprobar en tiempo de ejecución para asegurar que se refiere al espacio de memoria asignado a dicho proceso. 


La organización y administración de la “memoria principal ”, “memoria primaria” o “memoria real” de un sistema ha sido y es uno de los factores más importantes en el diseño de los S. O. [1987, Deitel].
Los términos “memoria” y “almacenamiento” se consideran equivalentes.
Los programas y datos deben estar en el almacenamiento principal para:
  • Poderlos ejecutar.
  • Referenciarlos directamente.
Se considera almacenamiento secundario” o “almacenamiento auxiliar” al generalmente soportado en discos. (Morris Mano - 1994)
Los hechos demuestran que generalmente los programas crecen en requerimientos de memoria tan rápido como las memorias:
  • “Ley de Parkinson parafraseada”: Los programas se desarrollan para ocupar toda la memoria disponible para ellos.
La parte del S. O. que administra la memoria se llama “administrador de la memoria”: (David Luis la Red Martínez)
  • Lleva un registro de las partes de memoria que se están utilizando y de aquellas que no.
  • Asigna espacio en memoria a los procesos cuando estos la necesitan.
  • Libera espacio de memoria asignada a procesos que han terminado. 

lunes, 14 de noviembre de 2011

Sincronizacion de procesos

                                           Sobre los procesos cooperantes:

- Pueden compartir espacios de direcciones o datos a través de un archivo.
- Problema a considerar:
- Como evitar la inconsistencia de los datos compartidos
- Como acceder a espacios critico de código compartido.

                                            Alternativas de sincronización :
-Semáforos
-Monitores
-Paso de mensajes

                                                    Sección crítica

 Sean un conjunto de procesos cooperantes. Cada proceso tiene un segmento de código
en el cual puede modificar variables comunes, o un archivo, o una tabla.
 Llamamos sección crítica (SC) a ese segmento de código.


                                                       Exclusión mutua
 Cuando un proceso esta ejecutando ese segmento de código crítico, ningún otro proceso
puede ejecutarlo.
 La ejecución de la sección crítica es mutuamente exclusiva en el tiempo.
Solución al problema de la sección crítica
Aplicación del protocolo
 Las instrucciones de maquina (load, test, load) se ejecutan atómicamente.
La solución para múltiples procesos la da el Algoritmo del panadero (bakery algorithm).
Semáforos
Es una herramienta de sincronización Sirve para solucionar el problema de la sección crítica.
 Sirve para solucionar problemas de sincronización.
Implementación
 Es una variable entera sujeta a dos operaciones: wait y signal
 Estas operaciones se ejecutan de manera indivisible.
 Cuando un proceso modifica el valor del semáforo, otros procesos no pueden
modificarlo simultáneamente. Se inicializa con valor no negativo
 Wait decrementa el valor del semáforo. Si el valor se hace negativo, el proceso se bloquea.
 Signal incrementa el valor del semáforo. Si el valor no es positivo, se desbloquea un
proceso bloqueado por un wait.
Esquema de la SC con semáforos