Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Temario
3.1. Conceptos bsicos de procesos y procesadores. 3.2. Mtodos de distribucin de carga (hilos, tareas, procesos). 3.3. Modelos de procesadores: de estacin de trabajo, de pila de procesadores, hbrido. 3.4. Asignacin de procesadores: modelo y algoritmos con sus aspectos de diseo e implantacin. 3.5. Coplanificacin. 3.6. Tolerancia a fallos: nivel proceso, nivel almacenamiento. 3.7. Esquemas de seguridad en sistemas distribuidos. 3.8. Sistemas operativos distribuidos en tiempo real. 3.9. Balanceo de carga en sistemas distribuidos.
Requerimientos
Se simularn 5 procesos, (P1, P2, P3, P4 y P5). Parmetros de entrada: Quantum, Tiempos de llegada y rfaga. Los resultados sern grficos, en una sola pantalla, cmo se van ejecutando los procesos en cada algoritmo, en una lnea de tiempo, en cada quantum.
Representacin grfica
Finaliza la prctica para la Unidad 3. Planificacin de procesos por FIFO, SCF y Round Robin
Proceso
Cundo un programa se convierte en un proceso? Al ejecutarse necesitando estar en memoria principal, siendo administrado y llevado a ejecucin por el SO. Cmo la administra el sistema operativo? Existe un administrador de procesos el cual realiza una buena administracin (planificacin) del tiempo de CPU. ste utiliza: 1. El PCB (Process Control Block), un arreglo o lista ligada que indica la descripcin de cada uno de los procesos. 2. Un identificador de procesos (PID).
Proceso
Cules son los estados de los procesos?
Proceso
Las diferentes transiciones que pueden ocurrir entre los estados de los procesos son: a) NuevoListo: Al crearse un proceso pasa inmediatamente al estado listo. b) ListoEjecutando: En el estado de listo, el proceso solo espera para que se le asigne un procesador para ejecutar. c) EjecutandoListo: Ante una interrupcin que se genere, el proceso puede perder el recurso procesador y pasar al estado de listo. d) EjecutandoBloqueado: A medida que el proceso ejecuta instrucciones realiza pedidos en distintos componentes(ejem.:genera un pedido de E/S). e) BloqueadoListo: Una vez que ocurre el evento que el proceso estaba esperando en la cola de espera, el proceso es puesto nuevamente en la cola de procesos listos. f) Ejecutando-Terminado: Cuando el proceso ejecuta su ltima instruccin pasa al estado terminado. El sistema libera las estructuras que representan al proceso.
Proceso
Estados principales L(Listo) E(Ejecucin) y B(Bloqueado) Ejecucin: cuando tiene acceso real al tiempo de CPU.
Listo: cuando se puede ejecutar, es decir, por algn motivo se suspendi para dejar ejecutar otro proceso
Bloqueado: cuando est en espera de algn recurso (E/S) o de que ocurra un evento.
Proceso
Qu pasa si varios procesos estn trabajando sobre un fin comn, cmo se comunican? A nivel de SO se llama IPC (Inter Process Communication). La parte ms importante de la comunicacin entre procesos es sin duda la transferencia de mensajes entre los diversos procesos, sta puede llevarse acabo en base a dos primitivas, enviar y recibir, que se pueden aplicar a casi cualquier recurso como a los archivos (leer y escribir). La comunicacin entre procesos IPC se debe dar a travs del kernel del Sistema Operativo.
Procesador/Microcesador
Qu es? Es la unidad de HW que se encarga de procesar los datos que estn almacenados en una computadora para producir cualquier tipo de informacin de inters. Cmo est compuesto? 1. Unidad Lgica-Aritmtica (ALU). Encargada de las operaciones bsicas dadas a travs de microprogramacin. 2. Unidad de control (UC). Encargada de la sincronizacin de todas las operaciones y de reas de almacenamiento principal llamadas registros y memoria cach. 3. Memoria. Ah se guarda toda la informacin, registros, etc. que ayudarn a realizar las tareas de la ALU y UC.
Procesador/Microcesador
Esquema de los componentes:
En general, un sistema paralelo puede emular" a uno distribuido. Un sistema distribuido no comparten ni memoria ni el reloj.
Concurrencia
Cmo se clasifica la concurrencia? Concurrencia inherente: Hay sistemas que en los que forzosamente se dan actividades simultneas. Ej. GUI; red de cajeros automticos; etc. Concurrencia potencial: Hay sistemas o problemas que se pueden resolver de forma secuencial, pero en los que se puede aprovechar la concurrencia p.ej. para aumentar el rendimiento. Ej. multiplicar dos matrices, ordenar un vector
Tipos de procesos
Procesos padre. Es el creador de procesos subordinados o En multitarea, tanto el padre como el hijo se ejecutan concurrentemente. Proceso hijo. (Proceso pesado) Es un programa en ejecucin, con valores propios, informacin de estado, heredados del padre. Proceso hilo. (Proceso ligero) Posee ligera informacin de estado, similar comportamiento a los procesos. Proceso Init. Es el proceso de arranque init, es el primer proceso que se ejecuta en el sistema, es el ms importante, del que dependen el resto de todos los dems procesos. En el arranque de GNULinux, el ncleo ejecuta init. Este programa, ahora como proceso, cargar los subprocesos necesarios para la puesta en marcha del sistema.
Tipos de procesos
Procesos hurfanos: Cuando un proceso padre muere antes que el proceso hijo, este proceso queda hurfano y es adoptado por el proceso init. Procesos zombies: Un proceso que termina no puede abandonar el sistema hasta que su padre acepte su cdigo de retorno. Si el proceso padre ya est muerto, es adoptado por el proceso init'' el cual siempre acepta los cdigos de retorno de sus hijos. Sin embargo, si el proceso padre est vivo pero nunca ejecuta un wait(), el cdigo de retorno del proceso nunca ser aceptado y tal proceso se convierte en zombie. Un proceso zombie no tiene ni cdigo, ni stack, ni datos, pero continua habitando en la tabla de procesos.
Ejemplos de uso de los hilos: Trabajo interactivo y en segundo plano: En un programa de hoja de clculo, un hilo podra estar leyendo la entrada del usuario y otro podra estar ejecutando las rdenes y actualizando la informacin. Procesamiento asncrono: Se podra implementar, con el fin de protegerse de cortes de energa, un hilo que se encargar de salvaguardar el buffer de un procesador de textos una vez por minuto. Estructuracin modular de los programas: Los programas que realizan una variedad de actividades se pueden disear e implementar mediante hilos.
Toman un largo tiempo para Se crean y destruyen crearse y destruirse. rpidamente Se crean mediante el uso de fork(). Se crean mediante el uso de sproc().
Terminales grficas. A los usuarios se les dan terminales grficas de alto rendimiento.
No existe el concepto de propiedad. Los usuarios obtienen tanto CPU como sea necesario, durante periodos cortos, despus selo regresara a la pila, de modo que otros usuarios puedan disponer de ellos; siguiendo la teora de colas.
En general este modelo puede reducir significativamente el tiempo de espera al tener una sola cola de procesadores a repartir.
Modelo: Hbrido
Combina las mejores caractersticas del modelo de estacin de trabajo y de pila de procesadores teniendo un mejor desempeo en las bsquedas y mejor uso de los recursos. La desventaja es el ser ms cara que las dos anteriores. Cmo funciona? El trabajo iterativo se lleva a cabo en las estaciones de trabajo, con una respuesta garantizada. Las estaciones inactivas no se utilizan, facilitando el diseo. Todos los procesos no interactivos se ejecutan en la pila de procesadores, as como todo el cmputo pesado en general. Ventajas Proporciona respuesta interactiva ms rpida, uso eficiente de recursos y un diseo sencillo.
3.4. Asignacin de procesadores: modelo y algoritmos con sus aspectos de diseo e implantacin.
En qu nos ayudan la asignacin de procesadores? En el SOD, en decidir en qu proceso se va a ejecutar y en qu mquina. Por ejemplo: Para el modelo de Estaciones de Trabajo Cundo ejecutar el proceso de manera local y cundo buscar una estacin inactiva?. Para el modelo de pila de procesadores En cada nuevo proceso debemos preguntarcundo ejecutar el proceso de manera local y cundo buscar una estacin inactiva?.
Modelos de Asignacin
Las estrategias de asignacin de procesadores se dividen en: 1. No migratoria. Al crearse un proceso, se toma una decisin de dnde colocarlo. Una vez colocado en una mquina, el proceso permanece ah hasta que termina. NO se puede mover. 2. Migratorios. Un proceso se puede trasladar aunque haya iniciado su ejecucin.
3. Minimizacin de la tasa de respuesta, que es la cantidad de tiempo necesaria para ejecutar un proceso en cierta mquina, dividido entre el tiempo que tardara en ejecutarse en cierto procesador de referencia, no cargado.
Aspectos de diseo
El diseador del SD debe pensar si implementar algoritmos con estos criterios: 1. Algoritmos determinas vs. Heursticos. Conocemos el comportamiento de los procesos?. 2. Algoritmos centralizados vs. distribuidos. Queremos recolectar toda la informacin en un lugar para tomar una mejor decisin?. 3. Algoritmos ptimos vs. subptimos. Intentamos encontrar la mejor asignacin, o slo una que sea aceptable?. 4. Algoritmos locales vs. Globales. Poltica de transferencia. 5. Algoritmos iniciados por el emisor vs. iniciados por el receptor. Poltica de localizacin.
(No intenta maximizar el uso de CPU, slo da a las estaciones una parte justa del poder de cmputo).
Valores en la tabla de uso: - Positiva. Indica que la estacin de trabajo es un usuario de los recursos del sistema. - Negativo. Necesita recursos. - Cero. Es neutra.
Diagrama de ejemplo
Los procesadores:
Renen las ofertas recibidas y eligen una. Informan a los ganadores y perdedores. Ejecutan los procesos. Actualizan los precios.
3.5. Coplanificacin
Los planificadores no importando su complejidad deben respetar los siguientes elementos: equidad, eficiencia, tiempo de respuesta, retorno, volumen de produccin. Generalmente cada procesador hace su planificacin local (si tiene varios procesos en ejecucin) independientemente de lo que hacen los otros procesadores. La planificacin independiente no es eficiente cuando se ejecutan en distintos procesadores un grupo de procesos:
Relacionados entre s. Con una gran interaccin entre los procesos.
Se necesita una forma de garantizar que los procesos relacionados entre s iniciarn juntos. La comunicacin dentro de los grupos debe prevalecer sobre la comunicacin entre los grupos.
Algoritmos de planificacin
1. El algoritmo de round robin 2. Planificacin por prioridad 3. Colas mltiples:
-Planificacin dentro de cada cola: Cada cola puede utilizar su propia poltica de planificacin, de acuerdo a la clase de procesos que acoge, la cual puede ser usando diferentes algoritmos (FCFS, Round Robin, etc.). -Planificacin entre colas: 1. Se le asigna una prioridad (P) a cada cola. 2. Se le asigna un Quantum de CPU a cada cola, que se reparte entre los procesos de cada cola.
Algoritmos de planificacin
6. Planificacin por lotera
Se les reparte a cada proceso un boleto de lotera, cuando la CPU comienza a ejecutar se realiza el sorteo, aquel que tenga el boleto sacado, entra. El bsico trata a todos por iguales, y una variacin, implica repartirles ms boletos a aquellos procesos que tienen ms importancia.
En los Sistemas Distribuidos, generalmente cada micro hace su propio administracin local. Despus de tener un modelo de procesamiento y de un algoritmo de asignacin de procesadores, el siguiente gran reto es la administracin conjunta de los tiempos de uso de CPU de los procesos de forma global.
Ousterhout - Coplanificacin
Cada procesador debe utilizar un algoritmo de planificacin Round Robin:
Todos los procesadores ejecutan el proceso en el espacio 0 durante un cierto perodo fijo. Todos los procesadores ejecutan el proceso en el espacio 1 durante un cierto periodo fijo, etc.
Se deben mantener sincronizados los intervalos de tiempo. Todos los miembros de un grupo se deben colocar en el mismo nmero de espacio de tiempo pero en procesadores distintos.
Ousterhout - Coplanificacin
Qu es el paralelismo?
El paralelismo es la realizacin de varias actividades al mismo tiempo que tienen una interrelacin. El cmputo paralelo es la ejecucin de ms de un cmputo (clculo) al mismo tiempo usando ms de un procesador.
Objetivo: Reducir al mnimo el tiempo total de cmputo, distribuyendo la carga de trabajo entre los procesadores disponibles.
Cundo paralelizar?
Necesidad de respuesta inmediata de resultados. Al
ejecutar varias veces un programa en una mquina secuencial con diferentes datos de entrada, donde cada tiempo de ejecucin es considerable (horas o das), es inapropiado o costoso esperar tanto tiempo para volver a realizar otra ejecucin, afectando notablemente el desempeo de su mquina.
2. Detectar zonas donde se efecta la mayor carga de trabajo y que por lo tanto consumen la mayor parte de tiempo de ejecucin. Existen herramientas que permiten obtener una
perspectiva o perfil del programa. Por ejemplo, existen las bsicas, desde el profiler de un navegador hasta Origin 2000, en donde existen una amplia variedad de herramientas para llevar a cabo estas tareas, tanto herramientas que ofrece el mismo sistema de Origin 2000: SpeedShop, Perfex, etc como herramientas de dominio pblico que se pueden descargar e instalar: JumpShot, UpShot, Vampir, Paradyn, PAPI, etc
Tuberas
Las tuberas nos permiten redireccionar el flujo de salida de un proceso para ser la entrada de otro. A nivel de comandos se puede realizar con el operador | (pipe). Por ejemplo ls l | more, hace que la salida del comando ls sea la entrada de more, por lo que se ver pantalla por pantalla la informacin. Por un extremo de la tubera se lee, y por el otro se escribe. Ya depende de la lgica del programa ubicar que lado escribe y que lado lee. En general, primero se escribe y luego se lee. Se utiliza la biblioteca unistd.h*
Tuberas
Cmo usarlas? Para escribir en una tubera se realiza lo siguiente: write(tuberia[1], mensaje, strlen(mensaje)+1). Para leer: read(tuberia[0], mensaje, MAX) Las tuberas no son bidireccionales, slo van en un sentido, pero se pueden utilizar dos tuberas para pasar mensajes en ambas direcciones.
Cmo es su ejecucin? Se trabajan igual que un archivo slo que se bloquea cuando un proceso escribe en la tubera.
Colas de mensajes
La filosofa de las colas de mensajes es similar a las tuberas, pero con mayor versatilidad. Una cola es una estructura de datos gestionada por el kernel, en la cual varios procesos pueden escribir sobre ella. El sincronismo para evitar colisin lo realiza el kernel. En linux un programa C utiliza: 1. int msgget (key_t, int), funcin con que creamos la cola y nos devuelve un identificador para la misma. Para meter un mensaje en la cola, se utiliza la funcin msgsnd (int, struct msgbuf *, int, int)
El primer parmetro entero es el identificador de la cola obtenido con msgget().
Clasificacin de fallos
Clasificacin de fallos
Falla de procesos: cuando la ejecucin arroja un resultado incorrecto, los procesos provocan que el sistema se desve de las especificaciones y el proceso puede suspender su progreso. Ejemplos de errores que causan la falla de los procesos son los interbloqueos, tiempo expirado, violacin de proteccin, error en la entrada provista por el usuario, violaciones de consistencia (puede ocurrir si se emplea la tcnica de control de concurrencia optimista).
Falla del sistema: ocurre cuando el procesador falla en la ejecucin. Esto es causado por errores de software y problemas de hardware (como errores de CPU, falla en la memoria principal, falla en el bus, falla de energa, etc.). En el caso de una falla de sistema, el sistema es detenido y reiniciado en un estado correcto. El estado correcto puede estar en algn estado predefinido o en un estado anterior (punto de revisin) del sistema guardado en un almacenamiento no voltil.
Soluciones
1. Recuperacin de error hacia atrs. Lgica: Un proceso es restaurado a un estado anterior con la esperanza de que el estado anterior est libre de errores. Los puntos en la ejecucin de un proceso en los cuales los procesos pueden ser restaurados ms tarde se conocen como puntos de recuperacin. Se dice que un punto de recuperacin es recuperado cuando el estado actual de un proceso es remplazado por el estado del proceso en el punto de recuperacin. Una recuperacin hecha a nivel de proceso es simplemente un subconjunto de acciones necesarias para recuperar el sistema completo. En la recuperacin del sistema, todos los procesos que fueron activados necesitan ser restaurados a sus respectivos puntos de recuperacin y los datos modificados (en el almacenamiento secundario) por los procesos necesitan ser restaurados a su estado apropiado.
Soluciones
Cmo funcionara esta solucin con el almacenamiento estable? La mquina esta conectada a un sistema de almacenamiento secundario y a un sistema de almacenamiento estable. Cuando un proceso accesa a un objeto dato almacenado en un medio secundario, el objeto dato es trado a la memoria principal, si ste no se encuentra ya en la memoria. Si el acceso es una operacin escribir, la copia del objeto en la memoria principal es actualizada. El objeto dato es eventualmente actualizado cuando la copia del objeto en la memoria principal es liberado al disco por el esquema de paginacin o cuando el proceso de actualizacin del objeto termina. El almacenamiento estable es usado para almacenar los registros histricos y los puntos de recuperacin. El contenido de ambos, almacenamiento secundario y almacenamiento estable pueden sobrevivir a las fallas del sistema.
Como un entorno basado en transacciones donde las transacciones modifican una base de datos. En tal ambiente es deseable tener la capacidad de comprometer o deshacer las modificaciones realizadas por una transaccin. El comprometer (commit) es una accin la cual indica que el proceso o la transaccin de actualizacin se ha completado con xito, y por lo tanto los cambios hechos a la base de datos pueden ser permanentes. Incluso antes de comprometer una transaccin, si se modific pudo haber sido registrada en la base de datos por el esquema de paginacin. Por lo tanto, si una transaccin no ha sido comprometida, la actualizacin de la base de datos podr deshacerse. Por otro lado, si una parte de la base de datos se pierde por un error de medio de almacenamiento, debera ser posible reconstruir esa parte.
Autenticidad. En cuanto a telecomunicaciones se refiere, la autenticidad garantiza que quien dice ser X es realmente X. Es decir, se deben implementar mecanismos para verificar quin est enviando la informacin.
Qu ataques esperamos?
Negacin del servicio (denial of service o DoS). Tipo de ataque cuya meta fundamental es la de negar el acceso a un recurso determinado o a sus propios recursos, como: Tentativas de floodear (inundar) una red, evitando de esta manera el trfico legtimo de datos de la misma Tentativas de interrumpir las conexiones entre dos mquinas evitando, de esta manera, el acceso a un servicio. Tentativas de evitar que una determinada persona tenga acceso a un servicio, Tentativas de interrumpir un servicio especfico a un sistema o a un usuario. SOLUCIN(ES). Colocar access lists en los routers. Instalar patches al sistema operativo contra flooding de TCP SYN. Invalidar cualquier servicio de red innecesario o no utilizado. Implementar el sistema de cuotas a nivel del sistema operativo (disk quotas) para los logins.
Qu ataques esperamos?
Cracking de passwords. El objetivo inicial consiste en entrar al server. Para ello, se procede como si se tratase de una mquina remota (telnet). Pero, debido a que se permite el acceso a mltiples usuarios, los sistemas (UNIX) nos solicitarn un nombre de identificacin acompaado de una clave (/etc/password). SOLUCIN(ES). Forzar a que los usuarios introduzcan contraseas con caracteres especiales y de longitud mayor a 8 caracteres.
Qu ataques esperamos?
E-mail bombing y spamming. El email boombing consiste en enviar muchas veces un mensaje idntico a una misma direccin, saturando el mailbox del destinatario. El spamming enva el e-mail a centenares o millares de usuarios e, inclusive, listas de inters.
Nota. Existe el email spoofing, que altera la identidad de la cuenta que enva el email, logrando que sea ms difcil determinar quin est enviando realmente el mail.
SOLUCIN(ES). Identificar la fuente del e-mail bomb/spam y configurar el router para evitar el acceso de los paquetes entrantes de esa direccin, colocando un access list en el puerto 25 (SMTP) del tipo established para esa direccin.
Qu ataques esperamos?
TFTP (Trivial File Transport Protocol TFTP). Es un mecanismo sencillo de transferencia de archivos basado en UDP. Este protocolo no tiene autenticacin, constituyendo un problema potencial de seguridad. Es usado frecuentemente para atacar estaciones de trabajo.
$ tftp victima.com.ar Tftp> get /etc/password /tmp/passwd Received 4670 Bytes in 0.8 seconds tftp > quit
SOLUCIN(ES). No habilitar el tftp a menos que sea estrictamente necesario. Si se necesita, verificar que est correctamente configurado, para enviar slo los archivos correctos a slo los clientes autorizados.
Qu ataques esperamos?
Telnet. Telnet permite el acceso de terminal a un sistema. Si se realiza, debe ser sobre telnet seguro, pero la mayora se conecta por telnet; por lo tanto, colocando un sniffer el cracker puede saber qu contrasea y usuario (sino es que la sesin completa) se transfiri.
SOLUCIN(ES). Contar con un dispositivo programado mediante una clave secreta (challenge). El sistema que acepta el login enva un challenge, que el usuario digita en su dispositivo. Esto le devuelve la contrasea adecuada para el cdigo challenge enviado, siendo vlido slo para esa sessin.
Qu ataques esperamos?
Los comandos r (rlogin/rsh). Estos comandos permiten el acceso a una mquina remota sin ingresar password porque:
La conexin se origina en un puerto TCP privilegiado. El usuario y la mquina cliente deben ser listados en la mquina server como socios autenticados. La mquina cliente y direccin IP deben coincidir, estando listadas en el server.
El cracker utiliza tcnicas para entrar al sistema y, una vez adentro, obtener acceso a mquinas de confianza de la primera mquina hackeada.
SOLUCIN(ES). No tener disponibles estos servicios en sistemas accesibles directamente en internet. Programar un cron que se ocupa que los archivos .rhosts estn con los permisos en orden.
Qu ataques esperamos?
Seguridad en NetBIOS. Windows utiliza el protocolo NetBIOS (Network Basic Input Output System). Este protocolo a su vez debe ir sobre otro de inferior nivel que puede ser: NetBEUI, IPX/SPX, TCP/IP. Permite que un usuario, cualquiera de la red accesa a discos compartidos de la instalacin de NBT (NetBIOS/TCP) en Windows 95 contiene bugs que lo hacen vulnerables a ataques del tipo WinNUKE, o como el OOB (Out of Band) bug. SOLUCIN(ES). Los puertos utilizados por el servicio de NBT deben ser MUY cuidadosamente filtrados en el router que vincula la LAN con internet.
Herramientas comerciales
Herramienta TCP-WRAPPERS Descripcin Dominio pblico, desarrollado por Wietse Venema. Protege a los sistemas de conexiones no deseadas a determinados servicios de red, permitiendo a su vez ejecutar comandos ante determinadas acciones de manera automtica. Dominio pblico, desarrollado por la Unidad de Texas. Genera trazas referentes a servicios basados en IP (TCP, UDP) e ICMP, as como trfico en la red (los programas pueden ejecutarse en modo promiscuo) que pudiera ser sospechoso y que indicara un posible ataque a una mquina (por la naturaleza del trfico). Monitorea la red buscando ciertos protocolos con actividad inusual, como conexiones tftp, vrfy, expn, rpcinfo, mountd, etc. Detecta cambios en los patrones de uso de la red, que ayudan a sospechar sobre lo que est pasando. Audita el trfico IP que se produce en la red, mostrando las conexiones del tipo indicado que descubre. Imprime cabeceras de los paquetes que pasan por una interfaz de red. Chequea mquinas conectadas en red y genera informacin sobre el tipo de maquina, qu servicios de cada mquina y avisa de algunos fallos de seguridad que tengan dichas mquinas.
NETLOG
ETHERSCAN NSTAT ARGUS TCPDUMP Security Administrator Tool for Analyzing Networks
Caractersticas principales
Suelen tener pocos procesos en estado de listo a fin de que no se retrase la ejecucin de los mismos. Se introducen retardos en la ejecucin, como puede ser la memoria virtual, puesto que la paginacin puede producir retrasos inadmisibles para el proceso. Los STR son altamente tolerante a fallas manejados por el sistema.
Aspectos de diseo
Sincronizacin del reloj. Deben mantener la misma hora. Con varias computadoras, cada una con su propio reloj local, la sincronizacin de los relojes es un aspecto fundamental. Sistemas activados por eventos vs. Sistemas activados por el tiempo.
En un sistema de tiempo real activado por eventos, cuando ocurre un evento significativo en el mundo exterior, es detectado por algn sensor, lo que entonces provoca que el CPU conectado tenga una interrupcin. Entonces estn controlados por las interrupciones. Qu pasa cuando varios eventos ocurren a la vez? Riesgo de sobrecargar el sistema. En un sistema de tiempo real activado por tiempo, ocurre una interrupcin del reloj cada cierto tiempo. En cada marca de reloj, los sensores muestrean y actores se controlan. No hay ms interrupciones que las marcas de reloj.
Predictibilidad. Su comportamiento debe ser predecible, que el sistema cumple con todos sus tiempos lmite, incluso con carga pico.
Aspectos de diseo
Tolerancia a fallas. Ms estricta para muchos sistemas (hospitales, vehculos, plantas de energa, etc.). Las soluciones clsicas, como rplica activa son utilizadas siempre y cuando no utilicen mucho tiempo, adems es necesario siempre prever el PEOR DE LOS ESCENARIOS. Soporte del lenguaje. Debe ser fcil expresar el trabajo como coleccin de tareas pequeas (procesos ligeros) que puedan planificarse de manera independiente, sujetos a la precedencia definida por el usuario y las restricciones de exclusin mutua. El lenguaje debe disearse de modo que se pueda calcular el tiempo mximo de ejecucin de cada tarea en el momento de su compilacin. (No while infinitos, for con parmetros constantes, no recursin, etc.).
Aspectos de diseo
Comunicacin en tiempo real. Ethernet no es aceptable como protocolo, porque no proporcionan una cota superior (tiempo de transmisin), es decir, si una mquina quiere enviar un paquete puede chocar con una o ms mquinas, esperando todas las mquinas un tiempo aleatorio. LAN con anillo de fichas si es aceptable porque puede garantizar que un paquete urgente llegue a cualquier parte del sistema, aceptando la variacin de trama con prioridades, o el protocolo TDMA (Time Division Multiple Access donde cada procesador tiene su propio espacio para mensajes).
Aspectos de diseo
Comunicacin en tiempo real. Ethernet no es aceptable como protocolo, porque no proporcionan una cota superior (tiempo de transmisin), es decir, si una mquina quiere enviar un paquete puede chocar con una o ms mquinas, esperando todas las mquinas un tiempo aleatorio. LAN con anillo de fichas si es aceptable porque puede garantizar que un paquete urgente llegue a cualquier parte del sistema, aceptando la variacin de trama con prioridades, o el protocolo TDMA (Time Division Multiple Access donde cada procesador tiene su propio espacio para mensajes).
Round Robin
Desventaja con ruteador en el round robin: Hay forma de saltearse el balanceo introduciendo la IP pblica. Qu pasa con las reglas NAT si se cae el ruteador principal?
Clster
2G 1. El balanceador de carga continuamente realiza peticiones de datos de cada servidor en la granja de servidores para monitorizar sus condiciones y direccionar las peticiones de los clientes hacia el servidor que se encuentre ms disponible y en mejor estado para responder a dichas peticiones. Los parmetros solicitados, dependen del producto utilizado. Normalmente se emplea la utilizacin de la CPU del servidor, el uso de memoria y el nmero de conexiones abiertas. 2. Posee funciones de mensajera, informando si los servidores estn fuera de servicio, y si es as, cundo sern devueltos a produccin. La mayora de los servidores "revividos" pasan un perodo de prueba durante el cul no se llenan completamente de peticiones. Se puede incluso desconectar los servidores para repararse o para realizar el mantenimiento, a travs del mtodo de "apagado progresivo". El servidor, a partir de ese momento, no acepta nuevas peticiones pero permanece activo hasta que las transacciones de comercio electrnico y las descargas que se estn produciendo finalicen.
2G 3. Normalmente la segunda generacin de balanceadores de carga hardware se vende en parejas, es decir, dos equipos iguales. Uno de ellos es la unidad activa y el segundo la unidad de repuesto o de back up. Una unidad de back up en modo stand by (en espera) con una misma direccin IP y MAC significa que incluso cuando el balanceador se ve afectado por un incidente como puede ser un fallo de cableado, fuego o error humano, hay una unidad de repuesto pre-configurada que pasa a ser operacional de forma inmediata .
Bibliografa
Aguas, N. (2009) Procesos y Procesadores en Sistemas Distribuidos. Cruz, E. y Garca O. (2003). Paralelizacin en la Supercomputadora Cray Origin 2000. Recuperado el 1 de octubre de 2012, de http://dinamica1.fciencias.unam.mx/DinamicaNoLineal/Proyectos/Supercomputo/Paralelizacion.pdf Colouris, G. , Dollimore, J., & Kindberg, T. (2001). Sistemas Distribuidos Conceptos y Diseo. 3a. Edicin. Espaa, Pearson Addison-Wesley. Tanenbaum, Andrew (1996). Sistemas Operativos Distribuidos. Mxico, Prentice Hall. Tanenbaum, A., et al., Sistemas Operativos. Diseo e implementacin, 2da. Edicin, Prentice Hall, Mxico, 1998, ISBN: 970-17-0165-8. Tanenbaum, Andrew, Van Steen, Maarten (2006). Distributed Systems Principles and Paradigms. Estados Unidos, Pearson Prentice Hall. Senn, J., Anlisis y Diseo de Sistemas de Informacin, 2da. Edicin, McGraw-Hill, Mxico, 1992, ISBN: 968-422991-7. Vogelmann, E. (2007). Seguridad de sistemas distribuidos. Recuperado el 30 de octubre de 2012, de: http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/seguridadsistemasdistribuidos.pdf Wacked, H. (Septiembre 9, 2000). Qu es el balanceo de carga?. Recuperado el 1 de noviembre de 2012, de : http://www.idg.es/computerworld/%C2%BFQue-es-el-balanceo-de-carga?/seccion-ges/articulo-111063 }