CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament dArquitectura de Computadors (Seminaris de CASO) Autors QNX (Un ejemplo de SOTR) Javier Sebastián.

Slides:



Advertisements
Presentaciones similares
Capitulo 7: Procesamiento batch y el Job Entry Subsystem (JES)
Advertisements

Sistemas operativos Prof. Alberto Rivas.
Tabla de Contenido Concurrencia.
Configuración de Control
Planificación de Monoprocesadores
Introduccion a UML Wilson Peláez Hernández
UNIX COMP 240.
Sistema operativo Componentes de un sistema operativo
Planificador de Procesos
1 Reporte Componente Impacto Por Orden Territorial Por Departamento No Disponible ND *Los indicadores para el año 2008 no fueron calculados.
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Planificación con Prioridades Fijas
SISTEMAS OPERATIVOS Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware y los programas de usuario.
Base de Datos Distribuidas Bases de Datos II Universidad Argentina J. F. Kennedy - Año 2008 Maletin Yahoo => briefcase.yahoo.com Usuario => bd2_jfk Pssw.
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
Universidad Nacional Autónoma de Honduras
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament dArquitectura de Computadors (Seminaris de CASO) Autors Optimización E/S para Bases de Datos Enrique.
Virtual PC.
INTRODUCCIÓN A JAVA.
1 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación.
PROTOCOLOS Y ESTANDARES DE RED
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament dArquitectura de Computadors (Seminaris de CASO) Autors MOVING JAVA INTO MOBILE PHONES Josep Pinyol.
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
Red de computadoras  Una red de computadoras, también llamada red de ordenadores o red informática, es un conjunto de equipos informáticos conectados.
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
50 principios 1. Los clientes asumen el mando.
Modelo de procesos de dos estados
Sistemas RTO QNX Grupo Nº11 Maksimchuk, Fabio Nicoletti, Mariela
Estructuras en Sistemas Operativos
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Tareas en Linux · TASK_RUNNING (0): Indica que el proceso en cuestión se está ejecutando o listo para ejecutarse. En este segundo caso, el proceso dispone.
Ingeniería del Software
PROTOCOLOS Un protocolo es un conjunto de reglas que hacen que la comunicación en una red sea más eficiente.
SISTEMAS OPERATIVOS UNIDAD 1..
AUDITORIA DE LA SEGURIDAD en Telecomunicaciones y redes de computadoras Unidad VI.
1/27 Optimización de Internet con Software Libre Jack Daniel Cáceres Meza
Aspectos básicos de networking: Clase 5
Administración del Procesador
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Unidad 7 Entrada/Salida
Unidad III Administración de procesos
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
Profesor: Rodrigo Sanhueza Figueroa
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (apunts de l’assignatura en format transparència) Beowulf Vs Clusters.
Planificación del Procesador
Desarrollo de aplicaciones para ambientes distribuidos
Hilos En La Computación. (THREADS).
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Sun Open Network Enviroment (Sun ONE) vs.
Características de un sistema operativo
Introducción a los Sistemas Operativos
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors JavaOS para el negocio José Manuel García.
Gestión de procesos Sistemas Operativos Edwin Morales
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
COMPONENTES DEL SISTEMA OPERATIVO.
Introducción a los Sistemas Operativos
Introducción a los SOs.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Sistemas Distribuidos
Estructura de los Sistemas Operativos
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors JINI Jose Antonio Pavón David Santos.
Unidad 2 – Gestión de Procesos
Sistemas Operativos.
UTFSM - Sistemas Operativos
Responsabilidades:  IPC (Comunicación entre procesos)  Mensajes  Proxies  Señales  La comunicación de la red a bajo nivel.  Planificador de procesos.
INTERRUPCIONES – ABRAZO MORTAL
Elementos y tipos de sistemas operativos
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
SOFTWARE DE COMPUTADORAS
Transcripción de la presentación:

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament dArquitectura de Computadors (Seminaris de CASO) Autors QNX (Un ejemplo de SOTR) Javier Sebastián Carretero Casado Ricard Pascual Pijoan Antonio Juan Prieto Jiménez

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 2 La filosofía de QNX o Las aplicaciones de tiempo real dependen del sistema operativo para manipular eventos múltiples dentro de restricciones fijas de tiempo. o QNX es ideal para las aplicaciones de tiempo real. Proporciona multitarea, planificación por prioridades con desalojo, y rápido cambio de contexto. o Flexible, robusto, escalable y fácil de personalizar. –Pueden añadirse funcionalidades (p.e: drivers) sin adquirir una nueva versión del producto.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 3 La filosofía de QNX o Su API cumple el estándar POSIX. o Los SO de tiempo real se caracterizan por una ausencia de estándars. QNX propone : -Estándar POSIX , que define la API para la gestión de procesos, dispositivos, y sistemas de ficheros y IPC básica. (Funcionalidades básicas). -Extensiones para tiempo real : semáforos, planificación prioritaria de procesos, control del reloj mayor, primitivas IPC mejoradas. -Threads …

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 4 La filosofía de QNX o QNX consigue su eficiencia, modularidad y simplicidad gracias a 2 principios: - Una arquitectura microkernel - Comunicación de procesos basada en paso de mensajes. o La arquitectura del Microkernel de QNX: –Microkernel muy pequeño que, básicamente, se dedica al intercambio de mensajes (asignación de la ruta) y a la planificación de procesos (se invoca cuando un proceso cambia de estado, por una interrupción o por un mensaje)

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 5 La filosofía de QNX

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 6 o Los servicios, excepto los del microkernel, los ofrecen procesos: –Administrador de procesos (Proc) –Administrador del sistema de archivos (Fsys) –Administrador de dispositivos (Dev) –Administrador de red (Net) La filosofía de QNX

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 7 La filosofía de QNX o Primer S.O. Comercial de su tipo en utilizar intercambio de mensajes (IPC). –QNX no presta atención al contenido del mensaje. –IPC también proporciona mecanismos de sincronización entre varios procesos. o QNX como una red: –Permite el acceso por parte de los procesos a todos los recursos de la red de manera transparente. –Los usuarios pueden acceder a archivos en cualquier parte en la red, aprovechar dispositivos y periféricos, y ejecutar aplicaciones en cualquier máquina en la red (siempre que tengan la autorización apropiada).

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 8 La filosofía de QNX o Soporte para SMP (Symmetric Multi-Processing) –Soporta hasta 8 procesadores Pentium. –Para añadir esta funcionalidad tan solo hay que modificar el microkernel, de manera que los procesos que implementan las demás funcionalidades del sistema se beneficien automáticamente. –Mejora aún más si los procesos son MultiThreads. –Al modificar solo el microkernel, el añadir esta funcionalidad hace que el código tan solo aumente unos pocos kilobytes.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 9 o El MicroKernel es responsable de lo siguiente: - IPC - gestión de mensajes proxies y señales. - La comunicación de la red a bajo nivel - gestión de mensajes destinados a procesos en otros nodos - Scheduling de procesos - orden de ejecución de procesos. - Gestión de interrupciones del primer nivel - todas las interrupciones hardware y fallos primero deben pasar por el Microkernel y luego se pasan al driver o administrador de sistema. MicroKernel

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 10 MicroKernel

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 11 Comunicación entre procesos o El microkernel de QNX soporta 3 tipos de IPC: –Mensajes: La forma fundamental de IPC en QNX. Requiere confirmación del receptor y, posiblemente, contestación. –Proxies: Una forma especial de mensaje. Preparado para notificar eventos donde el proceso que lo envía no necesita actuar recíprocamente con el destinatario. –Señales (Signals): Una forma tradicional de IPC. Se utiliza para comunicar procesos asíncronamente.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 12 Comunicación entre procesos o IPC vía mensajes –Paquete de bytes que se transmite de manera síncrona entre dos procesos. –Utiliza las primitiva Send(), Receive() y Reply() (para contestar al proceso que ha mandando el mensaje) Pueden usarse tanto localmente como por la red Son bloqueantes –Adicionalmente QNX ofrece facilidades como: Recepción condicional de mensajes Leer/escribir partes de mensajes Mandar mensajes por partes (optimiza E/S)

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 13 Comunicación entre procesos

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 14 Comunicación entre procesos o IPC via proxies –Comunicación asíncrona entre procesos (notificación de eventos). No bloqueante –Los mensajes también pueden mandarse por la red

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 15 Comunicación entre procesos o IPC vía señales (signals) –Sistema típico para la comunicación asíncrona –Soporta un gran conjunto de signals POSIX, algunos tradicionales de UNIX y algunos específicos de QNX –Al recibir un signal, el proceso puede: No hacer nada. Se ejecuta la acción por defecto (lo mata) Ignorarlo (excepto SIGCONT, SIGKILL, y SIGSTOP) Capturarlo y actuar en consecuencia –Si llegan varios signals en un momento dado, el proceso no puede asumir ningún orden de llegada. –Permite bloquear signals.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 16 Comunicación de la red o QNX ofrece transparencia en la comunicación con procesos remotos. o Para lograrlo utiliza circuitos virtuales (VC), qué son los caminos que el Administrador de Red proporciona para transmitir mensajes, proxies y señales por la red. o Cuando un proceso quiere comunicarse con un proceso remoto este hace una llamada a sistema (qnx_vc_attach()) que crea un circuito virtual y dos procesos virtuales en cada extremo del circuito.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 17 Comunicación de la red o Ejemplo de comunicación en la red: Un proceso en el nodo 20(PID 1) quiere enviar un mensaje a otro proceso en el nodo 40(PID 2) y crea un circuito virtual. El proceso PID 1 primero envía el mensaje a su proceso virtual, luego este envía el mensaje al segundo proceso virtual que finalmente retransmite el mensaje al proceso PID 2.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 18 Comunicación de la red o Proxy virtual Un proxy virtual se crea mediante la llamada qnx_proxy_rem_attach() que recibe como parámetros el nodo remoto y un proxy local. Permite que cualquier proceso del nodo remoto pueda lanzar proxies al proceso que lo crea.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 19 Comunicación de la red o Integridad de los circuitos virtuales El Administrador de Red controla cada cierto tiempo la integridad de los circuitos virtuales para evitar errores en la comunicación. Para conseguirlo realiza lo siguiente: - Actualiza el último acceso al circuito virtual. - En distintos intervalos de tiempo comprueba si el circuito está en uso, si no lo usa nadie comprueba enviando un mensaje al Administrador de Red del otro extremo si el circuito continua activo. - Sino recibe mensaje o recibe una notificación de error intenta restablecer la comunicación. - Sino lo consigue desbloquea todos los procesos bloqueados en el circuito virtual y les devuelve un código de error.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 20 Scheduling de procesos o El scheduler del MicroKernel toma decisiones de planificación cuando un proceso se bloquea, el quantum de un proceso expira o un proceso se desaloja. o Selecciona el proceso con prioridad más alta que se encuentra en la cola de procesos preparados para ejecutarse. o En caso de empate, QNX proporciona tres métodos de planificación: FIFO, Round-robin y Adaptativa.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 21 Cola de prioridades Scheduling de procesos

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 22 o Planificación adaptativa Si un proceso consume su quantum (sin bloquearse), su prioridad se reduce 1 unidad. Si continua siendo el proceso con mayor prioridad seguirá ejecutándose aunque no reducirá más su prioridad. El proceso vuelve a su prioridad original cuando se bloquea. Scheduling de procesos

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 23 Gestión de Interrupciones o En un RTSO es esencial minimizar el tiempo entre que se sucede un evento y que lo recibe el programa responsable de actuar. o Este tiempo se conoce como latencia: –Es el tiempo entre que se produce la interrupción hasta que se ejecuta la primera instrucción del Gestor de interrupciones software. –QNX habilita las interrupciones el máximo de tiempo posible. Aunque en algunas regiones críticas las inhabilita. De todas maneras, en QNX la latencia es muy pequeña.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 24 Gestión de Interrupciones o Latencia de interrupciones según procesador 3.3 microsecPentium de 166 MHz 4.4 microsecPentium de 100 MHz 5.6 microsec486DX4 de 100 MHz 22.5 microsec386EX de 33 MHz o QNX soporta interrupciones de distinta prioridad –Mientras se atiende una interrupción, si llega otra más prioritaria pasa a atender a la nueva.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 25 Gestión de Interrupciones - Al finalizar la atención a una interrupción, el Gestor puede mandar un proxy a otro proceso para que se active Process A is running. Interrupt IRQx causes interrupt handler Intx to run, which is preempted by IRQy and its handler Inty. Inty triggers a proxy causing Process B to run; Intx triggers a proxy causing Process C to run.

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 26 Gestión de Interrupciones o La gestión de interrupciones también afecta a la planificación de procesos. –Al producirse una interrupción tiene que cargarse el proceso del driver (cambio de contexto). Es costoso, pero en QNX es bastante rápido. o Latencia de scheduling 4.7 microsecPentium de 166 MHz 6.7 microsecPentium de 100 MHz 11.1 microsec486DX4 de 100 MHz 74.2 microsec386EX de 33 MHz

Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament. dArquitectura de Computadors - UPC 27 Bibliografia o h/proc.htm o Documentación de CASO