Sie sind auf Seite 1von 9

Sistemas de tiempo real Los sistemas de tiempo real son aquellos que interactan con el mundo exterior donde

el tiempo es un factor importante. CARACTERSTICAS. Se activan por evento o por tiempo. Su comportamiento debe ser predecible. Deben ser tolerantes a fallas. La comunicacin en los sistemas distribuidos de tiempo real debe de alto desempeo. Caractersticas Primarias Procedimiento concurrente Interfaz hardware Tiempo de reaccin antes de los eventos Arquitectura distribuida Bases de datos Caractersticas secundarias Fiabilidad Reconfigurabilidad Usabilidad Obligaciones Capacidad de evolucin

CLASIFICACIN. Los sistemas de tiempo real se clasifican en general en dos tipos dependiendo de lo serio de sus tiempos lmite y de las consecuencias de omitir uno de ellos. Se distinguen dos tipos:

STR duro (hard RTS) Es duro cuando el incumplimiento de un deadline implica un funcionamiento incorrecto

Ejemplos: El sistema ABS (anti-lock breaking system) de un auto Un marcapasos. Alarma ssmica.

STR suave (soft RTS) Es suave cuando el incumplimiento de un deadline no implica funcionamiento incorrecto pero s una degradacin en la calidad de servicio

Ejemplos: Procesamiento de video Porque es aceptable que se pierda algn que otro cuadro Un reproductor de DVD Interfaces al usuario en general Sistema de tiempo real duro. Conmutador telefnico.

El tiempo real suave significa que no existe problema si se rebasa un tiempo lmite. Un sistema de tiempo real duro es aquel en el que un tiempo lmite no cumplido puede resultar catastrfico. ACTIVACIN DE SISTEMAS DE TIEMPO REAL. Los sistemas de tiempo real pueden ser activados por evento o por tiempo. Se dice que un sistema es activado por evento cuando, al ocurrir un evento externo, este es detectado por algn sensor, lo que entonces provoca que el CPU conectado tenga una interrupcin. Los sistemas activados por eventos estn controlados entonces por las interrupciones. Por otro lado, en los sistemas de tiempo real activados por el tiempo, se verifican los sensores cada cierto tiempo, para verificar si est ocurriendo algn evento externo. La desventaja es que se pierde mucho tiempo de CPU si los eventos ocurren con poca frecuencia.

SISTEMAS DISTRIBUIDOS DE TIEMPO REAL La capacidad de procesamiento est distribuida entre varios computadores interconectados. Las actividades del sistema tienen requisitos de tiempo. Necesidad de sistemas distribuidos: /Requisitos de procesamiento. /Distribucin fsica del sistema. /Fiabilidad: Tolerancia a fallos. Los sistemas distribuidos de tiempo real (SDTR) son complicados de realizar. Se consideran sistemas dbilmente acoplados. Comunicacin mediante mensajes El tiempo de comunicacin es significativo. Ej. Sistemas multimedia, SCADA, avinica, fabricacin integrada, robtica. Distintos tipos de requisitos temporales Se consideran, fundamentalmente, sistemas crticos

Ejemplos de los STR Los sistemas en tiempo real estn presentes prcticamente en todo lo que nos rodea; en los aviones, trenes y automviles; en el televisor, la lavadora o el horno de microondas, en los telfonos celulares y en las centrales telefnicas

digitales. Son un elemento imprescindible para garantizar la generacin, transmisin y distribucin de la energa elctrica y para asegurar la calidad y la seguridad de incontables procesos industriales. SISTEMAS DISTRIBUIDOS DE ARCHIVOS Muchos aspectos son similares a los de los sistemas convencionales centralizados. En un sistema distribuido es importante distinguir entre los conceptos de servicio de archivos y el servidor de archivos. El servicio de archivos: * Es la especificacin de los servicios que el sistema de archivos ofrece a sus clientes. * Describe las primitivas disponibles, los parmetros que utilizan y las acciones que llevan a cabo. * Define precisamente el servicio con que pueden contar los clientes sin decir nada respecto de su implantacin. El despachador (servidor) de archivos: * Es un proceso que se ejecuta en alguna mquina y ayuda con la implantacin del servicio de archivos. * Puede haber uno o varios en un sistema. * Los clientes no deben ser conscientes de la forma de implantar el sistema de archivos: No precisan conocer el nmero de servidores de archivos, su posicin o funcin. Deberan ver al sistema distribuido de archivos como un sistema de archivos normal de uniprocesador.

Generalmente un servidor de archivos es un proceso del usuario (a veces del ncleo) que se ejecuta en una mquina: * Un sistema puede contener varios servidores de archivos, cada uno con un servicio distinto: Ej.: un sistema con un servidor de archivos en UNIX y otro en DOS. Cada proceso usuario utilizara el servidor apropiado.

Diseo de los sistemas distribuidos de archivos. * El verdadero servicio de archivos: Realiza operaciones en los archivos individuales: lectura, escritura, adicin.

* El servicio de directorios:

Crea y maneja directorios, aade y elimina archivos de los directorios, etc.

Implantacin de un Sistema Distribuido de Archivos La implantacin de un sistema distribuido de archivos incluye aspectos tales como * El uso de los archivos. Antes de implantar un sistema de archivos resulta de inters analizar los patrones de uso de dichos archivos. Para determinar los patrones de uso es necesario tomar mediciones que pueden ser: * Estticas: Representan una toma instantnea del sistema en un momento dado. Comprenden la distribucin de tamao de los archivos, la distribucin de tipo de archivos, la cantidad de espacio que ocupan los archivos de varios tamaos y tipos, etc. Dinmicas: o Registran en una bitcora todas las operaciones que modifican el sistema de archivos. o Comprenden informacin sobre la frecuencia relativa de varias operaciones, el nmero de archivos abiertos en un momento dado, la cantidad de archivos compartidos, etc. Las principales propiedades observadas son: La mayora de los archivos son pequeos. La lectura es ms comn que la escritura. La mayora de los accesos es secuencial. La mayora de los archivos son de corta vida. Es poco usual compartir archivos. Los procesos promedio utilizan pocos archivos. Distintas clases de archivos poseen propiedades distintas.

* La estructura del sistema. En ciertos sistemas no existe distincin entre un cliente y un servidor:

* Todas las mquinas ejecutan el mismo software bsico. * Una mquina que desee dar servicio de archivos lo puede hacer: Debe exportar los nombres de los directorios seleccionados, para que otras mquinas los puedan acceder.

En otros sistemas el servidor de archivos y el de directorios son solo programas del usuario, y se puede configurar un sistema para que ejecute o no el software de cliente o servidor en la misma mquina.

Los clientes y servidores tambin podran ser mquinas totalmente distintas en trminos de hardware o de software. Un aspecto de implantacin en donde difieren los sistemas es la forma de estructurar el servicio a directorios y archivos; las principales opciones son las siguientes: * Combinar el servicio a directorios y archivos en un nico servidor que administre todas las llamadas a directorios y archivos. * Separar el servicio a directorios y archivos utilizando un servidor de directorios y un servidor de archivos. Si se considera el caso de servidores de archivos y directorios independientes: * El cliente enva un nombre simblico al servidor de directorios. * El servidor de directorios regresa el nombre en binario (ej.: mquina + nodo_i ) que comprende el servidor de archivos. * Es posible que una jerarqua de directorios se reparta entre varios servidores. * El servidor que recibe un nombre binario que se refiere a otro servidor puede: Indicar al cliente el servidor que tiene el archivo buscado, para que el cliente lo busque. Enviar la solicitud al siguiente servidor y no contestar.

Un aspecto estructural a considerar es si los servidores de archivos, directorios o de otro tipo deben contener la informacin de estado de los clientes. Una posibilidad es que los servidores no deben contener los estados, deben ser sin estado: * Cuando un cliente enva una solicitud a un servidor: El servidor la lleva a cabo, enva la respuesta y elimina de sus tablas internas toda la informacin relativa a esa solicitud.

El servidor no guarda informacin relativa a los clientes entre las solicitudes.

Otra posibilidad es que los servidores conserven informacin de estado de los clientes entre las solicitudes. Aclaracin: * Luego de abrir un archivo el servidor debe mantener la informacin que relacione los clientes con los archivos abiertos por stos. * Al abrir un archivo el cliente recibe un descriptor de archivo que se utiliza en las llamadas posteriores para identificacin del archivo. * Al recibir una solicitud el servidor utiliza el descriptor de archivo para determinar el archivo necesario. * La tabla que asocia los descriptores de archivo con los archivos propiamente dichos es informacin de estado. En un servidor sin estado cada solicitud debe ser autocontenida: * Debe incluir el nombre del archivo y toda la informacin para que el servidor realice el trabajo. * La longitud del mensaje es mayor. Si un servidor con estado falla y sus tablas se pierden: * Al volver a arrancar no tiene informacin sobre la relacin entre los clientes y los archivos abiertos por stos. * La recuperacin queda a cargo de los clientes. Los servidores sin estado tienden a ser ms tolerantes de los fallos que los servidores con estados. * El ocultamiento. En un sistema cliente - servidor, cada uno con su memoria principal y un disco, existen cuatro lugares donde se pueden almacenar los archivos o partes de ellos. * El disco del servidor. * La memoria principal del servidor. * El disco del cliente (si existe). * La memoria principal del cliente. Si los archivos se almacenan en el disco del servidor: * Disponen de abundante espacio. * Seran accesibles a todos los clientes. * No habr problemas de consistencia al existir solo una copia de cada archivo. * Puede haber problemas de desempeo:

Antes de que un cliente pueda leer un archivo se lo debe transferir: o o Del disco del servidor a la memoria principal del servidor. De la memoria principal del servidor a la memoria principal del cliente, a travs de la red.

* Se puede mejorar el desempeo ocultando (conservando) los archivos de ms reciente uso en la memoria principal del servidor: o Un cliente que lea un archivo ya presente en el cach del servidor elimina la transferencia del disco. o Se necesita un algoritmo para determinar los archivos o partes de archivos que deben permanecer en el cach. El algoritmo debe resolver los siguientes problemas: * La unidad que maneja el cach. * Qu hacer si se utiliza toda la capacidad del cach y hay que eliminar a alguien. Respecto de la unidad que maneja el cach: * Puede manejar archivos completos o bloques del disco. * El ocultamiento de archivos completos que se pueden almacenar en forma adyacente en el disco permite un buen desempeo en general. * El ocultamiento de bloques de disco utiliza el cach y el espacio en disco ms eficientemente. Respecto de qu hacer cuando se utiliza toda la capacidad del cach y hay que eliminar a alguien: * Se puede utilizar cualquier algoritmo de ocultamiento, por ej.: LRU mediante listas ligadas. * Cuando hay que eliminar a alguien de la memoria: o Se elige al ms antiguo. o Si existe una copia actualizada en el disco se descarta la copia del cach. o De lo contrario primero se actualiza el disco. El mantenimiento de un cach en la memoria principal del servidor es fcil de lograr y es totalmente transparente a los clientes. Si se utiliza ocultamiento en el lado del cliente: * Se elimina el acceso a la red para transferir del servidor al cliente. * El disco del cliente generalmente es ms lento y de menor capacidad.

* Generalmente es ms rpido y ms sencillo tener un cach en la memoria principal del servidor que en el disco del cliente. Si el cach se coloca en la memoria principal del cliente las principales opciones son: * Ocultar los archivos dentro del propio espacio de direcciones de un proceso de usuario. * Colocar el cach en el ncleo. * Ocultar el cach en un proceso manejador del cach, independiente y a nivel usuario. * La duplicacin o rplica. Frecuentemente los sistemas distribuidos de archivos proporcionan la rplica de archivos como un servicio. * Existen varias copias de algunos archivos. * Cada copia est en un servidor de archivos independiente. Las principales razones para la rplica son: * Aumentar la confiabilidad al disponer de respaldos independientes de cada archivo. * Permitir el acceso a archivos an cuando falle un servidor de archivos. * Repartir la carga de trabajo entre varios servidores. Un sistema es transparente con respecto a la rplica si la misma se administra sin intervencin del usuario. Una forma de llevar a cabo la rplica consiste en que el programador controle todo el proceso (rplica explcita): * Los archivos y las copias adicionales se crean en servidores especficos. * Las direcciones en la red de todas las copias se asocian con el nombre del archivo. Un mtodo alternativo es la rplica retrasada: * Solo se crea una copia de cada archivo en un servidor. * El servidor crea rplicas en otros servidores, a posteriori, automticamente y sin intervencin del proceso de usuario. Otro mtodo consiste en el uso de la comunicacin en grupo: * Todas las operaciones de escritura se transmiten simultneamente a todos los servidores. * Las copias adicionales se hacen al mismo tiempo que el original. * El control de la concurrencia. Un algoritmo posible es el de rplica de la copia primaria:

* Uno de los servidores se denomina como primario. * Los dems servidores son secundarios. * La actualizacin se enva al servidor primario: o Realiza los cambios localmente. o Enva comandos a los servidores secundarios para ordenarles la misma modificacin. * Las lecturas se pueden hacer de cualquier copia. * La desventaja es que si falla el primario no se pueden llevar a cabo las actualizaciones. Otro posible algoritmo es el del voto o de Gifford: * La idea fundamental es exigir a los clientes que soliciten y adquieran el permiso de varios servidores antes de leer o escribir un archivo replicado. * Se utiliza el nmero de versin, que identifica la versin del archivo y es la misma para todos los archivos recin actualizados. * Para leer un archivo con N rplicas un cliente debe conformar un qurum de lectura, es decir una coleccin arbitraria de Nr servidores o ms. * Para modificar un archivo se necesita un qurum de escritura de al menos Nw servidores. * Se debe cumplir que Nr + Nw > N, por lo cual nunca se podr obtener un qurum de lectura y otro de escritura al mismo tiempo. * Generalmente Nr es muy pequeo y Nw muy cercano a N ya que generalmente las lecturas son ms frecuentes que las escrituras. * Una variante es el algoritmo del voto con fantasma: o Crea un servidor fantasma para cada servidor real fallido: Interviene solo en el qurum de escritura. La escritura solo tiene xito si al menos uno de los servidores es real.

Das könnte Ihnen auch gefallen