Você está na página 1de 73

SISTEMAS OPERATIVOS DE TIEMPO REAL

Prof. Roberto Vignoni Facultad de Ingeniera,UNLP

Programa
1) Introduccin a los sistemas operativos Historia y evolucin Generalidades 2) Procesos Creacin y estados Transicin Planificacin: Criterios y algoritmos 3) Gestin de memoria Asignacin contigua y no contigua Memoria virtual 4) Gestin de Archivos 5) Sistemas operativos de tiempo real Funcionalidades y caractersticas Planificacin Sincronizacin Estndares y tcnicas de evaluacin de funcionamiento 6) Ejemplos de S.O. de Tiempo Real

Sistemas Operativos
Programas del Sistema Software Programas de Aplicacin
Internet Compilad. Sist. Contable Juegos Aplicaciones (Modo usuario) (Modo supervisor) Instrucciones - Assembler C.I. Plaquetas, cables, etc.

Editores Interpretes

Sistema Operativo Lenguaje de Mquina Microprogramacin Dispositivos Fsicos

Definicin: Sistema manejador de recursos que permite una distribucin controlada y ordenada del p,.memoria, E/S, entre los diversos programas que compiten por ellos.

Historia Los SO han evolucionado intimamente ligados con la evolucin de las computadoras que los utilizan.
1a Generacin (1945-1955) Tubos de vaco - Tableros enchufables Programacin en lenguaje absoluto Cableado Clculos numricos directos (Tablas de senos y cosenos) Despus de 1950 - Tarjetas perforadas Procesos en serie. 2a Generacin (1955-1965) Transistores - Sistemas por lotes Tarjetas perforadas Programacin en Fortran Sist Op. FMS (Fortran Monitor System) IBSYS Sist. Op. de IBM 7094.

3a Generacin (1965-1980) Circuitos Integrados - Multiprogramacin Sistema /360 IBM - Cientfico y Comercial Bajo tiempo de respuesta de sist. por lotes Tiempo compartido
Multiprogramacin Por lotes Objetivo Principal Origen de las Instrucci ones Al sist. Op. Maximizar la Utilizacion del p Instrucciones de control incluidas con el trabajo Tiempo compartido Minimizar el Tiempo de resp. Ordenes dadas desde una terminal

CTSS del MIT primer sistema de tiempo compartido sobre IBM 7904

MIT Bell Labs


GE

MULTICS (Informacin multiplexada y servicios de computacin)

Si bien fracas tuvo enorme influencia en sistemas subsiguientes. Fenomenal crecimiento de las minicomputadoras PDP -1 a PDP -11 Brian Kernigan Dennis Ritchie UNICS UNIX Creador de C

4aGeneracin (1980-1990) Computadora personal MS-DOS Intel UNIX Motorola y otras (ms grandes) 5a Generacin (1990 - ? Windows 95 - NT Linux UNIX Sistemas operativos distribuidos

Procesos
Proceso: Es la unidad ms pequea de trabajo, individualmente planificable por un SO. Es un concepto dinmico y se refiere a un programa en ejecucin que sufre cambios de estados y atributos. Programa ejecutable: entidad esttica que puede dar lugar a uno o varios procesos.

Creacin y terminacin de procesos Motivos: Nuevo trabajo en un proceso por lotes Conexin interactiva Creado por el SO para brindar un servicio Generado por un proceso existente Terminacin normal Tiempo lmite excedido No hay memoria disponible Violacin de lmites de memoria Fallo de E/S Intervencin del operador o del SO Terminacin del proceso padre

Desde el punto de vista del SO, los procesos pueden adoptar distintos estados
Admitir

Expropiado Listo Planificado Espera Suceso Suspendido Ejecucin

Liberar
Terminado

Nuevo

Nuevo: Proceso recin creado, pero no admitido por el SO como ejecutable Listo o preparado: Posee todos los recursos excepto el procesador En ejecucin: Est siendo ejecutado Suspendido o bloqueado: Carece de algunos recursos adems del p Terminado: Ha sido excluido del grupo de los ejecutables

Bloque de control de proceso (BCP) Creado por el SO cuando un proceso se instala y que sirve como descriptor durante toda la vida del proceso. El BCP incluye todos o algunos de los siguientes campos de informacin
Nombre del proceso Prioridad Estado (listo, en ejecucin o suspendido) Estados de hardware (registros, flags) Informacin de planificacin Informacin de gestin de memoria Estados de E/S (dispositivos asignados, operaciones pendientes) Informacin de gestin de archivos (abiertos, derechos de acceso)

10

Listas de procesos Creadas por el SO


Lista de procesos preparados Lista de procesos suspendidos

Usuario
Px en Ejecucin Cambio Suceso de Modo

Sistema operativo

Guarda estados de hardware de Px en BCPx Actualiza estados de Px, datos de planificador, etc. Atiende el suceso.(No se considera parte de la conmutacin. Planifica el siguiente proceso a ejecutar Py Restaura el estado de Hardware de Py Restaura atributos desde BCPy

Cambio de Modo Py en Ejecucin

11

Hebras Hilos (Threads) Tambin llamada proceso liviano (light weight process). Son miniprocesos con estados reducidos que comparten recursos tales como memoria y archivos. Cada hebra pertenece exclusivamente a un solo proceso y ninguna hebra puede existir fuera de un proceso. El proceso pasa a ser esttico y se convierte en un entorno y propietario de recursos para la ejecucin de las hebras. Sistemas que no usan hebras: Tradicionales, pesados, buena proteccin, bajo rendimiento, UNIX Sistemas con hebras: Livianos, rpidos, poca proteccin, alto rendimiento, OS/2, Windows NT.

12

Planificacin Conjunto de polticas y mecanismos del SO que gobiernan el orden en que se ejecutan los procesos.
Planificacin a largo plazo: Decisin de agregar procesos a la reserva de procesos a ejecutar. Planificacin a medio plazo: Decisin de agregar procesos al conjunto de procesos que se encuentran parcial o completamente en memoria. Planificacin a corto plazo: Decisin sobre que proceso disponible ser ejecutado por el microprocesador. Planificacin de E/S: Decisin sobre que solicitud de E/S pendiente, ser tratada por un dispositivo disponible.

13

Se pueden relacionar las funciones de planificacin con el diagrama de transicin de estados de un proceso.
PLP Nuevo PLP

Listo y Suspendido

Listo PMP PCP

Ejecutando

Bloqueado y Suspendido

PMP

Bloqueado

Terminado

14

Ejecutando

Listo

Bloqueado PCP

Bloqueado y Suspendido

Listo y Suspendido PMP

Nuevo

PLP

Terminado

Planificador a largo plazo


Determina cuales de los programas son admitidos en el sistema controlando asi el grado de multiprogramacion.

Planificador de medio plazo


Forma parte de la funcin de intercambio. Controla las transiciones de suspendido a preparado de los procesos retirados.

15

Planificador a corto plazo (dispatcher)


Asigna el p a un proceso entre los preparados residentes en memoria. Se ejecuta cuando un suceso conduce a la interrumpcin del proceso en ejecucin u ofrece la posibilidad de expulsarlo a favor de otro. Interrupciones basadas en tiempo (Tics de reloj) Interrupciones y terminaciones de E/S Lammadas al sistema operativo Envio y recepcin de seales

Criterios de Planificacin Criterios orientados al usuario - Criterios de rendimiento


Tiempo de Respuesta: Para un proceso interactivo, es el intervalo de tiempo transcurrido desde que se emite una solicitud, hasta que se comienza a recibir respuesta. Tiempo de Retorno: Es el intervalo de tiempo transcurrido entre el lanzamiento de un proceso y su finalizacin.

16

Plazo: Si se pueden especificar plazos de terminacin de un proceso, se deben considerar la maximizacin de plazos cumplidos.

Criterios orientados al usuario - Otros criterios


Pervisibilidad: Un determinado trabajo se debe ejecutar aproximadamente en el mismo tiempo y con el mismo coste, sin importar la carga del sistema.

Criterios orientados al sistema - Criterios de rendimiento


Productibilidad: Se debe intentar maximizar el nmero de procesos terminados por unidad de tiempo. Depende de la longitud media de cada proceso, pero tambin de la tcnica de planificacin. Utilizacion del Prosesador: Se considera el porcentaje de tiempo que el procesador se mantiene ocupado.

17

Criterios orientados al sistema - Otros criterios Equidad: En ausencia de directivas del usuario o del SO, los procesos deben ser tratados de igual forma. Ningn proceso debe sufrir inanicin. Prioridades: La planificacin debe favorecer a aquellos procesos a los que se haya asignado mayor prioridad. Equilibrios: Se deben mantener ocupados los recursos del sistema

Algoritmos de Planificacin
Expropiativa No expropiativa

Primero en llegar, primero en ser servido (FCFS) Turno rotatorio (RR Round Robin) Primero el proceso mas corto (SPN, Shortest process Next)

18

Menor tiempo restante (SRT, Shortest Remainning Time) Planificacin expropiativa basada en prioridades Se utiliza realimentacin con mltiples niveles
Entrada RQ0 CPU Liberar RQ1 CPU Liberar

Liberar RQn CPU

19

Gestin de Memoria
Se ocupa de asignar memoria fsica de capacidad finita a los procesos que la solicitan. Separacin y proteccin de espacios de memoria Comparticin Se pueden realizar distintea clasificaciones: Asignacin Contigua Asignacin No Contigua

20

Asignacin Contigua Cada objeto lgico es colocado en bloques de memoria cuyas direcciones son estrictamente contiguas. Particin Esttica: Cuando se inicializa el sistema Inconveniente: Fragmentacin interna Particin Dinmica: En respuesta a demandas del usuario Inconveniente: Fragmentacin externa

21

Esquemas de Gestin Monitor de un solo proceso (PC-DOS) Parte residente del SO Memoria y Procesos transitorios, cargados ejecutados uno por vez.

Solo existe proteccin para el cdigo del SO Registro valla Bits de proteccin

22

Multiproceso - Particin esttica Tabla de descripcin de particiones (TDP)


N de Partcin 0 1 2 3 4 Direcc. Base 0K 100 K 400 K 500 K 750 K Tamao 100 K 300 K 100 K 250 K 250 K Estado Asig. Libre Asig. Asig. Libre

Estrategias de Asignacin de Particiones


Primer Ajuste: Asigna la primera particin libre, lo suficientemente grande para acomodar al proceso. Mejor Ajuste: El SO asigna la particin ms pequea que satisfaga las necesidades del proceso.

La eleccin es segn sea necesaria la velocidad de ejecucin o la utilizacin de memoria.

23

Situaciones en que el SO no puede asignar una particin:


1 Ninguna particin es lo suficientemente grande. Mensaje de error. Reconfiguracin. 2 Todas las particiones estn asignadas. Se pospone la carga. Se libera una particin (intercambio). 3 Hay particiones libres pero ninguna es lo suficientemente grande. Se usan las dos opciones anteriores.

Intercambio (Swapping)
Es el retiro de memoria de los procesos suspendidos o expropiados y su posterior reincorporacin.

Intercambiador: Proceso del SO encargado de:


Seleccionar procesos para retirarlos de memoria Seleccionar procesos para incorporarlos a memoria

24

Gestionar y asignar espacio de intercambio.

(Funciones de un planificador a medio plazo) Criterios de seleccin de procesos a ser retirados de memoria.
Procesos de baja prioridad Procesos que esperan sucesos lentos Tiempo que el proceso se encuentra instalado en memoria Si han sido ejecutados mientras estaban en memoria

Archivo de intercambio: Almacena la imagen dinmica de un proceso retirado.


Global: Unico, grande, creado en la inicializacin, esttico. Dedicados: Pequeos, uno por cada proceso, dinmicos.

25

Reubicacin: Donde se almacena un proceso que haba sido retirado temporariamente.


Esttica: El programa parcialmente ejecutado y retirado de memoria, es recuperado en la misma particin de la que fue desalojado. Alta complejidad espacial y temporal. Dinmica: Utiliza direcciones virtuales. Se realiza en tiempo de ejecucin. Asistencia de hardware para la correspondencia entre direcciones virtuales y espacio fsico.

26

Comparticin La gestin de memoria debe permitir la comparticin de datos y cdigo entre procesos cooperativos. Existen tres tcnicas bsicas: Los objetos compartidos los maneja el SO como llamadas al sistema. Simple, pero se genera un SO grande monoltico y difcil de mantener. Mantener mltiples copias de los objetos compartidos, uno por cada particin de la cooperacin. El SO es el encargado de mantener actualizados los datos. Lento y se utiliza mucha memoria. Utilizar particiones de memoria compartidas. Recarga de trabajo al SO.

27

Asignacin de Memoria Particin Dinmica Algoritmos de seleccin


Primer Ajuste (First Fit). El gestor de memoria busca el primer bloque libre lo suficientemente grande como para alojar la particin. Se comienza a examinar desde la primera posicin de memoria. Siguiente Ajuste (Next Fit). Se comienza a examinar la memoria desde la direccin indicada por un puntero que fue guardado donde termino la asignacin anterior. Mejor Ajuste (Best Fit). Se recorre toda la memoria libre hasta encontrar el bloque ms pequeo que pueda alojar la particin que esta siendo creada. Peor Ajuste (Worst Fit). Siempre se asigna el bloque ms grande, siempre que este exceda en tamao al de la particin a crearse.

28

Compactacin
Cuando la memoria resulta seriamente fragmentada, hay que reubicar alguna o todas las particiones en un extremo de la memoria y asi combinar los huecos para formar una unica area libre grande. Se puede realizar: Siempre que sea posible Solo cuando es necesaria

Segmentacin
Consiste en dividir el espacio de memoria de un proceso, en bloques que puedan ser ubicados en areas no contiguas de memoria. Se realiza la ruptura del espacio de memoria en varias entidades lgicas llamadas segmentos.

29

Asignacin No Contigua Partes de un objeto lgico pueden estar colocados en reas no contiguas de memoria fsica. Existe una correspondencia entre el espacio de direcciones virtuales contiguo y las posiciones de memoria fsica no contiguas. Paginacin La memoria fsica se divide en una serie de porciones de tamao fijo denominadas marcos de pgina. El espacio de direcciones virtuales se divide en bloques de igual tamao llamados pginas. La asignacin de memoria consiste en generar la correspondencia entre pginas virtuales con sus marcos de pgina fsicos, y se realiza a partir de un mecanismo de traduccin de direcciones. Como la correspondencia se hace separadamente, los diferentes marcos asignados a un proceso, no necesitan estar en reas contiguas de memoria fsica. 30

Los mtodos de traduccin de direcciones se realizan con la ayuda de tablas: (TMP) (TMM) Tabla de mapa de pginas Tabla de mapa de memoria

Memoria Virtual Una imagen del espacio de memoria real de un proceso se mantiene en memoria secundaria, trayendo partes de esa imagen a memoria principal, segn sea necesario. La memoria virtual permite la ejecucin de procesos parcialmente cargados. La memoria virtual, puede considerarse como una extensin de la paginacin o de la segmentacin o una combinacin de ambas.

31

La traduccin de direcciones se realiza por medio de: Tablas de mapa de pginas Tablas de descriptores de segmentos Ambas

32

La gestin de memoria virtual presenta distintas polticas: .Poltica de asignacin: Que cantidad de memoria real se asigna a cada proceso activo. .Poltica de acceso: Cuando y que elementos se incorporan desde el almacenamiento secundario a la memoria principal. .Poltica de sustitucin: Cuando hay que incorporar un nuevo elemento y no existe memoria real libre, que elemento se desaloja. .Poltica de ubicacin: Donde se coloca el elemento nuevo. En general los elementos son trados a memoria principal cuando en el proceso en ejecucin produce una excepcin por elemento ausente. Es decir paginacin o segmentacin por demanda. Tambin se utilizan polticas de prebsqueda

33

La poltica de ubicacin sigue las reglas de la paginacin y segmentacin. Polticas de Sustitucin Si el gestor de memoria no dispone de marcos de pgina libres cuando se genera una excepcim por elemento ausente puede: )Suspender el proceso con elemento faltante hasta que haya espacio suficiente en memoria. )Desalojar una pgina para dejarle sitio a la del proceso que lo solicita. Algoritmos de sustitucin Primero en entrar, primero en salir (FIFO): Sustituye la pgina residente que lleve mas tiempo en memoria. Se utiliza una cola de pginas para llevar la cuenta del orden relativo en que se cargan las pginas en memoria.

34

Menos recientemente usada, (LRU, Least Recently Used): En la mayora de los casos mejor que el anterior ya que considera los patrones de comportamiento de los programas. Impone recargo de software y requiere de soporte hardware. Optimo: Algoritmo terico desarrollado por Belady, requiere conocimiento del comportamiento futuro de los procesos, por lo que no es realizable y se utiliza como referencia en simulaciones. Aproximaciones o Reloj: Dado que el FIFO tiene bajo rendimiento y el LRU es costoso, se utiliza una combinacin de ambos conocida como reloj o No Recientemente Usado (NRU)

35

GESTION DE ARCHIVOS

Servicios brindados por el SO a los usuarios y aplicaciones, relativos al empleo de archivos. Presenta los siguientes objetivos: Cumplir con las necesidades de gestin de datos y con requisitos del usuario. Almacenamiento Recuperar todo Recuperar previo Recuperar uno Borrar uno Actualizar Insertar

36

Garantizar dentro de lo posible que los datos sean vlidos. Optimizar el rendimiento, desde el punto de vista del sistema: productividad global y desde el punto de vista del usuario: tiempo de respuesta. Ofrecer soporte de entrada/salida para diversos dispositivos de almacenamiento. Minimizar las posibilidades de prdida o destruccin de datos. Proporcionar soporte de entrada/salida para mltiples usuarios en sistema multiusuario.

37

Arquitectura de un sistema de archivos En forma genrica podramos considerar cinco niveles: Manejadores de dispositivos (Device Drivers): Puede considerarse el nivel ms bajo. Se comunican directamente con perifricos o sus controladores. Son responsables de iniciar las operaciones de E/S en un dispositivo (generalmente disco o cinta) y procesar la terminacin de una peticin de E/S. Sistema de Archivos Bsico, o nivel de E/S fsica. Este nivel maneja bloques de datos que son intercambiados con sistemas de disco o cinta. No comprende la estructura de los datos, solo se encarga de ubicarlos en dispositivos de almacenamiento secundario o intermedio.

38

Supervisor Bsico de Entrada/Salida: Es responsable de toda iniciacin y terminacin de toda E/S con archivos. Tiene estructuras de control que se encargan de la E/S con los dispositivos, la planificacin y el estado de los archivos. E/S Lgica: Permite a los usuarios y aplicaciones acceder a los registros. A diferencia de l sistema de archivos bsico que trabaja con bloques, la E/S lgica lo hace con registros. Mtodo de Acceso: Es el nivel ms cercano al usuario. Proporciona una interfaz entre las aplicaciones y los sistemas de archivos y dispositivos que guardan datos. Organizacin y Acceso a Archivos La mayor parte de las estructuras de archivos empleadas en sistemas reales, se encuadran dentro de alguna de las siguientes categoras o como combinacin de ellas.

39

Pilas: Es la forma ms simple de organizacin. Los datos se recogen por orden de llegada. Son registros con rfagas de datos. Pueden tener campos diferentes o similares en distinto orden. Cada campo debe ser autodescriptivo (nombres, valor y longitud). El acceso se hace en forma exhaustiva, para encontrar un registro, es necesario examinar uno por uno hasta ubicarlo. Esta clase de archivos aprovecha bien el espacio, son fciles de actualizar, pero fuera de usos limitados no se adapta a la mayora de las aplicaciones. Archivos secuenciales. Es la forma ms comn de estructura de archivo. Tiene un formato fijo para todos los registros, estos tienen la misma longitud y el mismo nmero de campos de tamao fijo y en un orden determinado.

40

Un campo particular, generalmente el primero de cada registro, se denomina campo clave e identifica unvocamente al registro. Los registros se almacenan en secuencia por la clave (numrica, alfabtica, etc.). La bsqueda secuencial ofrece pobre rendimiento. Archivos secuenciales indexados. Mantienen las caractersticas bsicas de los archivos secuenciales. Los registros se organizan en una secuencia basada en un campo clave, pero se agregan dos caractersticas nuevas que son el ndice de archivo, para soportar accesos aleatorios y un archivo de desborde (overflow).

41

La estructura ms simple, utiliza un solo nivel de indexacin. El ndice, es un archivo secuencial simple con dos campos: un campo clave similar al del archivo principal y un puntero al archivo principal. Para encontrar un campo especfico, se busca en el ndice hasta encontrar el valor mayor de la clave, que sea igual o inmediatamente anterior al valor deseado. La bsqueda continua en el archivo principal a partir de la posicin indicada por el puntero. Cada registro del archivo principal tiene un campo que resulta invisible para las aplicaciones que es un puntero al archivo de desborde. Cuando se agrega un nuevo registro a un archivo, esto se realiza en el archivo de desborde, pero se actualiza el registro precedente del archivo principal con un ndice que apunta al nuevo registro en el archivo de desborde.

42

Este tipo de archivo, reduce significativamente el tiempo necesario para acceder a un registro. Se pueden utilizar mltiples niveles de indexacin para obtener mayor eficacia en el acceso, aunque complicando al Sist. Op.

Archivos Indexados. En este caso no existen los conceptos de secuencialidad y clave nica. Los registros son accedidos solo a travs de sus ndices. No hay restriccin en la ubicacin de los registros ya que cada uno est apuntado por al menos a un ndice. Se pueden utilizar registros de longitud variable. Se suelen utilizar dos tipos de ndices, uno exhaustivo y uno parcial.

43

Archivos directos o de dispersin. Explotan la capacidad de los discos para acceder directamente a cualquier direccin de memoria conocida. Se requiere de un campo clave en cada registro pero no existe el concepto de ordenamiento secuencial. Tambin utilizan archivos de desborde.

44

Directorios y Subdirectorios Son archivos del sistema operativo que contienen informacin de otros archivos contenidos en ellos, incluyendo atributos, ubicacin, propietarios, etc. Gran parte de esta informacin es gestionada por el sistema operativo. Algunas operaciones relacionadas con los directorios son: Crear Directorio Buscar Borrar Archivo Listar Directorio Etc. Comparticin de Archivos Es importante en sistemas multiusuario, y su gestin se realiza teniendo en cuenta los denominados derechos de acceso:

45

Ninguno Adicin Usuario Especfico Conocimiento Actualizacin Grupos de Usuarios Ejecucin Cambio de Proteccin Todos Lectura Solamente Borrado En casos de comparticin de archivos por parte de dos o ms usuarios con derechos de acceso similares, el Sist. Op. debe realizar tareas especiales, que consideran los aspectos de exclusin mutua e interbloqueo.

46

SISTEMAS OPERATIVOS DE TIEMPO REAL

Un proceso o tarea de tiempo real es el que se ejecuta en conexin con algn proceso, funcin o conjunto de sucesos externos al sistema informtico y que debe cumplir uno o ms plazos para interactuar en forma correcta y eficiente con el entorno exterior. Podemos decir que el procesamiento en tiempo real, es un tipo de procesamiento en el que la exactitud del sistema no depende solo del resultado lgico de un clculo, sino tambin del instante en que se produzca este resultado. Algunas aplicaciones de tiempo real incluyen: control de procesos, robtica, control de trfico areo, sistemas de control y mando de aviones, satlites, etc.

47

Dado que los sucesos y por ende la atencin de los mismos se produce en tiempo real, es posible hacer una clasificacin en funcin del plazo asociado a una tarea en particular. Tarea rgida de tiempo real: Debe cumplir un plazo, en caso contrario se producirn daos o error fatal en el sistema. Tarea flexible de tiempo real: Tiene un plazo de ejecucin asociado, que es conveniente pero no obligatorio y aunque haya vencido el plazo, todava tiene sentido planificar y completar la tarea. Otra caracterstica de las tareas de tiempo real es que pueden ser: Aperidica: es recurrente pero no a intervalos regulares. Por ejemplo la llegada de un avin al espacio areo de un controlador. Peridicas: el estmulo o suceso ocurre de manera regular cada T segundos, como el procesador de un TV que recibe un cuadro cada 1/60 de segundo.

48

Espordicos (inesperados): por ejemplo el sobrecalentamiento de un dispositivo. Los SOTR se pueden caracterizar por presentar requisitos especiales en las siguientes reas: Determinismo: Un sistema es determinista cuando realiza operaciones en intervalos de tiempo predeterminados. Si existen varios procesos que compiten por los recursos y por el tiempo del procesador, ningn sistema ser completamente determinista. Hasta donde un sistema puede satisfacer las peticiones en forma determinista, depende de la velocidad con que pueda responder a las interrupciones y si el sistema posee los recursos para gestionar todas las peticiones en el tiempo exigido. Sensibilidad: El determinismo se refiere al tiempo que tarda un SO en reconocer una interrupcin. La sensibilidad tiene en cuenta el tiempo que tarda en dar servicio a la interrupcin.

49

Existen tres caractersticas importantes a tener en cuenta: 1.- La cantidad de tiempo necesario para iniciar la gestin de la interrupcin y comenzar la ejecucin de su rutina de tratamiento (ISR, Interrupt Service Routine) 2.- La cantidad de tiempo necesario para ejecutar la ISR depende generalmente de la plataforma de hardware. 3.- El efecto de anidamiento de las interrupciones. El servicio ser mas lento si una ISR puede ser interrumpida por otra interrupcin. El determinismo y la sensibilidad forman conjuntamente el tiempo de respuesta a sucesos externos. Este tiempo es critico en SOTR.

50

Fiabilidad: Es mucho ms importante en SOTR. Un fallo transitorio en un SO comn, puede solucionarse reiniciando el sistema. El fallo de un procesador en sistemas multiprocesadores, reduce el nivel de servicio. En un SOTR, las perdidas o degradaciones del rendimiento pueden tener consecuencias catastrficas. Tolerancia a fallas: es una caracterstica que hace referencia a la capacidad de un sistema de mantener mximas posibilidades de trabajo y mxima cantidad de datos posibles en caso de fallo. Un SOTR intentar corregir el problema o minimizar sus efectos mientras continua la ejecucin. Un aspecto importante de la tolerancia a fallos es la estabilidad. Un SOTR es estable si en los casos en que es imposible cumplir con todos los plazos de ejecucin de las tareas, el sistema si cumplir con las tareas ms crticas y de mayor prioridad, aun cuando no se cumplan los de algunas tareas menos crticas.

51

Para cumplir los requisitos anteriores, los SOTR incluyen las siguientes caractersticas: Pequeo tamao (con una mnima funcionalidad asociada) Cambios de contexto rpidos Capacidad para responder rpidamente a interrupciones externas Multitarea con herramientas de comunicacin entre procesos, como semforos y seales Uso de archivos secuenciales para almacenar datos a alta velocidad Planificacin expropiativa basada en prioridades Reduccin de los intervalos en los que estn deshabilitadas las interrupciones Alarmas especiales y temporizadores

52

El corazn de un SOTR es el planificador de corto plazo. En el diseo de tales planificadores, no es importante la equidad ni el tiempo medio de respuesta. Lo que resulta importante es que todas las tareas rgidas de tiempo real comiencen y acaben en su plazo y que la mayor cantidad de tareas flexibles tambin sean ejecutadas. Planificacin en tiempo real En el estudio de los algoritmos de planificacin de tiempo real, se observa que los mtodos de planificacin dependen de: )Si el sistema lleva a cabo un anlisis de planificacin )En caso afirmativo si se realiza en forma esttica o dinmica )Si el resultado del anlisis genera un plan con respecto al cual se expiden las tareas durante la ejecucin.

53

En base a las consideraciones anteriores se pueden identificar las siguientes clases de algoritmos: Mtodos con tablas estticas: Realizan un anlisis esttico de las planificaciones posibles. El resultado del anlisis es un plan que determina, durante la ejecucin, cuando debe comenzar o terminar la ejecucin de una tarea. Es aplicable a tareas peridicas. Los datos iniciales son: Tiempo peridico de llegada Tiempo de ejecucin Plazo peridico de finalizacin Prioridad relativa de cada tarea El planificador intenta trazar un plan que le permita cumplir las exigencias de todas las tareas peridicas. Es un mtodo predecible e inflexible, ya que cualquier cambio de exigencia en una tarea, requiere un nuevo plan.

54

Mtodos apropiativos con propiedades estticas: Tambin se realiza un anlisis esttico, pero no se traza ningn plan. En cambio, se usa dicho anlisis para asignar prioridades a tareas, con lo que se puede usar un planificador apropiativo con prioridades convencional. En este caso la asignacin de prioridades se encuentra relacionada con las restricciones de tiempo asociadas a cada tarea. Mtodos dinmicos de planificacin: Se determina la viavilidad durante la ejecucin (dinmicamente), en vez de antes de empezar la ejecucin (estticamente). Se acepta una nueva tarea para ejecutar solo si es factible cumplir con sus restricciones de tiempo.

55

Mtodos dinmicos de mejor resultado: No se realiza ningn anlisis de viavilidad, ya que las tareas son generalmente aperidicas. El sistema intenta cumplir todos los plazos y abandona cualquier proceso ya iniciado y cuyo plazo no se haya cumplido. Es la tcnica utilizada en la mayora de los SOTR en la actualidad. Cuando llega una tarea, el sistema le asigna una prioridad en funcin de sus caractersticas. Se emplea normalmente algn tipo de planificador por plazos. En general se desconoce si se va a cumplir una restriccin de tiempo hasta que vence el plazo o la tarea concluya. Esta es la mayor desventaja, aunque son fciles de implementar.

56

Planificacin por plazos En las aplicaciones de tiempo real, generalmente no preocupa la velocidad absoluta, sino completar y/o iniciar las tareas en el momento mas apropiado, ni antes ni despus, a pesar de las peticiones dinmicas de los recursos, sobrecarga de proceso y fallos de hardware y software. Para mejorar el diseo y rendimiento de un SOTR, se debera disponer de la siguiente informacin: Plazo de comienzo: Instante en que la tarea debe comenzar. Plazo de finalizacin: Instante en que la tarea debe terminar. Generalmente las aplicaciones de tiempo real tienen plazo de comienzo o plazo de finalizacin, pero no ambos.

57

Tiempo de proceso: Tiempo necesario para ejecutar una tarea hasta su finalizacin. En algunos casos, este tiempo se conoce y en otros el SO calcula una media exponencial. Exigencias de recursos: El conjunto de recursos, adems del procesador, que necesita una tarea para su ejecucin. Prioridad: Mide la importancia relativa de la tarea. Las tareas rgidas pueden tener una prioridad absoluta, producindose un fallo si el plazo no se cumple. Las tareas flexibles son generalmente de menor prioridad. Estructura de subtareas: Una tarea puede descomponerse en subtarea obligatoria y subtarea opcional. Solo la obligatoria tiene plazo rgido.

58

Cuando se consideran plazos, hay distintos factores para la planificacin en tiempo real: que tarea se planifica a continuacin y que tipo de expropiacin se permite. Para una determinada poltica de apropiacin, tanto si se emplean plazos de inicio como de finalizacin, utilizar la poltica de planificacin de la tarea con el plazo ms prximo, es la que da mejores resultados. Cuando se especifican plazos de comienzo, tiene sentido utilizar un planificador no expropiativo y que cada tarea se bloquee a s misma despus de completar la parte obligatoria o crtica de su ejecucin, permitiendo satisfacer plazos de comienzo de otras tareas. Si se utilizan plazos de terminacin es apropiada la estrategia apropiativa.

59

Ejemplos Consideremos un ejemplo de planificacin peridica de tareas con plazo de terminacin. Dados dos sensores A y B, el plazo para tomar datos del sensor A es cada 20 ms y del sensor B cada 50 ms. Se tarda 10 ms, incluida la sobrecarga del SO para procesar los datos de A y 25 ms los datos de B. Llegada 10 20 40 60 80 0 50 Ejec. 10 10 10 10 10 25 25 Plazo 20 40 60 80 100 50 100

Prod. A A2 A3 A4 A5 B1 B2

60

A1 B1 10 20

A2 30 40

A3 50

A4 B2 60 70

A5 80 90 100

Consideremos el caso de planificacin por prioridades con A de mayor prioridad que B


A1 B1 A2 B1 A3 B2 A4 B2 A5 B2 A4 A5,B2 Plazo de Terminacin

A1

A2 B1

A3

Vemos que en este caso B1 no es ejecutado en su totalidad. Veamos el mismo caso anterior cuando B tiene mayor prioridad que A
B1 Plazo de terminacin A2 A3 B2 A5

A1

A2 B1

A3

A4

A5,B2

Podemos observar que tanto A1 como A4 no pueden ser ejecutados dentro de sus respectivos plazos de terminacin.

61

Consideremos ahora el caso de una planificacin que, en el instante de apropiacin, da prioridad a la tarea con plazo ms corto de finalizacin.
A1 Plazo de Termina cin B1 A2 B1 A3 A4 B2 A5

A1

A2 B1

A3

A4

A5,B2

En este caso, pueden cumplirse todos los requisitos del sistema. Puesto que todas las tareas son peridicas y predecibles, se usa un mtodo de planificacin con tablas estticas. Consideremos un esquema que trate con tareas aperidicas con plazos de inicio segn la siguiente tabla

62

Proc. A B C D E
Instante A s de llegada 10 Plazos de inicio B

Lleg. 10 20 40 50 60
C D E

TEjec. 20 20 20 20 20

Plazo 110 20 50 90 70

20 B

30

40

50 C

60

70 E

80

90 100 110 D A

Consideremos en primer lugar un caso de planificacin con plazo de inicio


A B A B C D C C E E E D D A

63

Vemos que en este caso la tarea B no puede ser cumplida, aun cuando requiera servicio inmediato. Este es un riesgo comn en la planificacin de tareas aperidicas, especialmente con plazos de inicio. Una variante de esta poltica, conocida como la del plazo ms prximo con tiempos libres no forzosos, mejora el rendimiento
A B B B C D C C E E E D D A A

En este caso, se consideran conocidos los plazos de terminacin de cada tarea, antes de que ellas estn listas. Siempre se planifica la tarea con plazo ms prximo y se deja ejecutar hasta que finalice.

64

Una tarea elegible puede no estar lista lo que puede originar que el procesador quede libre aunque haya tareas listas. En el ejemplo anterior, el sistema se abstiene de planificar la tarea A aunque es la nica lista, debido a que su plazo es el mas largo. Como resultado, todas las tareas son atendidas aun cuando el procesador no se utiliza con mxima eficiencia.

65

Listado y Caractersticas de algunos SOTR


VRTX: Versatile Real Time Executive
Disponible para Intel, Motorola, VME Multitarea: Dispone de mecanismos para satisfacer los requisitos de TR de la mayora de las aplicaciones empotradas Mecanismos de exclusin mutua, sealizacin y comunicacin

VX Works
Es de Wind River. Ms econmico que VRTX Utilitarios para depuracin simblica, comunicacin a travs de redes por medio de TCP/IP y sockets Estructura jerrquica

66

Microncleo proporciona los servicios de:


multitarea comunicacin entre procesos sincronizacin

Herramientas de desarrollo en el anfitrin Conexin anfitrin-empotrado Herramientas del sist. empotrado

67

RT-Mach
Versin en tiempo real de MACH Incluye: Gestin de procesos ligeros basada en el modelo ARTS, con caractersticas de TR Planificador activado por eventos integrado en el ncleo Objetos residentes en memoria Herramientas de tiempo real: planificador 1-2-3 y monitor avanzado de tiempo real (ARM).

RTEMS (Real time for military systems)


Altas prestaciones: multitarea entorno homogneo para mono y multiprocesamiento planificacin con prioridades activadas por eventos

68

Planificacin monotnica en frecuencia opcional comunicacin entre tareas y sincronizacin herencia de prioridades gestin de interrupciones gestin dinmica de memoria alto nivel de reconfigurabilidad

RTEMS core

69

SPRING
Sistema operativo de tiempo real desarrollado en la Univ. de Manchester Trata de resolver algunos conceptos equivocados y deficiencias tradicionales en SO de TR. Es un sistema activado por eventos de gran flexibilidad y muy predecible. Se clasifican las tareas sobre la base del coste relativo del incumplimiento del tiempo de respuesta: Tareas crticas Tareas esenciales Tareas no esenciales

70

QNX
Proporciona un entorno completo de tiempo real para redes de mono o multiprocesadores Arquitectura: Microncleo rodeado por un conjunto de procesos opcionales que brindan compatibilidad con POSIX y UNIX Servicios del microncleo: Comunicacin entre procesos, planificacin y tratamiento de interrupciones de bajo nivel. Fuera del microncleo la funcionalidad se proporciona mediante servidores.
Obligatorio: Servidor de procesos Opcionales: Gestor de sistemas de archivos Gestor de dispositivos Gestor de redes

HARTOS Desarrollado para la arquitectura HARTS (red hexagonal de multiprocesadores de memoria compartida) El ncleo proporciona una interfaz uniforme para comunicaciones entre procesos de tiempo real

71

CHORUS
Ncleo para sistemas distribuidos. Similar a MACH. Reescrito para que sirva como ncleo en sistemas de tiempo real. Mejoras: Ncleo mnimo (10-100Kb) con servicios bsicos que permiten implementar servidores UNIX, POSIX, etc. Procesos de tiempo real crticos. Personalizaciones, construidas sobre el microncleo que permiten integrar CHORUS con otros sistemas (QNX, VRTX, UNIX, OS2, etc.) Distribucin transparente conconectividad total entre los ncleos del sistema. Interfaces abiertas y servicios estndares.

72

MARS
Maintenable Real Time System Sistema distribuido de tiempo real tolerante a fallas, para control de procesos. Desarrollado en la Universidad Tcnica de Viena Claves: Tolerancia a fallas Planificacin esttica Reparacin dinmica Manejo de redes redundantes

SOTR Orientados a Objetos CHAOS: Concurrent Hierachical Object System


Sistema basado en objetos El ncleo ofrece los sistemas bsicos y sobre el mismo se desarrollan sistemas de tiempo real

73

Você também pode gostar