lunes, 20 de octubre de 2008

Estructura de Almacenamiento

Discos Magnéticos: representa la mayor parte de almacenamiento secundario en los sistemas modernos de cómputo. Cada Plato del disco tiene una forma circular como un CD, su diámetro común va de 1.8 a 5.25 pulgadas. Las dos superficies de un plato se cubren con un material magnético similar al de la cinta magnética; la información se almacena grabando magnéticamente en los platos.

Estructura: Las cabezas están unidas a un Brazo de disco, el cual mueve todas las cabezas como una unidad. la superficie de un plato está divida en Pistas (tracks), las cuales se subdividen en sectores. el conjunto de pistas que se encuentran en una posición del brazo forman un Cilindro . La capacidad de almacenamiento de las unidades de disco comunes se mide en gigabytes.

Funcionamiento: Un motor de la unidad lo hace girar a alta velocidad y puede girar de 50 a 150 revoluciones por segundo. La velocidad se divide en dos partes: La Tasa de Transferencia, la cual los datos fluyen entre la unidad y la computadora. El Tiempo de Posicionamiento, tambien denominado tiempo de acceso aleatorio, consta del tiempo para mover el brazo del disco al cilindro deseado, denominado tiempo de busqueda, y del tiempo para que el sector deseado gire a la cabeza del disco.

Un disco puede ser Removible, por lo regular consisten en un plato contenido en una caja plástica para evitar daño mientras no esta en la unidad de discos. Los Discos Flexibles, son discos magnéticos removibles, baratos que tienen una cubierta de plástico suave que contiene un plato flexible. La capacidad de almacenamiento es tipicamente de 1 megabyte o una cantidad similar.

Cintas Magnéticas: es relativamente permanente y puede contener grandes cantidades de datos, el acceso aleatorio a la cinta magnética es aproximadamente mil veces más lento que el acceso aleatorio al disco magnético, por lo que no son útiles para almacenamiento secundario.

Funcionamiento: una cinta se mantiene en un carrete y se bobina o rebobina pasando por una cabeza de lectura-escritura. las capacidades de las cintas varian de forma considerable, algunas pueden retener 20 veces más datos que una unidad de disco grande, se clasifican por ancho, incluyendo las de 4,8 y 19 milimetros, 1/4 y 1/2 pulgadas.

lunes, 13 de octubre de 2008

conceptos

Multiusuario:La palabra multiusuario se refiere a un concepto de sistemas operativos, pero en ocasiones también puede aplicarse a programas de computadora de otro tipo (e.g. aplicaciones de base de datos). En general se le llama multiusuario a la característica de un sistema operativo o programa que permite proveer servicio y procesamiento a múltiples usuarios simultáneamente (tanto en paralelismo real como simulado).Multitarea:Es una característica de un sistema operativo moderno. Permite que varios procesos sean ejecutados al mismo tiempo compartiendo uno o más procesadores.Multiprogramación:Un sistema operativo que puede ejecutar más de un programa a la vez. compartiendo el tiempo y la memoria de una sola CPU (central programming unit) La multiprogramación es una forma rudimentaria de procesamiento paralelo, donde varios programas son ejecutados al mismo tiempo sobre un único procesador. Como hay un solo procesador, no puede haber una verdadera ejecución simultánea de programas diferentes. El sistema operativo ejecuta parte de un programa, luego parte de otro, y así al usuario le parece que todos los programas están siendo ejecutados al mismo tiempo.Multiprocesamiento:Es la técnica de usar más de un procesador en un sistema computarizado. Se llama procesamiento paralelo a la utilización de varios procesadores para que ayuden en la ejecución de un programa. Multiprocesamiento no debe confundirse con multiprogramación, que es la ejecución intercalada de dos o más programas por un procesador.

estructura de los sistemas operativos

En esta unidad examinaremos cuatro estructuras distintas que ya han sido probadas, con el fin de tener una idea más extensa de cómo esta estructurado el sistema operativo. Veremos brevemente algunas estructuras de diseños de sistemas operativos:1. Estructura modular:
También llamados sistemas monolíticos. Este tipo de
organización es con mucho la mas común; bien podría recibir el subtitulo de "el gran embrollo". La estructura consiste en que no existe estructura alguna. El sistema operativo se escribe como una colección de procedimientos, cada uno de los cuales puede llamar a los demás cada vez que así lo requiera. Cuando se usa esta técnica, cada procedimiento del sistema tiene una interfaz bien definida en términos de parámetros y resultados y cada uno de ellos es libre de llamar a cualquier otro, si este ultimo proporciona cierto cálculo útil para el primero. Sin embargo incluso en este tipo de sistemas es posible tener al menos algo de estructura. Los servicios (llamadas al sistema) que proporciona el sistema operativo se solicitan colocando los parámetros en lugares bien definidos, como en los registros o en la pila, para después ejecutar una instrucción especial de trampa de nombre "llamada al núcleo" o "llamada al supervisor".2. Estructura por microkernel:
Las funciones centrales de un SO son controladas por el núcleo (kernel) mientras que la interfaz del usuario es controlada por el entorno (shell). Por ejemplo, la parte más importante del DOS es un programa con el nombre "COMMAND.COM" Este programa tiene dos partes. El kernel, que se mantiene en memoria en todo momento, contiene el código máquina de bajo nivel para manejar
la administración de hardware para otros programas que necesitan estos servicios, y para la segunda parte del COMMAND.COM el shell, el cual es el interprete de comandosLas funciones de bajo nivel del SO y las funciones de interpretación de comandos están separadas, de tal forma que puedes mantener el kernel DOS corriendo, pero utilizar una interfaz de usuario diferente. Esto es exactamente lo que sucede cuando cargas Microsoft Windows, el cual toma el lugar del shell, reemplazando la interfaz de línea de comandos con una interfaz gráfica del usuario. Existen muchos "shells" diferentes en el mercado, ejemplo: NDOS (Norton DOS), XTG, PCTOOLS, o inclusive el mismo SO MS-DOS a partir de la versión 5.0 incluyó un Shell llamado DOS SHELL.
3. Estructura po
r anillos concéntricos (capas):
El sistema por "capas" consiste en organizar el sistema operativo como una jerarquía de capas, cada una construida sobre la inmediata inferior. El primer sistema construido de esta manera fue el sistema THE (Technische Hogeschool Eindhoven), desarrollado en Holanda por E. W. Dijkstra (1968) y sus estudiantes.El sistema tenia 6 capas, como se muestra en la figura 3. La capa 0 trabaja con la asignación del
procesador y alterna entre los procesos cuando ocurren las interrupciones o expiran los cronómetros. Sobre la capa 0, el sistema consta de procesos secuénciales, cada uno de los cuales se podría programar sin importar que varios procesos estuvieran ejecutándose en el mismo procesador, la capa 0 proporcionaba la multiprogramación básica de la CPU.4. Estructura cliente – servidor:
Una tendencia de los sistemas operativos modernos es la de explotar la idea de mover el código a capas superiores y eliminar la mayor parte posible del sistema operativo para mantener un núcleo mínimo. El punto de vista usual es el de implantar la mayoría de las funciones del sistema operativo en los procesos del usuario. Para solicitar un servicio, como
la lectura de un bloque de cierto archivo, un proceso del usuario (denominado proceso cliente) envía la solicitud a un proceso servidor, que realiza entonces el trabajo y regresa la respuesta. En este modelo, que se muestra en la figura 4, lo único que hace el núcleo es controlar la comunicación entre los clientes y los servidores. Al separar el sistema operativo en partes, cada una de ellas controla una faceta del sistema, como el servicio a archivos, servicios a procesos, servicio a terminales o servicio a la memoria, cada parte es pequeña y controlable. Además como todos los servidores se ejecutan como procesos en modo usuario y no en modo núcleo, no tienen acceso directo al hardware. En consecuencia si hay un error en el servidor de archivos, éste puede fallar, pero esto no afectará en general a toda la máquina.(Para ver el gráfico faltante haga click en el menú superior "Bajar Trabajo")

miércoles, 8 de octubre de 2008

sistemas de tiempo real

Sistemas de tiempo real
Se emplea cuando existen requerimientos rígidos de tiempo sobre la operación de un procesador o el flujo de datos, por ello, en ocasiones se emplea como dispositivo de control en aplicaciones dedicadas.
El procesamiento debe realizarse dentro de los limites definidos, o el sistema fallara. Por ejemplo, no funcionara si un vaso de robot se le instruyera para detenerse después de haber chocado con el auto. Un sistema de tiempo real se considera que funciona correctamente solo si entrega el resultado correcto dentro de las restricciones de tiempo. Compare este requerimiento con un sistema de tiempo compartido, en donde es deseable (pero no obligatorio) responder rápidamente, o con un sistema por lotes, en donde tal vez no existan restricciones de tiempo en absoluto.
Hay dos tipos de sistema de tiempo real:
Sistema estricto de tiempo real
Garantiza que las tareas criticas se completen a tiempo, esta meta requiere que se establezca un límite de todas las demoras en el sistema; desde la recuperación de datos almacenados hasta el tiempo que requiere el sistema operativo para terminar cualquier solicitud que se haga. Tales restricciones de tiempo determinan los servicios que están disponibles en los sistemas estrictos de tiempo real.
Sistema suave de tiempo real
Una tarea crítica de tiempo real tiene prioridad sobre otras tareas, y retiene dicha prioridad hasta que se complete. Como en el caso de los sistemas estrictos de tiempo real , las demoras del kernal necesitan limitarse; una tarea de tiempo real no puede mantenerse esperando de manera indefinida para q el kernel la ejecute.
Estos sistemas necesitan características avanzadas de sistemas operativos que no son soportados por los sistemas estrictos de tiempo real. Debido al uso extendido de la funcionalidad suave de tiempo real, este a logrado introducirse en la mayoría de los sistemas operativos actuales, incluyendo versiones importantes de UNIX.
El tipo de planificación necesaria para implementar la funcionalidad suave del tiempo real en un sistema operativo.