CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament dArquitectura de

  • Slides: 44
Download presentation
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors QNX: una visión general. (Seminaris

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors QNX: una visión general. (Seminaris de CASO) Autors Daniel García Lugo o Miguel Tomás Ozalla o Xavier Teruel García o

Contenido 1. Introducción. o 2. Caracteristicas. o 3. Arquitectura Microkernel: o – 3. 1.

Contenido 1. Introducción. o 2. Caracteristicas. o 3. Arquitectura Microkernel: o – 3. 1. Paso de mensajes (IPC). – 3. 2. Planificación (scheduling). o 4. Procesos de Sistema: – – 4. 1. Administrador de Procesos (Proc). 4. 2. Administrador del Sistema de Ficheros (Fsys). 4. 3. Administrador de Dispositivos (Dev). 4. 4. Administrador de Red (Net). 2

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors Parte 1: Introducción (Seminaris de

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors Parte 1: Introducción (Seminaris de CASO) Autors

Introducción: Contenido. o 1. 1. Ficha Técnica. – ¿Que es QNX? 1. 2. Objetivos.

Introducción: Contenido. o 1. 1. Ficha Técnica. – ¿Que es QNX? 1. 2. Objetivos. o 1. 3. Historia. o 1. 4. Empresas Clientes. o 4

Introducción: Ficha Tecnica. o ¿Que és? Real : Sistema Operativo en Tiempo – Multiproceso.

Introducción: Ficha Tecnica. o ¿Que és? Real : Sistema Operativo en Tiempo – Multiproceso. – Multiusuario. Empresa : QNX Software Systems o Sus inicios : 1. 981. o Versiones actuales: o – QNX 4. 25 – QNX 6. 1 (1. 999) (2. 001) (Presentada) 5

Introducción: Objetivos. Mayor funcionalidad utilizando menos memoria. o Completa Escalabilidad. o Alto rendimiento. o

Introducción: Objetivos. Mayor funcionalidad utilizando menos memoria. o Completa Escalabilidad. o Alto rendimiento. o Conectividad totalmente integrada. o Estricta adaptacion a los standards (POSIX). o Soporte a las innovaciones tecnologicas (PC´s). o Soporte multiplataforma. o Transparencia en trabajo en red. o 6

Introducción: Historia. 1981 : Primer S. O. microkernel para PC´s. o 1983 : Primer

Introducción: Historia. 1981 : Primer S. O. microkernel para PC´s. o 1983 : Primer S. O. ejecutado sobre 80286 en modo protegido. o 1984 : Primer S. O. para PC que ofrece transparencia en procesamiento distribuido o 1990 : Primer microkernel en Tiempo Real con certificado POSIX. o 1996 : Aparece el microkernel Neutrino. Utilizado en la version 6. 1. o 7

Introducción: Empresas Clientes. Alcatel o Ford motor company o Honda o IBM o Mitsubishi

Introducción: Empresas Clientes. Alcatel o Ford motor company o Honda o IBM o Mitsubishi o Motorola o Siemens o Sony o Visa o 8

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors Parte 2: Características. (Seminaris de

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors Parte 2: Características. (Seminaris de CASO) Autors

Caracteristicas: Contenido. 2. 1. Filosofia. o 2. 2. Arquitectura Microkernel. o – Microkernel. –

Caracteristicas: Contenido. 2. 1. Filosofia. o 2. 2. Arquitectura Microkernel. o – Microkernel. – Procesos de Sistema. 10

Caracteristicas: Filosofia. Diseñado para aplicaciones en tiempo real o S. O. multiproceso y multiusuario

Caracteristicas: Filosofia. Diseñado para aplicaciones en tiempo real o S. O. multiproceso y multiusuario (rapido cambio de contexto) o Planificacion de procesos por prioridades: o – FIFO – Round-Robin – Planificacion adaptativa o Principios fundamentales: – Basado en arquitectura Microkernel – Comunicacion entre procesos basada en paso de mensajes 11

Caracteristicas: Arquitectura Microkernel. o Microkernel: – Paso de mensajes (IPC). – Planificacion (scheduling). o

Caracteristicas: Arquitectura Microkernel. o Microkernel: – Paso de mensajes (IPC). – Planificacion (scheduling). o Procesos de sistema (subsistemas): – – Administrador de Procesos (Proc) Administrador del Sistema de Ficheros (Fsys) Administrador de Dispositivos (Dev) Administrador de Red (Net) 12

Caracteristicas: Arquitectura Microkernel (cont. ) 13

Caracteristicas: Arquitectura Microkernel (cont. ) 13

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors Parte 3: Arquitectura Microkernel. (Seminaris

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors Parte 3: Arquitectura Microkernel. (Seminaris de CASO) Autors

Microkernel: Contenido. 3. 1. Responsabilidades. o 3. 2. IPC via mensajes. o 3. 3.

Microkernel: Contenido. 3. 1. Responsabilidades. o 3. 2. IPC via mensajes. o 3. 3. IPC via proxies. o 3. 4. IPC via signals. o 3. 5. IPC via semaforos. o 3. 6. Planificador de Procesos. o – FIFO. – Round-Robin. – Prioridad Adaptativa. 15

Microkernel : Responsabilidades. o Supervision del encaminamiento de mensajes. – – o Mensajes. Proxies.

Microkernel : Responsabilidades. o Supervision del encaminamiento de mensajes. – – o Mensajes. Proxies. Signals. Semaforos. IPC a traves de la red, mediante: – Circuito Virtual, Proceso Virtual y Proxy Virtual. Comunicacion a bajo nivel con la red. o Planificacion de procesos. o Manejo de las interrupciones de primer nivel. o 16

Microkernel : Responsabilidades (cont. ) 17

Microkernel : Responsabilidades (cont. ) 17

Microkernel : IPC via mensajes. Fundamental para comunicacion entre procesos en QNX. o Trabaja

Microkernel : IPC via mensajes. Fundamental para comunicacion entre procesos en QNX. o Trabaja a traves de la red. o Primitivas: o – Send( ) – Receive( ) – Reply( ) 18

Microkernel : IPC via mensajes (cont. ) 19

Microkernel : IPC via mensajes (cont. ) 19

Microkernel : IPC via mensajes (cont. ) 20

Microkernel : IPC via mensajes (cont. ) 20

Microkernel : IPC via proxies. Modo no bloqueante de comunicación. o Utilizado especialmente para

Microkernel : IPC via proxies. Modo no bloqueante de comunicación. o Utilizado especialmente para la notificacion de eventos. o Trabaja a traves de la red. o Primitivas: o – qnx_proxy_attach() – Trigger() 21

Microkernel : IPC via proxies (cont. ) o Ejemplos de utilizacion de proxies: –

Microkernel : IPC via proxies (cont. ) o Ejemplos de utilizacion de proxies: – Un proceso quiere notificar a otro proceso que un evento ha ocurrido. – Un proceso necesita enviar informacion a otro proceso. (Sin respuesta, sin confirmacion). – El controlador de interrupciones comunica a otro proceso que hay datos para procesar. 22

Microkernel : IPC via proxies (cont. ) 23

Microkernel : IPC via proxies (cont. ) 23

Microkernel : IPC via signals. Metodo asincrono de comunicacion entre procesos o Comportamiento ante

Microkernel : IPC via signals. Metodo asincrono de comunicacion entre procesos o Comportamiento ante un signal: o – Accion por defecto. – Ignorar. – Programar el signal. 24

Microkernel : signals - primitivas o SIGABRT Abnormal termination signal such as issued by

Microkernel : signals - primitivas o SIGABRT Abnormal termination signal such as issued by the abort() function. o SIGALRM Timeout signal such as issued by the alarm() function. o SIGBUS Indicates a memory parity error (QNX-specific interpretation). Note that if a second fault occurs while your process is in a signal handler for this fault, the process will be terminated. o SIGCHLD Child process terminated. The default action is to ignore the signal. o SIGCONT Continue if HELD. The default action is to ignore the signal if the process isn't HELD. o SIGDEV Generated when a significant and requested event occurs in the Device Manager. o SIGFPE Erroneous arithmetic operation (integer or floating point), such as division by zero or an operation resulting in overflow. Note that if a second fault occurs while your process is in a signal handler for this fault, the process will be terminated. 25

Microkernel : signals - primitivas (cont. ) o SIGHUP Death of session leader, or

Microkernel : signals - primitivas (cont. ) o SIGHUP Death of session leader, or hangup detected on controlling terminal. o SIGILL Detection of an invalid hardware instruction. Note that if a second fault occurs while your process is in a signal handler for this fault, the process will be terminated. o SIGINT Interactive attention signal (Break) o SIGKILL Termination signal - should be used only for emergency situations. This signal cannot be caught or ignored. Note that a server with superuser privileges may protect itself from this signal via the qnx_pflags() function. o SIGPIPE Attempt to write on a pipe with no readers. o SIGPWR Soft boot requested via Ctrl -Alt -Shift -Del or shutdown utility. o SIGQUIT Interactive termination signal. 26

Microkernel : signals - primitivas (cont. ) o SIGSTOP HOLD process signal. The default

Microkernel : signals - primitivas (cont. ) o SIGSTOP HOLD process signal. The default action is to hold the process. Note that a server with superuser privileges may protect itself from this signal via the qnx_pflags() function. o SIGTERM Termination signal. o SIGTSTP Not supported by QNX. o SIGTTIN Not supported by QNX. o SIGTTOU Not supported by QNX. o SIGUSR 1 Reserved as application-defined signal 1. o SIGUSR 2 Reserved as application-defined signal 2. o SIGWINCH Window size changed. 27

Microkernel : IPC via semaforos. Metodo común de sincronización. o Permite la creacion de

Microkernel : IPC via semaforos. Metodo común de sincronización. o Permite la creacion de semaforos (mutex…). o Primitivas: o – sem_post( ): equivalente a signal. – sem_wait( ): equivalente a wait. 28

Microkernel : Planificador de procesos. o Toma decisiones cuando: – un proceso se desbloquea.

Microkernel : Planificador de procesos. o Toma decisiones cuando: – un proceso se desbloquea. – se le acaba el tiempo de ejecucion a un proceso. – un proceso en estado running es apropiado. o Scheduling de prioridad con apropiacion inmediata: – FIFO. – Round-Robin. – Adaptativo: cuando se consume el quantum decrementa su prioridad. 29

Microkernel : Planificación FIFO. o El proceso continua ejecutandose hasta: – Voluntariamente sale de

Microkernel : Planificación FIFO. o El proceso continua ejecutandose hasta: – Voluntariamente sale de ejecucion (llamada al sistema). – Un proceso de prioridad mas alta se apropia de la CPU. 30

Microkernel : Planificación Round-Robin. o El proceso continua ejecutandose hasta: – Voluntariamente sale de

Microkernel : Planificación Round-Robin. o El proceso continua ejecutandose hasta: – Voluntariamente sale de ejecucion (llamada al sistema). – Un proceso de prioridad mas alta se apropia de la CPU. – Termina su timeslice (quantum). 31

Microkernel : Planificación Adaptativa. o Basado en Round-Robin: – Si el proceso consume su

Microkernel : Planificación Adaptativa. o Basado en Round-Robin: – Si el proceso consume su timeslice su prioridad se reduce en 1 unidad. (decay). – Si el proceso se bloquea recupera su prioridad original. 32

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors Parte 4 : Procesos de

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors Parte 4 : Procesos de Sistema. (Seminaris de CASO) Autors

Procesos de Sistema: Contenido. o 4. 1. Administrador de Procesos (Proc). – Responsabilidades, ciclo

Procesos de Sistema: Contenido. o 4. 1. Administrador de Procesos (Proc). – Responsabilidades, ciclo de vida de un proceso, nombres simbolicos de procesos. . . o 4. 2. Administrador del Sistema de Ficheros (Fsys). – Vision general del Sistema de Ficheros, extensiones. . . 4. 3. Administrador de Dispositivos (Dev). o 4. 4. Administrador de Red (Net). o – Envio y recepcion de mensajes. 34

Admin. Procesos : Responsabilidades. Es el unico proceso que comparte espacio de direccionesdel microkernel.

Admin. Procesos : Responsabilidades. Es el unico proceso que comparte espacio de direccionesdel microkernel. o Crear nuevos procesos de la misma manera en nodos locales y remotos (a traves del paso de mensajes) o Administrar los recursos fundamentales asociados a un proceso o Primitivas: o – fork( ) POSIX. – exec( ) POSIX. – spawn( ) Propia de QNX. (Crea un hijo con codigo propio). 35

Admin. Procesos : Varios. o Ciclo de vida de un procesos: – – o

Admin. Procesos : Varios. o Ciclo de vida de un procesos: – – o Creacion : Buscar PCB libre y rellenarlo Carga : Realizada por un thread del administrador. Ejecucion : El proceos se ejecuta. Finalizacion : Un thread del administrador libera los recursos. Nombres simbolicos de procesos: – Para poder realizar el paso de mensajes, los procesos se registran con un nombre simbolico en el administrador de procesos (un nodo) o en el process name locator (varios nodos) 36

Admin. de S. F. : Visión General. o Tipos de ficheros: – – –

Admin. de S. F. : Visión General. o Tipos de ficheros: – – – o Ficheros "comunes”. Directorios. Soft-links. Pipes y FIFOs. Ficheros de dispositivos. Permisos: – usuario – grupo – otros 37

Admin. de S. F. : Links e inodos. El nombre del fichero se separa

Admin. de S. F. : Links e inodos. El nombre del fichero se separa de la informacion. La informacion del fichero, excepto el nombre, se guarda en un inodo. o Si el fichero solo tiene un hard-link, la informacion del inodo se guarda en la entrada del directorio. o Si el fichero tiene mas de un hard-link, el inodo se guarda como un registro en un fichero especial (/. inodes). o 38

Admin. de S. F. : Links e inodos (cont. ) 39

Admin. de S. F. : Links e inodos (cont. ) 39

Admin. de S. F. : Rendimiento. o Caracteristicas – – – Ordenacion de peticiones

Admin. de S. F. : Rendimiento. o Caracteristicas – – – Ordenacion de peticiones de E/S Buffer cache Multi-thread Prioridad de procesos Ficheros temporales Memoria Ram como un disco simulado 40

Admin. de Dispositivos. o o Hace de interfaz entre los procesos y los dispositivos.

Admin. de Dispositivos. o o Hace de interfaz entre los procesos y los dispositivos. Servicios de dispositivo: – read( ) – write( ) – open( ) – close( ) o Modos de procesamiento de dispositivo: – Edited Input Mode. – Raw Input Mode. 41

Admin. de Red : Introducción. o Caracteristicas mas importantes: – Incrementa en throughput mediante

Admin. de Red : Introducción. o Caracteristicas mas importantes: – Incrementa en throughput mediante balanceo de carga. – Tolerante a fallos mediante conectividad redundante. – “bridging” entre redes QNX. o Responsabilidades: – Propagar los mensajes a traves de LAN. 42

Admin. de Red : Enviando mensajes. o Descripcion del proceso: – 1. El proceso

Admin. de Red : Enviando mensajes. o Descripcion del proceso: – 1. El proceso manda un Send() ó Reply(). – 2. El microkernel encola la petición. – 3. El Administrador de Red desencola la petición. – 4. El Administrador de Red pasa la petición al “driver” de Red. – 5. El Administrador de Red inicia la transmision a traves del medio, y se responsabiliza de su entrega. 43

Admin. de Red : Recibiendo mensajes. o Descripción del proceso: – 1. El “driver”

Admin. de Red : Recibiendo mensajes. o Descripción del proceso: – 1. El “driver” de Red coloca el mensaje en el buffer del Circuito Virtual. – 2. El “driver” de Red informa al Administrador de Red que la recepción se ha completado. – 3. El Administrador de Red informa al microkernel que la recepción se ha completado. – 4. El microkernel coloca el mensaje del buffer del circuito virtual al buffer del proceso. 44