martes, 14 de octubre de 2008

Estructura de los Sistemas Operativos y Web

Multitarea: es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. En ocasiones se utiliza como sinónimo de multiproceso, aunque estrictamente hablando se trata de procedimientos diferentes, que en el caso de disponer de capacidad de multiproceso son complementarios.

Multiprocesamiento: se denomina así al funcionamiento de dos o más procesadores en un ordenador o computadora, o a dos o más ordenadores procesando juntos. Se utiliza para cálculos intensivos, cuando se quiere obtener una alta velocidad de proceso o cuando las computadoras se someten a una gran carga de trabajo. Se diferencia de la multitarea en que ésta se refiere a un ordenador que trabaja con varios programas al mismo tiempo, mientras que el multiproceso se refiere a varios ordenadores o procesadores que trabajan en una misma tarea. Un sistema puede ser a la vez multitarea y multiproceso.


La multiprogramación se apoya en varios elementos del hardware: la
interrupción, el DMA y el canal. En un sistema multiprogramado la memoria principal alberga a más de un programa de usuario. La CPU ejecuta instrucciones de un programa, cuando el programa en ejecución (es decir, el que ocupa la CPU) realiza una operación de E/S, emite ciertas órdenes al controlador (al igual que en los sistemas monoprogramados); pero en lugar de esperar a que termine la operación de E/S comprobando el bit de ocupación, se pasa a ejecutar otro programa. Si este nuevo programa realiza, a su vez, otra operación de E/S, se mandan las órdenes oportunas al controlador, y pasa a ejecutarse otro programa. Esto permite que varios dispositivos trabajen simultáneamente, además, en la CPU no se tienen que ejecutar ciclos de comprobación del estado de los dispositivos.

Multiusuario: después de la aparición de la multiprogramación surgieron los ordenadores de acceso múltiple o multiusuario. En ellos cada usuario dispone de un terminal, es decir, un teclado y una pantalla conectados al ordenador. Los usuarios ejecutan programas interactivos. Un programa interactivo es aquel que se comunica con el usuario por medio de un terminal, el usuario le suministra información al programa mediante el teclado, y recibe información del programa a través de la pantalla. Los programas de los usuarios comparten los recursos (CPU, memoria, discos, impresoras, etc.) del ordenador. Estos sistemas hacen uso de una variante de la multiprogramación llamada tiempo compartido.

Estructura de un sistema operativo
Veremos brevemente algunas
estructuras de diseños de sistemas operativos.
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".

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.
La capa 1 realizaba la
administración de la memoria. Asignaba el espacio de memoria principal para los procesos y un recipiente de palabras de 512K se utilizaba para almacenar partes de los procesos (páginas) para las que no existía lugar en la memoria principal. Por encima de la capa 1, los procesos no debían preocuparse si estaban en la memoria o en el recipiente; el software de la capa 1 se encargaba de garantizar que las páginas llegaran a la memoria cuando fueran necesarias.
La capa 2 se encargaba de
la comunicación entre cada proceso y la consola del operador. Por encima de esta capa, cada proceso tiene su propia consola de operador.
La capa 3 controla los dispositivos de E/S y guarda en
almacenes (buffers) los flujos de información entre ellos. Por encima de la capa 3, cada proceso puede trabajar con dispositivos exactos de E/S con propiedades adecuadas, en vez de dispositivos reales con muchas peculiaridades.
La capa 4 es donde estaban los programas del usuario, estos no tenían que preocuparse por el proceso, memoria, consola o control de E/S.
el proceso operador del sistema se localizaba en la capa 5.Una generalización mas avanzada del
concepto de capas se presento en el sistema MULTICS. En lugar de capas, MULTICS estaba organizado como una serie de anillos concéntricos, siendo los anillos interiores los privilegiados. Cuando un procedimiento de un anillo exterior deseaba llamar a un procedimiento de un anillo interior, debió hacer el equivalente a una llamada al sistema.
Mientras que el esquema de capas de THE era en realidad un apoyo al
diseño, debido a que todas las partes del sistema estaban ligadas entre si en un solo programa objeto, en MULTICS, el mecanismo de anillos estaba mas presente durante el tiempo de ejecución y era reforzado por el hardware. La ventaja del mecanismo de anillos es su facilidad de extensión para estructurar subsistemas del usuario.

5 El operador
4 Programas del usuario
3 Control de entrada/salida
2 Comunicación operador-proceso
1 Administración de la memoria y del disco
0 Asignación del procesador y multiprogramación

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.

Sistemas Operativos Web: es decir que se ejecutan online desde un navegador, no requieren ninguna instalación en el sistema operativo, son multiplataforma y algunos permiten un espacio de alojamiento extra para nuestros documentos, recursos y demás archivos con los que podamos trabajar normalmente.
En los años 60 y 70 (antes incluso) la mayoría de las aplicaciones corrían en grandes servidores y
mainframes, donde los usuarios ejecutaban de forma remota las aplicaciones en terminales virtuales.
La importancia de estos Sistemas Operativos Web se ve cada día más en el mundo de los blogs. Muchas de las más importantes bitácoras vienen observando como un número muy creciente de visitas acceden desde estos lugares.

No hay comentarios: