lunes, 13 de septiembre de 2010

Bibliografia

Andrew S. Tanenbaum - Sistemas Operativos, Diseño e implementación 2º Edición

Estructura de un SO Part 3

El periférico de entrada (teclado, USB, etc.) se comunica con la unidad de control y solicita una instrucción, esta a su vez se comunica con la unidad de memoria para que guarde lo solicitado, después le regresa la información que es enviada a la unidad aritmética lógica (ALU) para que la traduzca terminando este proceso, regresa de nuevo la información a la unidad de control enviándosela primero al unidad de memoria y después al periférico de salida (pantalla, impresora, etc.). en conclusión lo periféricos de entrada sirven para que el usuario se comunique con la maquina y los periféricos de salida sirven para que la maquina se comunique con el usuario.

Los sucesos a los que puede tener que responder un sistema de tiempo real pueden clasificarse también como periódicos (que ocurren a intervalos regulares) o aperiódicos (que ocurren de forma impredecible). Es posible que un sistema tenga que responder a múltiples corrientes de eventos periódicos. Dependiendo de cuánto tiempo requiere cada suceso para ser procesado, tal vez ni siquiera sea posible manejarlos todos. Por ejemplo, si hay m eventos periódicos y el evento i ocurre con el periodo P. y requiere C segundos de tiempo de CPU para ser manejado, la carga sólo podrá manejarse si un sistema de tiempo real que satisface este criterio es planificable.

Un conjunto de procesos esta en bloqueo mutuo si cada proceso esta esperando un evento que sólo otro proceso del conjunto puede causar, cuando sucede esto ninguno de ellos puede causar ninguno de los eventos que podría despertar a cualquiera de los demás miembros del conjunto y todos los procesos continúan esperando indefinidamente, ya que todos los procesos están esperando.

Una interrupción es cuando el procesador o periférico de salida detienen un proceso para darle lugar a otro; una solicitud es una interrupción y sucede cuando no se ocupa todo el quantum para que el procesador no perder tiempo mientras llega otro proceso (también pueden solicitar interrupciones).

La protección son permisos que se pueden repartir ha archivos y grupos de trabajo, la protección es diferente para los procesos y los archivo. Existe un código de protección que se conforma por tres campos de 3 bits, uno es para el propietario, el segundo para lo miembros del grupo del propietario y el tercero para toda la demás gente. Cada campo cuenta con un bit de acceso de lectura(r), uno para acceso de escritura (w) y uno para ejecución (x).

Estructura de un SO Part 2

Las llamadas al sistema de administración de procesos clave son las que se ocupan de la creación y terminación de procesos. Por ejemplo cuando el proceso llamado Shell (interprete de comandos) lee comandos de una terminal. El usuario acaba de teclear un comando solicitando la compilación de un programa. El Shell debe crear ahora un proceso nuevo que ejecute el compilador, cuando ese proceso haya terminado la compilación, ejecutará una llamada al sistema para terminarse a sí mismo.

La memoria (almacenamiento de información) principal de una computadora es conocida también como memoria RAM (memoria de acceso aleatorio), esta puede ser modificada. Sin embargo la memoria ROM es estática, por lo general es secuencial y necesita del sistema operativo y viceversa; esta cumple con un papel importante ya que cuando inicia el sistema, el hardware que es en realidad un programa en ROM donde existe un estructura de discos la cual esta compuesta por bloques, al primer bloque se le conoce como el Master Boot Record, llamado bloque de Boot en este se encuentra cargado el sistema operativo, le sigue el súper bloque que contiene todos los parámetros clave de los archivos, después podría venir un bloque con la información del los bloques libres (como un mapa de bits) seguido del bloque de los inodos, el bloque raíz y al final todos los directorios y archivos.

El sistema de archivos es un método para el almacenamiento y organización de los archivos, para poder identificarse un archivo con otro se necesita que tengan un nombre y un directorio; su principal característica radica en la recuperación, integridad y disponibilidad de la información de manera rápida y eficiente. Es necesario realizar llamadas al sistema para crear, leer, eliminar y escribir archivos (información guardada en el CPU).

Para poder comenzar con lo que son los dispositivos de entrada y salida primero tenemos que comenzar con la arquitectura de Von Neumann:



Estructura de un SO Part 1

La clave de los sistemas operativos es el proceso. Un proceso es un programa de ejecución, cada uno tiene relacionado un espacio de direcciones (conteniendo el programa ejecutable, los datos de programa y su pila), una lista de posiciones de memoria desde algún mínimo hasta algún máximo, el cual el proceso puede leer y escribir. Cada proceso esta asociado con un grupo de registro, entre ellos se incluye el apuntador de la pila, el contador del programa y los registros de hardware, así como información necesaria para ejecutar el programa. Un proceso padre puede crear uno o más procesos distintos denominados procesos hijos; estos procesos hijos mueren cuando cumplen con la tarea asignada, sin embargo se convierten en zombis al no encontrar al proceso padre para darle la tarea que se le fue asignada.

El sistema operativo es el encargado de decidir en que momento dejar de ejecutar un proceso y comenzar a ejecutar otro; en muchos de los sistemas operativos la información acerca de cada proceso se almacena en una tabla del sistema operativo llamada “tabla de procesos” (arreglo o lista enlazada de estructuras), una para cada proceso existente en ese momento; aparte del contenido de su propio espacio de direcciones. Los procesos ligeros o Thread (Unidad básica de utilización del CPU) son interactivos, su ejecución es rápida y no pesa más de un Kb.; sin embargo los procesos por lote (batch) son procesos pesados y requieren de varias visitas al procesador.

El scheduler (planificador) es el parte de sistema operativo que toma la decisión de quien va hacer procesado cundo hay más de un proceso ejecutable, el algoritmo que utiliza se llama “algoritmo de planificación”; entre las posibilidades están:

1. Equitatividad —asegurarse de que cada proceso reciba una parte justa del tiempo de CPU.

2. Eficiencia —mantener la CPU ocupada todo el tiempo.

3. Tiempo de respuesta —minimizar el tiempo de respuesta para usuarios interactivos.

4. Retorno —minimizar el tiempo que los usuarios por lotes tienen que esperar sus salidas.

5. Volumen de producción —maximizar el número de trabajos procesados por hora.

La ejecución de un proceso consiste de un ciclo de ejecución de CPU continuado por un ciclo de espera por I/O. Cada proceso obtiene una pequeña unidad de tiempo de CPU (quantum), usualmente entre 10 – 100 [ms]. Al expirar el quantum, se desasigna el proceso y se reingresa al final de la fila ready. Si hay n procesos en la fila ready, y el quantum es “q”, entonces cada proceso obtiene 1/n de la CPU en bloques de a lo más “q” unidades de tiempo.

El sistema operativo contiene en el núcleo el kernel (interprete del CPU) el cual se encarga de manipular el hardware del equipo para poder ejecutar los procesos tanto del sistema como de las aplicaciones de los usuarios. El kernel es el encargado de realizar las llamadas al sistema que son el proceso más básico en una computadora. Las llamadas al sistema se pueden usar por medio de funciones en “C” y en el programa “símbolo del sistema”; las funciones tienen un formato común, tanto en su documentación como en la secuencia de llamada. Invocándose mediante una función retornando ésta siempre un valor con información acerca del servicio que proporciona o del error que se ha producido en su ejecución. Aunque dicho retorno puede ser ignorado, es recomendable siempre testearlo.

Algunas funciones:


una idea XD

Una de las ideas que teníamos para poder subir nuestra investigación al blog o poder presentarla en el salón era en vídeo, si es una idea ingeniosa pero a Jan no le gusta que le tomen fotos o vídeo y se le ocurrió que lo podíamos hacer con títeres, pero a mi no me convenció esa idea ya que le invertiríamos un gran tiempo en como hacer los títeres, o hacer el guión o cosas así y no nos concentraríamos en la exposición así que para mi esa idea está descartada.

martes, 7 de septiembre de 2010

SISTEMAS OPERATIVOS DE TIEMPO REAL

Estos sistemas operativos utilizan la planificación basada en la prioridad preferente donde los procesos de más alta prioridad toman la ejecución de los procesos de prioridad inferior, a cada proceso se le asigna un nivel de prioridad que corresponde a la importancia de los sucesos a los que sirve, los procesos se activan cuando hay una interrupción, estos tienen miles de interrupciones por segundo y no se debe de perder ni un sólo suceso.

Este sistema proporciona tiempos rápidos de respuesta, protección y control de acceso, y es utilizado donde se debe de aceptar y procesar datos en tiempo breve y sin tiempos muertos un gran número de sucesos que la mayoría de las veces son externos al sistema. los llamados al sistema permiten a los procesos o programas de usuario conectarse a vectores de interrupción y sucesos de servicio, su memoria primaria y secundaria trabajan conjuntamente y soportan la separación y compartición de memoria, su gestor de memoria es el menos solicitado y es por que muchos procesos residen permanentemente en memoria para así proporcionar tiempos de respuesta rápidos.

Bibliografía

Sistemas Operativos Conceptos y Diseño
Milan Milenkovié
McGraw-Hill

G.G.A.B

SISTEMAS OPERATIVOS DE TIEMPO COMPARTIDO

Este tipo de sistemas operativos proporcionan un reparto equitativo de los recursos para simular que el usuario tiene el control total de la computadora, este sistema puede llegar a representar sistemas multiprogramados y multiusuarios dentro de esta categoría pueden entrar los entornos generales de desarrollo de programas, una de sus ventajas es que tiene un buen tiempo de respuesta de la terminal particularmente en este tipo de sistemas y generalmente lo tienen los sistemas operativos multiusuarios. Este sistema operativo no tiene la necesidad de comunicarse con otros sistemas operativos ya que es ejecutado a petición de diferentes usuarios.

Aquí se utiliza el algoritmo de planificación, en este método los programas se ejecutan con prioridad aleatoria y esta se va incrementando durante la espera y cae después de que se le utilizó. Esto consiste en que el sistema operativo interrumpe un programa y lo pone al final de la cola de los programas en espera, cundo la fracción del tiempo definida por el sistema es más larga es porque así se previene que todos los programas sean monopolizados por el procesador.

El gestor de memoria de este sistema operativo tiene la función de aislar y proteger a los programas correspondientes, algunas veces proporcionan proporciona formas de compartición controlada para conservar la memoria y permitir el intercambio de datos entre los programas. El gestor de dispositivos de entrada y salida debe ser lo suficientemente sofisticado para que su funcionamiento sea eficaz tanto para el usuario como palos mismos dispositivos.

Bibliografía

Sistemas Operativos Conceptos y Diseño
Milan Milenkovié
McGraw-Hill

G.G.A.B



SISTEMA OPERATIVO MULTIPROGRAMACIÓN

Este sistema operativo también llamado MULTIPROCESO o MULTITAREA. Un multiproceso es un mecanismo del sistema operativo multiprogramado que emplea la administración de de la totalidad de los recursos del sistema de una computadora donde se incluyen el CPU (Unidad central de Procesamiento), memoria y los dispositivos de entrada y salida. Estos sistemas operativos se caracterizan por que puede tener muchos programas activos simultáneamente y estos compiten por los recursos del sistema,donde el mismo sistema operativo monitorea el estado de los programas activos para asignar los recursos y servicios que necesiten.

Las ventajas de este tipo de sistema son que además de soportar proccesos concurrentes múltiples permiten que residan simultáneamente en la memoria primaria las instrucciones y los datos procedentes de dos o más procesos disjuntos, multiplica los recursos del sistema entre los diversos programas activos y mejora el rendimiento del sistema y la utilización de recursos con respecto al proceso de lotes y serie.

Bibliografía

Sistemas Operativos Conceptos y Diseño
Milan Milenkovié
McGraw-Hill

G.G.A.B

TIPOS DE SISTEMAS OPERATIVOS. POR LOTES

El sistema operativo por lotes tienen la característica de tener poca o ninguna interacción entre el usuario y el programa que se esté ejecutando o programas con tiempo de ejecución largos, por ejemplo programas de nóminas, pronósticos, análisis estadísticos y asimilación de grandes datos científicos, utiliza más recursos que el procesamiento en serie simple que sirven a múltimples usuarios; el sistema operativo por lotes proporcionan la gestión de archivos, el acceso a los archivos de forma simple y se necesita poca protección y ningún control de concurrencia de acceso de archivos.

Su funcionamiento es como una cola ya que el primer modelo es el primero que se procesa, así se distribuyen los tiempos globales de la distribución, por esta razón no necesitan un dispositivo que distribuya el tiempo crítico por que sólo hay un programa en ejecución. La memoria de este sistema operativo se divide en dos zonas, una de ella la está ocupada permanentemente por el sistema operativo, la segunda parte la utilizan los programas "transitorios" para poderlos ejecutar; al terminar un programa transitorio se carga el siguiente en la misma zona de memoria.

Los inconvenientes de este sistema operativo es que el tiempo total de la ejecución y la depuración fuera de línea es muy tardada para el desarrollo de programas.

Bibliografía

Sistemas Operativos Conceptos y Diseño
Milan Milenkovié
McGraw-Hill

G.G.A.B

DEFINICIÓN DE SISTEMA OPERATIVO

Un sistema operativo es una colección organizada de software que manipula al hardware y esto consta de rutinas de control para poder operar la computadora y poder tener un entorno donde se ejecuten los programas. También se puede definir como un administrador de recursos del sistema y proporciona facilidades para acceder a los archivos, procesador, memoria, y dispositivos de entrada y salida, aquí el S.O. decide quien toma un cierto proceso, cuándo y por cuánto tiempo.

El sistema operativo proporciona protección, control de acceso, y seguridad necesaria para mantener la integridad del sistema en entornos de multiprogramación, incrementa la productividad de un recurso de producción, resuelve conflictos en las demandas de recursos. Los usuarios interactúan con el sistema operativo y este actúa como interfaz entre el usuario y el hardware de la computadora, para utilizar el hardware se necesitan programas, estos son llamadas al sistema . Los sistemas operativos son diferentes dependiendo de las necesidades del usuario y de como se va a utilizar.

Bibliografía

Sistemas Operativos Conceptos y Diseño
Milan Milenkovié
McGraw-Hill

G.G.A.B

INTRODUCCIÓN

Primeramente se dará la definición delo que es un sistema operativo y su clasificación, estos se clasifican en SISTEMAS OPERATIVOS POR LOTES, MULTIPROGRAMACIÓN también llamados MULTIPROCESO o MULTITAREA, DE TIEMPO COMPARTIDO, TIEMPO REAL y los COMBINADOS.