Bienvenidos!!!


miércoles, 30 de mayo de 2012

Final De La Asignatura: Conclusiones

Conclusión General Del Curso

Para terminar este proceso que comenzó el 9 de Febrero de 2012, me he podido dar cuenta que al inicio de la asignatura uno llega con un pensamiento totalmente distinto de lo que es realmente la asignatura; pensando que se vería la instalación de sistema operativo, herramientas y mantenimiento del mismo. Pero esto no es así; al finalizar esta asignatura es posible comprender que el sistema operativo es más que una interfaz grafica de usuario, la complejidad de como cada proceso es asignado al procesador, el manejo de la memoria principal y virtual en su funcionamiento interno.

Además de los conocimientos adquiridos en la asignatura de sistemas operativos dirigida por el Ing. Oscar Wilson Mendoza Martínez, el docente nos incentivo al autoaprendizaje, la innovación para la presentación de cada trabajo y el trabajo en equipo.

viernes, 18 de mayo de 2012

Carga Y Montaje De Archivos



 
Carga Y Montaje De Archivos:

Aplicación:

Una aplicación esta formada por  varios módulos compilados en forma de objetos  que se montan juntos  para resolver  las referencias entre otros módulos y las rutinas de biblioteca.

Carga Dinámica:

El cálculo de direcciones dinámico permite  que un programa pueda cargarse en cualquier región de la memoria principal y luego  interrumpir la ejecución del programa  para ser descargado de la memoria principal  y posterior mente  cargado en una posición diferente.

Montaje:

La  función  de un montador es  tomar como entrada una colección de módulos objeto y generar un modulo de carga que contenga un conjunto  de módulos de programa y datos para el cargador, el montador  crea un único modulo de carga que es la unión de todos los módulos objetos.

Archivos Proyectados En Memoria

 



Archivos Proyectados En Memoria:
 
Los archivos proyectados en memoria son un tipo de archivo especial que se basan en la capacidad de la memoria virtual para utilizar espacio físico en disco como si fueran páginas de memoria RAM.

Básicamente, se trata de almacenar datos en memoria, como variables, registros, buffers, o cualquier otra estructura de datos, pero obligar al sistema a que proyecte esas páginas de memoria en un archivo concreto, en vez de utilizar el archivo de paginación de sistema. Después, al acceder a esas páginas de memoria, en realidad estaremos accediendo a un espacio en el disco duro, correspondiente al archivo que hemos proyectado.

Cuando Utilizarlos:
Básicamente, los archivos proyectados en memoria se utilizan en 3 tareas:
  1. Leer los archivos contenidos en los archivos .exe y .dll cuando se ejecuta un proceso.
  2. Realizar operaciones de E/S a disco sin buffers de memoria intermedios.
  3. Crear zonas de memoria compartida, para intercambiar datos entre procesos.

Gestion De Archivos

 





Gestion De Archivos:

¿Que es un archivo?

Es un conjunto de información relacionada que es almacenada en una unidad de almacenamiento no volátil, este posee un conjunto de características comunes (el nombre, la ubicación, la extensión) que permiten identificarlo dentro del SO.

Operaciones sobre archivos

Creación de archivos: Para hacer esto se deben realizar dos pasos. Primero se debe encontrar un espacio en el sistema de archivos y segundo se debe anotar el nuevo archivo en el directorio pasándole como entrada al directorio el nombre del archivo y su ubicación.

Escritura de archivos: Para escribir un archivo efectuamos una llamada al sistema especificando el nombre del archivo y la información que se escribirá en él. Al recibir el nombre del archivo, el sistema busca en el directorio para determinar su ubicación. La entrada del directorio tendrá que almacenar un apuntador al bloque actual del archivo (generalmente el inicial) y con este apuntador podemos calcular la dirección del siguiente bloque y escribir la información. Hay que actualizar el apuntador de escritura y así se puede escribir una serie de bloques en el archivo mediante escrituras sucesivas.

Lectura de archivos: Para leer un archivo usamos una llamada al sistema que especifica el nombre del archivo y el lugar (en memoria) donde debe colocarse el siguiente bloque, Una vez más, se busca en el directorio le entrada correspondiente y se necesitará un apuntador al siguiente bloque que se leerá. Una vez que se ha leído el bloque, se actualiza el apuntador.

Reposicionamiento de archivos: Se busca en el directorio la entrada indicada y la posición actual se modifica de manera que apunte al inicio del archivo, no es obligatorio que se lleve a cabo operaciones de entrada o salida para el re posicionamiento.

Eliminación de archivos: Para eliminar un archivo buscamos su nombre en el directorio. Una vez localizado, se libera todo el espacio del archivo (para permitir que este sea usado por otro) y se invalida la entrada del directorio.



Métodos de acceso a archivos
Acceso secuencial:

Es el método mas común de acceso, la información del archivo se procesa en un orden, un registro tras otro, los programas de edición generalmente acceden a los archivos por este método.

Acceso aleatorio:

En este método no existen restricciones de acuerdo al orden de lectura o escritura, podemos ingresar directamente a un registro intermedio sin pasar por sus predecesores.

Memoria Virtual


Memoria Virtual:

La técnica de memoria virtual permite que se ejecuten procesos que no estén completamente alojados en memoria. La ventaja más notable es que los programas pueden ser más grandes que la memoria física, es decir, se separa la memoria física de la lógica, siendo ésta última, la que finalmente ve el usuario. Esto permite a los programadores despreocuparse de esas limitaciones. Este tipo de memoria no es fácil de implementar, y debe ser tratada cuidadosamente para no disminuir la performance del sistema, además de ser más lenta que los otros administradores de memoria que ya hemos visto.

Paginación Por Demanda:
Cuando se tiene que cargar un proceso, el paginador deduce que páginas se usarán antes de que el proceso sea sacado de la memoria nuevamente. En vez de cargar un proceso completo, el pager trae a memoria solamente aquellas páginas necesarias. De esta forma, se evita llevar a memoria páginas que no se usarán, reduciendo el swap time y la cantidad de memoria física necesaria. El esquema del bit de valid-invalid (válido-inválido) se puede usar para este propósito. Cuando dicho bit se encuentra en ‘valid’, este valor indica que la página asociada es legal así como también que se encuentra en memoria. Si el bit se encuentra en ‘invalid’, este valor indica que la página noes válida (es decir, que no está en el espacio de direcciones lógicas del proceso), o es válida pero está actualmente en disco. Mientras el proceso ejecuta una y accede a las páginas que están residentes en memoria, la ejecución prosigue normalmente. ¿Pero qué sucede si el proceso trata de usar una página que no está cargada en memoria? El acceso a una página marcada como ‘invalid’ provoca un trap por error de página (page fault). El hardware de paginación, al traducir la dirección a través de la tabla de páginas, notará que el bit está como "invalid", provocando un trap al Sistema Operativo.

Segmentación Por Demanda
La paginación por demanda es seguramente el sistema de memoria virtual más eficiente pero necesita de una cantidad de hardware considerable. Algunos equipos, como el 80286, no posee este hardware y por ello el sistema operativo OS/2 utiliza sus mecanismos de segmentación para utilizar memoria virtual. Hay varios mecanismos que permiten implementar la segmentación por demanda pero todos ellos son poco óptimos, algunas veces conviene no implementar ningún mecanismo de memoria virtual antes que utilizar segmentación por demanda. Lo cierto es que la segmentación por demanda es una solución razonable cuando el hardware para paginación noes suficiente.

Esquema De Funcionamiento De La Memoria Virtual:

Memoria Virtual