SISTEMAS OPERATIVOS   DE TIEMPO REAL   Prof. Roberto VignoniFacultad de Ingeniería,UNLP                              1
Programa1) Introducción a los sistemas operativos         Historia y evolución         Generalidades2) Procesos         Cr...
Sistemas Operativos                     Programas del Sistema Software                     Programas de AplicaciónInternet...
Historia Los SO han evolucionadointimamente ligados con la evolución de lascomputadoras que los utilizan. – 1a Generación ...
3a Generación (1965-1980)    Circuitos Integrados - Multiprogramación    Sistema /360 IBM - Científico y Comercial    Bajo...
–  Si bien fracasó tuvo enorme influencia en sistemas subsiguientes.– Fenomenal crecimiento de las   minicomputadoras PDP ...
ProcesosProceso: Es la unidad más pequeña detrabajo, individualmente planificable por unSO. Es un concepto dinámico y se r...
Creación y terminación de procesos– Motivos:   » Nuevo trabajo en un proceso por lotes   » Conexión interactiva   » Creado...
Desde el punto de vista del SO, los procesos        pueden adoptar distintos estados                               Expropi...
Bloque de control de proceso (BCP)Creado por el SO cuando un proceso seinstala y que sirve como descriptor durantetoda la ...
Listas de procesos     Creadas por el SO    » Lista de procesos preparados    » Lista de procesos suspendidos Usuario     ...
Hebras – Hilos – (Threads)También llamada proceso liviano (light weightprocess). Son miniprocesos con estadosreducidos que...
Planificación    Conjunto de políticas y mecanismos del    SO que gobiernan el orden en que se    ejecutan los procesos.  ...
Se pueden relacionar las funciones de     planificación con el diagrama de transición de     estados de un proceso.       ...
Ejecutando                     Listo                   Bloqueado                     PCP                   Bloqueado y    ...
Planificador a corto plazo (dispatcher)   Asigna el µp a un proceso entre los preparados   residentes en memoria. Se ejecu...
– Plazo: Si se pueden especificar plazos de  terminación de un proceso, se deben considerar  la maximización de plazos cum...
Criterios orientados al sistema - Otros criterios– Equidad: En ausencia de directivas del usuario  o del SO, los procesos ...
– Menor tiempo restante (SRT, Shortest  Remainning Time)– Planificación expropiativa basada en prioridades– Se utiliza rea...
Gestión de MemoriaSe ocupa de asignar memoria física decapacidad finita a los procesos que la solicitan.Separación y prote...
Asignación ContiguaCada objeto lógico es colocado en bloquesde memoria cuyas direcciones sonestrictamente contiguas.Partic...
Esquemas de GestiónMonitor de un solo proceso (PC-DOS)             Parte residente del SOMemoria             Procesos tran...
Multiproceso - Partición estáticaTabla de descripción de particiones (TDP)  Nº de     Direcc.    Tamaño     Estado Partció...
Situaciones en que el SO no puede asignaruna partición:    1 Ninguna partición es lo suficientemente      grande. Mensaje ...
– Gestionar y asignar espacio de intercambio.(Funciones de un planificador a medio plazo)Criterios de selección de proceso...
Reubicación: Donde se almacena unproceso que había sido retiradotemporariamente.– Estática: El programa parcialmente ejecu...
ComparticiónLa gestión de memoria debe permitir lacompartición de datos y código entreprocesos cooperativos.Existen tres t...
Asignación de Memoria – ParticiónDinámicaAlgoritmos de selección– Primer Ajuste (First Fit). El gestor de memoria  busca e...
Compactación– Cuando la memoria resulta seriamente  fragmentada, hay que reubicar alguna o todas  las particiones en un ex...
Asignación No ContiguaPartes de un objeto lógico pueden estarcolocados en áreas no contiguas de memoriafísica. Existe una ...
Los métodos de traducción de direcciones serealizan con la ayuda de tablas:(TMP)       Tabla de mapa de páginas(TMM)      ...
La traducción de direcciones se realiza pormedio de:             Tablas de mapa de páginas             Tablas de descripto...
La gestión de memoria virtual presentadistintas políticas:      » .Política de asignación: Que cantidad        de memoria ...
La política de ubicación sigue las reglas de lapaginación y segmentación.Políticas de SustituciónSi el gestor de memoria n...
Menos recientemente usada, (LRU,Least Recently Used): En la mayoría de loscasos mejor que el anterior ya que consideralos ...
GESTION DE ARCHIVOS     Servicios brindados por el SO a losusuarios y aplicaciones, relativos al empleo dearchivos.     Pr...
• Garantizar dentro de lo posible que los  datos sean válidos.• Optimizar el rendimiento, desde el  punto de vista del sis...
– Arquitectura de un sistema de archivos     En forma genérica podríamos considerarcinco niveles:      Manejadores de disp...
Supervisor Básico de Entrada/Salida:Es responsable de toda iniciación yterminación de toda E/S con archivos. Tieneestructu...
Pilas: Es la forma más simple deorganización. Los datos se recogen por ordende llegada. Son registros con ráfagas dedatos....
Un campo particular, generalmente elprimero de cada registro, se denomina campoclave e identifica unívocamente al registro...
La estructura más simple, utiliza un solonivel de indexación. El índice, es un archivosecuencial simple con dos campos: un...
Este tipo de archivo, reducesignificativamente el tiempo necesario paraacceder a un registro. Se pueden utilizarmúltiples ...
Archivos directos o de dispersión. Explotan la capacidad de los discos paraacceder directamente a cualquier dirección deme...
Directorios y Subdirectorios      Son archivos del sistema operativo quecontienen información de otros archivoscontenidos ...
Ninguno                Adición    Usuario Específico    Conocimiento           Actualización    Grupos de Usuarios    Ejec...
SISTEMAS OPERATIVOS DE      TIEMPO REAL      Un proceso o tarea de tiempo real es elque se ejecuta en conexión con algún p...
Dado que los sucesos y por ende laatención de los mismos se produce en tiemporeal, es posible hacer una clasificación enfu...
Esporádicos (inesperados): por ejemplo elsobrecalentamiento de un dispositivo.Los SOTR se pueden caracterizar porpresentar...
Existen tres características importantesa tener en cuenta:      1.- La cantidad de tiempo necesario parainiciar la gestión...
Fiabilidad: Es mucho más importante enSOTR. Un fallo transitorio en un SO común,puede solucionarse reiniciando el sistema....
Para cumplir los requisitos anteriores,los SOTR incluyen las siguientescaracterísticas:     • Pequeño tamaño (con una míni...
El corazón de un SOTR es el planificador decorto plazo. En el diseño de talesplanificadores, no es importante la equidad n...
– En base a las consideraciones anteriores   se pueden identificar las siguientes clases   de algoritmos:Métodos con tabla...
– Métodos apropiativos con propiedades  estáticas: También se realiza un análisis  estático, pero no se traza ningún plan....
– Métodos dinámicos de mejor resultado: No   se realiza ningún análisis de viavilidad, ya   que las tareas son generalment...
– Planificación por plazos– En las aplicaciones de tiempo real,  generalmente no preocupa la velocidad  absoluta, sino com...
– Tiempo de proceso: Tiempo necesario  para ejecutar una tarea hasta su  finalización. En algunos casos, este  tiempo se c...
–  Cuando se consideran plazos, hay distintos factores para la planificación en tiempo real: que tarea se planifica a cont...
– Ejemplos–      Consideremos un ejemplo de     planificación periódica de tareas con plazo     de terminación. Dados dos ...
A1             A2                A3            A4                A5       B1                                     B2      1...
– Consideremos ahora el caso de una    planificación que, en el instante de    apropiación, da prioridad a la tarea con   ...
Proc.                  Lleg.                    TEjec.        Plazo A                      10                       20    ...
– Vemos que en este caso la tarea B no  puede ser cumplida, aun cuando requiera  servicio inmediato. Este es un riesgo  co...
– Una tarea elegible puede no estar lista lo  que puede originar que el procesador  quede libre aunque haya tareas listas....
Listado y Características de      algunos SOTRVRTX: Versatile Real Time ExecutiveDisponible para Intel, Motorola, VMEMulti...
Micronúcleo proporciona los servicios de: – multitarea – comunicación entre procesos – sincronización   Herramientas de de...
RT-MachVersión en tiempo real de MACHIncluye: – Gestión de procesos ligeros basada en el    modelo ARTS, con característic...
– Planificación monotónica en frecuencia  opcional– comunicación entre tareas y sincronización– herencia de prioridades– g...
SPRINGSistema operativo de tiempo real desarrolladoen la Univ. de ManchesterTrata de resolver algunos conceptosequivocados...
QNXProporciona un entorno completo de tiemporeal para redes de mono o multiprocesadoresArquitectura: Micronúcleo rodeado p...
CHORUSNúcleo para sistemas distribuidos. Similar a MACH.Reescrito para que sirva como núcleo en sistemas detiempo real.Mej...
MARSMaintenable Real Time SystemSistema distribuido de tiempo real tolerante a fallas,para control de procesos.Desarrollad...
Próxima SlideShare
Cargando en…5
×

Sotr 1

241 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
241
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
8
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Sotr 1

  1. 1. SISTEMAS OPERATIVOS DE TIEMPO REAL Prof. Roberto VignoniFacultad de Ingeniería,UNLP 1
  2. 2. Programa1) Introducción a los sistemas operativos Historia y evolución Generalidades2) Procesos Creación y estados Transición Planificación: Criterios y algoritmos3) Gestión de memoria Asignación contigua y no contigua Memoria virtual4) Gestión de Archivos5) Sistemas operativos de tiempo real Funcionalidades y características Planificación Sincronización Estándares y técnicas de evaluación de funcionamiento6) Ejemplos de S.O. de Tiempo Real 2
  3. 3. Sistemas Operativos Programas del Sistema Software Programas de AplicaciónInternet Sist. Contable Juegos AplicacionesCompilad. Editores Interpretes (Modo usuario) Sistema Operativo (Modo supervisor) Lenguaje de Máquina Instrucciones - Assembler Microprogramación Dispositivos Físicos C.I. Plaquetas, cables, etc. Definición: Sistema manejador de recursos que permite una distribución controlada y ordenada del µp,.memoria, E/S, entre los diversos programas que compiten por ellos. 3
  4. 4. Historia Los SO han evolucionadointimamente ligados con la evolución de lascomputadoras que los utilizan. – 1a Generación (1945-1955) Tubos de vacío - Tableros enchufables Programación en lenguaje absoluto - Cableado Cálculos numéricos directos (Tablas de senos y cosenos) Después de 1950 - Tarjetas perforadas - Procesos en serie. – 2a Generación (1955-1965) Transistores - Sistemas por lotes - Tarjetas perforadas Programación en Fortran Sist Op. FMS (Fortran Monitor System) IBSYS Sist. Op. de IBM 7094. 4
  5. 5. 3a Generación (1965-1980) Circuitos Integrados - Multiprogramación Sistema /360 IBM - Científico y Comercial Bajo tiempo de respuesta de sist. por lotes Tiempo compartido Multiprogramación Tiempo Por lotes compartido Objetivo Maximizar la Minimizar el Principal Utilizacion del µp Tiempo de resp. Origen de las Instrucciones de Ordenes dadas Instrucci control incluidas desde una ones con el trabajo terminal Al sist. Op.– CTSS del MIT primer sistema de tiempo compartido sobre IBM 7904 MIT Bell Labs MULTICS (Información GE multiplexada y servicios de computación) 5
  6. 6. – Si bien fracasó tuvo enorme influencia en sistemas subsiguientes.– Fenomenal crecimiento de las minicomputadoras PDP -1 a PDP -11 Brian Kernigan UNICS UNIX Dennis Ritchie Creador de “C” 4aGeneración (1980-1990) Computadora personal MS-DOS Intel UNIX Motorola y otras (más grandes) 5a Generación (1990 - ? Windows 95 - NT Linux UNIX Sistemas operativos distribuidos 6
  7. 7. ProcesosProceso: Es la unidad más pequeña detrabajo, individualmente planificable por unSO. Es un concepto dinámico y se refiere a unprograma en ejecución que sufre cambios deestados y atributos.Programa ejecutable: entidad estática quepuede dar lugar a uno o varios procesos. 7
  8. 8. Creación y terminación de procesos– Motivos: » Nuevo trabajo en un proceso por lotes » Conexión interactiva » Creado por el SO para brindar un servicio » Generado por un proceso existente » Terminación normal » Tiempo límite excedido » No hay memoria disponible » Violación de límites de memoria » Fallo de E/S » Intervención del operador o del SO » Terminación del proceso padre 8
  9. 9. Desde el punto de vista del SO, los procesos pueden adoptar distintos estados Expropiado Admitir LiberarNuevo Listo Ejecución Terminado Planificado Espera Suceso Suspendido Nuevo: Proceso recién creado, pero no admitido por el SO como ejecutable Listo o preparado: Posee todos los recursos excepto el procesador En ejecución: Está siendo ejecutado Suspendido o bloqueado: Carece de algunos recursos además del µp Terminado: Ha sido excluido del grupo de los ejecutables 9
  10. 10. Bloque de control de proceso (BCP)Creado por el SO cuando un proceso seinstala y que sirve como descriptor durantetoda la vida del proceso.El BCP incluye todos o algunos de lossiguientes campos de información – Nombre del proceso – Prioridad – Estado (listo, en ejecución o suspendido) – Estados de hardware (registros, flags) – Información de planificación – Información de gestión de memoria – Estados de E/S (dispositivos asignados, operaciones pendientes) – Información de gestión de archivos (abiertos, derechos de acceso) 10
  11. 11. Listas de procesos Creadas por el SO » Lista de procesos preparados » Lista de procesos suspendidos Usuario Sistema operativo Px en Ejecución CambioSuceso de Modo 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 conmutación. Planifica el siguiente proceso a ejecutar Py Restaura el estado de Hardware de Py Cambio Restaura atributos desde de Modo BCPyPy en Ejecución 11
  12. 12. Hebras – Hilos – (Threads)También llamada proceso liviano (light weightprocess). Son miniprocesos con estadosreducidos que comparten recursos tales comomemoria y archivos.Cada hebra pertenece exclusivamente a unsolo proceso y ninguna hebra puede existirfuera de un proceso.El proceso pasa a ser estático y se convierteen un entorno y propietario de recursos para laejecución de las hebras.Sistemas que no usan hebras: Tradicionales,pesados, buena protección, bajo rendimiento,UNIXSistemas con hebras: Livianos, rápidos, pocaprotección, alto rendimiento, OS/2, WindowsNT. 12
  13. 13. Planificación Conjunto de políticas y mecanismos del SO que gobiernan el orden en que se ejecutan los procesos. Planificación a largo plazo: Decisión de agregar procesos a la reserva de procesos a ejecutar. Planificación a medio plazo: Decisión de agregar procesos al conjunto de procesos que se encuentran parcial o completamente en memoria. Planificación a corto plazo: Decisión sobre que proceso disponible será ejecutado por el microprocesador. Planificación de E/S: Decisión sobre que solicitud de E/S pendiente, será tratada por un dispositivo disponible. 13
  14. 14. Se pueden relacionar las funciones de planificación con el diagrama de transición de estados de un proceso. Nuevo PLP PLP Listo y Ejecutando Suspendido Listo PMP PCPBloqueado y TerminadoSuspendido Bloqueado PMP 14
  15. 15. Ejecutando Listo Bloqueado PCP Bloqueado y Suspendido Listo y Suspendido PMP Nuevo PLP TerminadoPlanificador 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 función de intercambio. Controla las transiciones de suspendido a preparado de los procesos retirados. 15
  16. 16. 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 interrumpción del proceso en ejecución 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 recepción de señalesCriterios de PlanificaciónCriterios 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 finalización. 16
  17. 17. – Plazo: Si se pueden especificar plazos de terminación de un proceso, se deben considerar la maximización 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 número de procesos terminados por unidad de tiempo. Depende de la longitud media de cada proceso, pero también de la técnica de planificación.– Utilizacion del Prosesador: Se considera el porcentaje de tiempo que el procesador se mantiene ocupado. 17
  18. 18. Criterios orientados al sistema - Otros criterios– Equidad: En ausencia de directivas del usuario o del SO, los procesos deben ser tratados de igual forma. Ningún proceso debe sufrir inanición.– Prioridades: La planificación debe favorecer a aquellos procesos a los que se haya asignado mayor prioridad.– Equilibrios: Se deben mantener ocupados los recursos del sistemaAlgoritmos de Planificación » 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
  19. 19. – Menor tiempo restante (SRT, Shortest Remainning Time)– Planificación expropiativa basada en prioridades– Se utiliza realimentación con múltiples niveles RQ0 Liberar Entrada CPU Liberar RQ1 CPU Liberar RQn CPU 19
  20. 20. Gestión de MemoriaSe ocupa de asignar memoria física decapacidad finita a los procesos que la solicitan.Separación y protección de espacios dememoria – ComparticiónSe pueden realizar distintea clasificaciones: – Asignación Contigua – Asignación No Contigua 20
  21. 21. Asignación ContiguaCada objeto lógico es colocado en bloquesde memoria cuyas direcciones sonestrictamente contiguas.Partición Estática: Cuando se inicializa elsistemaInconveniente: Fragmentación internaPartición Dinámica: En respuesta ademandas del usuarioInconveniente: Fragmentación externa 21
  22. 22. Esquemas de GestiónMonitor de un solo proceso (PC-DOS) Parte residente del SOMemoria Procesos transitorios, cargadosy ejecutados uno por vez.Solo existe protección para el código del SO Registro valla Bits de protección 22
  23. 23. Multiproceso - Partición estáticaTabla de descripción de particiones (TDP) Nº de Direcc. Tamaño Estado Partción Base 0 0K 100 K Asig. 1 100 K 300 K Libre 2 400 K 100 K Asig. 3 500 K 250 K Asig. 4 750 K 250 K LibreEstrategias de Asignación de Particiones – Primer Ajuste: Asigna la primera partición libre, lo suficientemente grande para acomodar al proceso. – Mejor Ajuste: El SO asigna la partición más pequeña que satisfaga las necesidades del proceso.La elección es según sea necesaria lavelocidad de ejecución o la utilización dememoria. 23
  24. 24. Situaciones en que el SO no puede asignaruna partición: 1 Ninguna partición es lo suficientemente grande. Mensaje de error. Reconfiguración. 2 Todas las particiones están asignadas. Se pospone la carga. Se libera una partición (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 reincorporación.Intercambiador: Proceso del SO encargadode:– Seleccionar procesos para retirarlos de memoria– Seleccionar procesos para incorporarlos a memoria 24
  25. 25. – Gestionar y asignar espacio de intercambio.(Funciones de un planificador a medio plazo)Criterios de selección de procesos a serretirados 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 memoriaArchivo de intercambio: Almacena la imagendinámica de un proceso retirado. – Global: Unico, grande, creado en la inicialización, estático. – Dedicados: Pequeños, uno por cada proceso, dinámicos. 25
  26. 26. Reubicación: Donde se almacena unproceso que había sido retiradotemporariamente.– Estática: El programa parcialmente ejecutado y retirado de memoria, es recuperado en la misma partición de la que fue desalojado. Alta complejidad espacial y temporal.– Dinámica: Utiliza direcciones virtuales. Se realiza en tiempo de ejecución. Asistencia de hardware para la correspondencia entre direcciones virtuales y espacio físico. 26
  27. 27. ComparticiónLa gestión de memoria debe permitir lacompartición de datos y código entreprocesos cooperativos.Existen tres técnicas básicas: • Los objetos compartidos los maneja el SO como llamadas al sistema. Simple, pero se genera un SO grande monolítico y difícil de mantener. • Mantener múltiples copias de los objetos compartidos, uno por cada partición de la cooperación. 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
  28. 28. Asignación de Memoria – ParticiónDinámicaAlgoritmos de selección– Primer Ajuste (First Fit). El gestor de memoria busca el primer bloque libre lo suficientemente grande como para alojar la partición. Se comienza a examinar desde la primera posición de memoria.– Siguiente Ajuste (Next Fit). Se comienza a examinar la memoria desde la dirección indicada por un puntero que fue guardado donde termino la asignación anterior.– Mejor Ajuste (Best Fit). Se recorre toda la memoria libre hasta encontrar el bloque más pequeño que pueda alojar la partición que esta siendo creada.– Peor Ajuste (Worst Fit). Siempre se asigna el bloque más grande, siempre que este exceda en tamaño al de la partición a crearse. 28
  29. 29. Compactación– 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 necesariaSegmentación– 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 lógicas llamadas segmentos. 29
  30. 30. Asignación No ContiguaPartes de un objeto lógico pueden estarcolocados en áreas no contiguas de memoriafísica. Existe una correspondencia entre elespacio de direcciones virtuales contiguo ylas posiciones de memoria física nocontiguas.Paginación La memoria física se divide en una seriede porciones de tamaño fijo denominadasmarcos de página. El espacio de direcciones virtuales sedivide en bloques de igual tamaño llamadospáginas.La asignación de memoria consiste engenerar la correspondencia entre páginasvirtuales con sus marcos de página físicos, yse realiza a partir de un mecanismo detraducción de direcciones. Como lacorrespondencia se hace separadamente, losdiferentes marcos asignados a un proceso,no necesitan estar en áreas contiguas dememoria física. 30
  31. 31. Los métodos de traducción de direcciones serealizan con la ayuda de tablas:(TMP) Tabla de mapa de páginas(TMM) Tabla de mapa de memoriaMemoria Virtual Una imagen del espacio de memoriareal de un proceso se mantiene en memoriasecundaria, trayendo partes de esa imagen amemoria principal, según sea necesario. Lamemoria virtual permite la ejecución deprocesos parcialmente cargados. La memoria virtual, puede considerarsecomo una extensión de la paginación o de lasegmentación o una combinación de ambas. 31
  32. 32. La traducción de direcciones se realiza pormedio de: Tablas de mapa de páginas Tablas de descriptores de segmentos Ambas 32
  33. 33. La gestión de memoria virtual presentadistintas políticas: » .Política de asignación: Que cantidad de memoria real se asigna a cada proceso activo. » .Política de acceso: Cuando y que elementos se incorporan desde el almacenamiento secundario a la memoria principal. » .Política de sustitución: Cuando hay que incorporar un nuevo elemento y no existe memoria real libre, que elemento se desaloja. » .Política de ubicación: Donde se coloca el elemento nuevo.En general los elementos son traídos amemoria principal cuando en el proceso enejecución produce una excepción porelemento ausente. Es decir paginación osegmentación por demanda. También seutilizan políticas de prebúsqueda 33
  34. 34. La política de ubicación sigue las reglas de lapaginación y segmentación.Políticas de SustituciónSi el gestor de memoria no dispone demarcos de página libres cuando se generauna excepcióm por elemento ausente puede: » )Suspender el proceso con elemento faltante hasta que haya espacio suficiente en memoria. » )Desalojar una página para dejarle sitio a la del proceso que lo solicita.Algoritmos de sustitución Primero en entrar, primero en salir(FIFO): Sustituye la página residente quelleve mas tiempo en memoria. Se utiliza unacola de páginas para llevar la cuenta delorden relativo en que se cargan las páginasen memoria. 34
  35. 35. Menos recientemente usada, (LRU,Least Recently Used): En la mayoría de loscasos mejor que el anterior ya que consideralos patrones de comportamiento de losprogramas. Impone recargo de software yrequiere de soporte hardware. Optimo: Algoritmo teórico desarrolladopor Belady, requiere conocimiento delcomportamiento futuro de los procesos, por loque no es realizable y se utiliza comoreferencia en simulaciones. Aproximaciones o Reloj: Dado que elFIFO tiene bajo rendimiento y el LRU escostoso, se utiliza una combinación de ambosconocida como reloj o No RecientementeUsado (NRU) 35
  36. 36. GESTION DE ARCHIVOS Servicios brindados por el SO a losusuarios y aplicaciones, relativos al empleo dearchivos. Presenta los siguientes objetivos: • Cumplir con las necesidades de gestión de datos y con requisitos del usuario. Almacenamiento Recuperar todo Recuperar previo Recuperar uno Borrar uno Actualizar Insertar 36
  37. 37. • Garantizar dentro de lo posible que los datos sean válidos.• 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 pérdida o destrucción de datos.• Proporcionar soporte de entrada/salida para múltiples usuarios en sistema multiusuario. 37
  38. 38. – Arquitectura de un sistema de archivos En forma genérica podríamos considerarcinco niveles: Manejadores de dispositivos (DeviceDrivers): Puede considerarse el nivel másbajo. Se comunican directamente conperiféricos o sus controladores. Sonresponsables de iniciar las operaciones deE/S en un dispositivo (generalmente disco ocinta) y procesar la terminación de unapetición de E/S. Sistema de Archivos Básico, o nivelde E/S física. Este nivel maneja bloques dedatos que son intercambiados con sistemasde disco o cinta. No comprende la estructurade los datos, solo se encarga de ubicarlos endispositivos de almacenamiento secundario ointermedio. 38
  39. 39. Supervisor Básico de Entrada/Salida:Es responsable de toda iniciación yterminación de toda E/S con archivos. Tieneestructuras de control que se encargan de laE/S con los dispositivos, la planificación y elestado de los archivos. E/S Lógica: Permite a los usuarios yaplicaciones acceder a los registros. Adiferencia de l sistema de archivos básicoque trabaja con bloques, la E/S lógica lo hacecon registros. Método de Acceso: Es el nivel máscercano al usuario. Proporciona una interfazentre las aplicaciones y los sistemas dearchivos y dispositivos que guardan datos. – Organización y Acceso a Archivos La mayor parte de las estructuras dearchivos empleadas en sistemas reales, seencuadran dentro de alguna de las siguientescategorías o como combinación de ellas. 39
  40. 40. Pilas: Es la forma más simple deorganización. Los datos se recogen por ordende llegada. Son registros con ráfagas dedatos. Pueden tener campos diferentes osimilares en distinto orden. Cada campo debeser autodescriptivo (nombres, valor ylongitud).El acceso se hace en forma exhaustiva, paraencontrar un registro, es necesario examinaruno por uno hasta ubicarlo. Esta clase de archivos aprovecha bien elespacio, son fáciles de actualizar, pero fuerade usos limitados no se adapta a la mayoríade las aplicaciones.Archivos secuenciales. Es la forma más común de estructura dearchivo. Tiene un formato fijo para todos losregistros, estos tienen la misma longitud y elmismo número de campos de tamaño fijo yen un orden determinado. 40
  41. 41. Un campo particular, generalmente elprimero de cada registro, se denomina campoclave e identifica unívocamente al registro.Los registros se almacenan en secuencia porla clave (numérica, alfabética, etc.). La búsqueda secuencial ofrece pobrerendimiento.Archivos secuenciales indexados.Mantienen las características básicas de losarchivos secuenciales. Los registros seorganizan en una secuencia basada en uncampo clave, pero se agregan doscaracterísticas nuevas que son el índice dearchivo, para soportar accesos aleatorios y unarchivo de desborde (overflow). 41
  42. 42. La estructura más simple, utiliza un solonivel de indexación. El índice, es un archivosecuencial simple con dos campos: un campoclave similar al del archivo principal y unpuntero al archivo principal. Para encontrarun campo específico, se busca en el índicehasta encontrar el valor mayor de la clave,que sea igual o inmediatamente anterior alvalor deseado. La búsqueda continua en elarchivo principal a partir de la posiciónindicada por el puntero. Cada registro del archivo principal tieneun campo que resulta invisible para lasaplicaciones que es un puntero al archivo dedesborde. Cuando se agrega un nuevoregistro a un archivo, esto se realiza en elarchivo de desborde, pero se actualiza elregistro precedente del archivo principal conun índice que apunta al nuevo registro en elarchivo de desborde. 42
  43. 43. Este tipo de archivo, reducesignificativamente el tiempo necesario paraacceder a un registro. Se pueden utilizarmúltiples niveles de indexación para obtenermayor eficacia en el acceso, aunquecomplicando al Sist. Op.Archivos Indexados. En este caso no existen los conceptos desecuencialidad y clave única. Los registrosson accedidos solo a través de sus índices.No hay restricción en la ubicación de losregistros ya que cada uno está apuntado poral menos a un índice. Se pueden utilizarregistros de longitud variable. Se suelen utilizar dos tipos de índices,uno exhaustivo y uno parcial. 43
  44. 44. Archivos directos o de dispersión. Explotan la capacidad de los discos paraacceder directamente a cualquier dirección dememoria conocida. Se requiere de un campoclave en cada registro pero no existe elconcepto de ordenamiento secuencial.También utilizan archivos de desborde. 44
  45. 45. Directorios y Subdirectorios Son archivos del sistema operativo quecontienen información de otros archivoscontenidos en ellos, incluyendo atributos,ubicación, propietarios, etc. Gran parte deesta información es gestionada por el sistemaoperativo. Algunas operaciones relacionadas conlos directorios son: Crear Directorio Buscar Borrar Archivo Listar Directorio Etc. – Compartición de Archivos Es importante en sistemas multiusuario,y su gestión se realiza teniendo en cuenta losdenominados derechos de acceso: 45
  46. 46. Ninguno Adición Usuario Específico Conocimiento Actualización Grupos de Usuarios Ejecución Cambio de Protección Todos Lectura Solamente Borrado En casos de compartición de archivospor parte de dos o más usuarios conderechos de acceso similares, el Sist. Op.debe realizar tareas especiales, queconsideran los aspectos de exclusión mutuae interbloqueo. 46
  47. 47. SISTEMAS OPERATIVOS DE TIEMPO REAL Un proceso o tarea de tiempo real es elque se ejecuta en conexión con algún proceso,función o conjunto de sucesos externos alsistema informático y que debe cumplir uno omás plazos para interactuar en forma correctay eficiente con el entorno exterior. Podemos decir que el procesamiento entiempo real, es un tipo de procesamiento en elque la exactitud del sistema no depende solodel resultado lógico de un cálculo, sinotambién del instante en que se produzca esteresultado. Algunas aplicaciones de tiempo realincluyen: control de procesos, robótica, controlde tráfico aéreo, sistemas de control y mandode aviones, satélites, etc. 47
  48. 48. Dado que los sucesos y por ende laatención de los mismos se produce en tiemporeal, es posible hacer una clasificación enfunción del plazo asociado a una tarea enparticular. Tarea rígida de tiempo real: Debecumplir un plazo, en caso contrario seproducirán daños o error fatal en el sistema. Tarea flexible de tiempo real: Tiene unplazo de ejecución asociado, que esconveniente pero no obligatorio y aunquehaya vencido el plazo, todavía tiene sentidoplanificar y completar la tarea. Otra característica de las tareas detiempo real es que pueden ser:Aperiódica: es recurrente pero no aintervalos regulares. Por ejemplo la llegadade un avión al espacio aéreo de uncontrolador.Periódicas: el estímulo o suceso ocurre demanera regular cada ∆T segundos, como elprocesador de un TV que recibe un cuadrocada 1/60 de segundo. 48
  49. 49. Esporádicos (inesperados): por ejemplo elsobrecalentamiento de un dispositivo.Los SOTR se pueden caracterizar porpresentar requisitos especiales en lassiguientes áreas:Determinismo: Un sistema es deterministacuando realiza operaciones en intervalos detiempo predeterminados. Si existen variosprocesos que compiten por los recursos y porel tiempo del procesador, ningún sistema serácompletamente determinista. Hasta donde unsistema puede satisfacer las peticiones enforma determinista, depende de la velocidadcon que pueda responder a las interrupcionesy si el sistema posee los recursos paragestionar todas las peticiones en el tiempoexigido.Sensibilidad: El determinismo se refiere altiempo que tarda un SO en reconocer unainterrupción. La sensibilidad tiene en cuentael tiempo que tarda en dar servicio a lainterrupción. 49
  50. 50. Existen tres características importantesa tener en cuenta: 1.- La cantidad de tiempo necesario parainiciar la gestión de la interrupción ycomenzar la ejecución de su rutina detratamiento (ISR, Interrupt Service Routine) 2.- La cantidad de tiempo necesario paraejecutar la ISR depende generalmente de laplataforma de hardware. 3.- El efecto de anidamiento de lasinterrupciones. El servicio será mas lento siuna ISR puede ser interrumpida por otrainterrupción.El determinismo y la sensibilidad formanconjuntamente el tiempo de respuesta asucesos externos. Este tiempo es critico enSOTR. 50
  51. 51. Fiabilidad: Es mucho más importante enSOTR. Un fallo transitorio en un SO común,puede solucionarse reiniciando el sistema. Elfallo de un procesador en sistemasmultiprocesadores, reduce el nivel deservicio. En un SOTR, las perdidas odegradaciones del rendimiento pueden tenerconsecuencias catastróficas.Tolerancia a fallas: es una característica quehace referencia a la capacidad de un sistemade mantener máximas posibilidades detrabajo y máxima cantidad de datos posiblesen caso de fallo. Un SOTR intentará corregirel problema o minimizar sus efectos mientrascontinua la ejecución. Un aspecto importante de la tolerancia afallos es la estabilidad. Un SOTR es establesi en los casos en que es imposible cumplircon todos los plazos de ejecución de lastareas, el sistema si cumplirá con las tareasmás críticas y de mayor prioridad, auncuando no se cumplan los de algunas tareasmenos críticas. 51
  52. 52. Para cumplir los requisitos anteriores,los SOTR incluyen las siguientescaracterísticas: • Pequeño tamaño (con una mínima funcionalidad asociada) • Cambios de contexto rápidos • Capacidad para responder rápidamente a interrupciones externas • Multitarea con herramientas de comunicación entre procesos, como semáforos y señales • Uso de archivos secuenciales para almacenar datos a alta velocidad • Planificación expropiativa basada en prioridades • Reducción de los intervalos en los que están deshabilitadas las interrupciones • Alarmas especiales y temporizadores 52
  53. 53. El corazón de un SOTR es el planificador decorto plazo. En el diseño de talesplanificadores, no es importante la equidad niel tiempo medio de respuesta. Lo que resultaimportante es que todas las tareas rígidas detiempo real comiencen y acaben en su plazoy que la mayor cantidad de tareas flexiblestambién sean ejecutadas. – Planificación en tiempo real – En el estudio de los algoritmos de planificación de tiempo real, se observa que los métodos de planificación dependen de: – )Si el sistema lleva a cabo un análisis de planificación – )En caso afirmativo si se realiza en forma estática o dinámica – )Si el resultado del análisis genera un plan con respecto al cual se expiden las tareas durante la ejecución. 53
  54. 54. – En base a las consideraciones anteriores se pueden identificar las siguientes clases de algoritmos:Métodos con tablas estáticas: Realizan unanálisis estático de las planificacionesposibles. El resultado del análisis es un planque determina, durante la ejecución, cuandodebe comenzar o terminar la ejecución deuna tarea. Es aplicable a tareas periódicas.Los datos iniciales son: – Tiempo periódico de llegada – Tiempo de ejecución – Plazo periódico de finalización – Prioridad relativa de cada tarea – El planificador intenta trazar un plan que le permita cumplir las exigencias de todas las tareas periódicas. Es un método predecible e inflexible, ya que cualquier cambio de exigencia en una tarea, requiere un nuevo plan. 54
  55. 55. – Métodos apropiativos con propiedades estáticas: También se realiza un análisis estático, pero no se traza ningún plan. En cambio, se usa dicho análisis para asignar prioridades a tareas, con lo que se puede usar un planificador apropiativo con prioridades convencional. En este caso la asignación de prioridades se encuentra relacionada con las restricciones de tiempo asociadas a cada tarea.– Métodos dinámicos de planificación: Se determina la viavilidad durante la ejecución (dinámicamente), en vez de antes de empezar la ejecución (estáticamente). Se acepta una nueva tarea para ejecutar solo si es factible cumplir con sus restricciones de tiempo. 55
  56. 56. – Métodos dinámicos de mejor resultado: No se realiza ningún análisis de viavilidad, ya que las tareas son generalmente aperiódicas. El sistema intenta cumplir todos los plazos y abandona cualquier proceso ya iniciado y cuyo plazo no se haya cumplido. Es la técnica utilizada en la mayoría delos SOTR en la actualidad. Cuando llega unatarea, el sistema le asigna una prioridad enfunción de sus características. Se empleanormalmente algún tipo de planificador porplazos. En general se desconoce si se va acumplir una restricción de tiempo hasta quevence el plazo o la tarea concluya. Esta es lamayor desventaja, aunque son fáciles deimplementar. 56
  57. 57. – Planificación 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 después, a pesar de las peticiones dinámicas de los recursos, sobrecarga de proceso y fallos de hardware y software.– Para mejorar el diseño y rendimiento de un SOTR, se debería disponer de la siguiente información:– Plazo de comienzo: Instante en que la tarea debe comenzar.– Plazo de finalización: Instante en que la tarea debe terminar. Generalmente las aplicaciones de tiempo real tienen plazo de comienzo o plazo de finalización, pero no ambos. 57
  58. 58. – Tiempo de proceso: Tiempo necesario para ejecutar una tarea hasta su finalización. En algunos casos, este tiempo se conoce y en otros el SO calcula una media exponencial.– Exigencias de recursos: El conjunto de recursos, además del procesador, que necesita una tarea para su ejecución.– Prioridad: Mide la importancia relativa de la tarea. Las tareas rígidas pueden tener una prioridad absoluta, produciéndose 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 rígido. 58
  59. 59. – Cuando se consideran plazos, hay distintos factores para la planificación en tiempo real: que tarea se planifica a continuación y que tipo de expropiación se permite.– Para una determinada política de apropiación, tanto si se emplean plazos de inicio como de finalización, utilizar la política de planificación de la tarea con el plazo más próximo, 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 después de completar la parte obligatoria o crítica de su ejecución, permitiendo satisfacer plazos de comienzo de otras tareas.– Si se utilizan plazos de terminación es apropiada la estrategia apropiativa. 59
  60. 60. – Ejemplos– Consideremos un ejemplo de planificación periódica de tareas con plazo de terminación. 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.Prod. Llegada Ejec. PlazoA 10 10 20A2 20 10 40A3 40 10 60A4 60 10 80A5 80 10 100B1 0 25 50B2 50 25 100 60
  61. 61. A1 A2 A3 A4 A5 B1 B2 10 20 30 40 50 60 70 80 90 100 Consideremos el caso de planificación por prioridades con A de mayor prioridad que B A1 B1 A2 B1 A3 B2 A4 B2 A5 B2Plazo deTerminación A1 A2 B1 A3 A4 A5,B2 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 A2 A3 B2 A5Plazo determinación A1 A2 B1 A3 A4 A5,B2 Podemos observar que tanto A1 como A4 no pueden ser ejecutados dentro de sus respectivos plazos de terminación. 61
  62. 62. – Consideremos ahora el caso de una planificación que, en el instante de apropiación, da prioridad a la tarea con plazo más corto de finalización. A1 B1 A2 B1 A3 A4 B2 A5Plazo deTerminación A1 A2 B1 A3 A4 A5,B2 – En este caso, pueden cumplirse todos los requisitos del sistema. Puesto que todas las tareas son periódicas y predecibles, se usa un método de planificación con tablas estáticas. – Consideremos un esquema que trate con tareas aperiódicas con plazos de inicio según la siguiente tabla 62
  63. 63. Proc. Lleg. TEjec. Plazo A 10 20 110 B 20 20 20 C 40 20 50 D 50 20 90 E 60 20 70Instante A B C D Es dellegada 10 20 30 40 50 60 70 80 90 100 110Plazosde B C E D Ainicio Consideremos en primer lugar un caso de planificación con plazo de inicio A B C D E A C E D B C E D A 63
  64. 64. – Vemos que en este caso la tarea B no puede ser cumplida, aun cuando requiera servicio inmediato. Este es un riesgo común en la planificación de tareas aperiódicas, especialmente con plazos de inicio.– Una variante de esta política, conocida como la del plazo más próximo con tiempos libres no forzosos, mejora el rendimientoA B C D E B C E D A B C E D A– En este caso, se consideran conocidos los plazos de terminación de cada tarea, antes de que ellas estén listas. Siempre se planifica la tarea con plazo más próximo y se deja ejecutar hasta que finalice. 64
  65. 65. – 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 máxima eficiencia. 65
  66. 66. Listado y Características de algunos SOTRVRTX: Versatile Real Time ExecutiveDisponible para Intel, Motorola, VMEMultitarea: Dispone de mecanismos parasatisfacer los requisitos de TR de la mayoríade las aplicaciones empotradasMecanismos de exclusión mutua, señalizacióny comunicaciónVX WorksEs de Wind River. Más económico que VRTXUtilitarios para depuración simbólica,comunicación a través de redes por medio deTCP/IP y socketsEstructura jerárquica 66
  67. 67. Micronúcleo proporciona los servicios de: – multitarea – comunicación entre procesos – sincronización Herramientas de desarrollo en el anfitrión Conexión anfitrión-empotrado Herramientas del sist. empotrado 67
  68. 68. RT-MachVersión en tiempo real de MACHIncluye: – Gestión de procesos ligeros basada en el modelo ARTS, con características de TR – Planificador activado por eventos integrado en el núcleo – 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 homogéneo para mono y multiprocesamiento planificación con prioridades activadas por eventos 68
  69. 69. – Planificación monotónica en frecuencia opcional– comunicación entre tareas y sincronización– herencia de prioridades– gestión de interrupciones– gestión dinámica de memoria– alto nivel de reconfigurabilidad RTEMS core 69
  70. 70. SPRINGSistema operativo de tiempo real desarrolladoen la Univ. de ManchesterTrata de resolver algunos conceptosequivocados y deficiencias tradicionales enSO de TR. Es un sistema activado por eventosde gran flexibilidad y muy predecible.Se clasifican las tareas sobre la base del costerelativo del incumplimiento del tiempo derespuesta: » Tareas críticas » Tareas esenciales » Tareas no esenciales 70
  71. 71. QNXProporciona un entorno completo de tiemporeal para redes de mono o multiprocesadoresArquitectura: Micronúcleo rodeado por unconjunto de procesos opcionales que brindancompatibilidad con POSIX y UNIXServicios del micronúcleo: Comunicación entreprocesos, planificación y tratamiento deinterrupciones de bajo nivel.Fuera del micronúcleo la funcionalidad seproporciona mediante servidores.– Obligatorio: Servidor de procesos– Opcionales: Gestor de sistemas de archivos– Gestor de dispositivos– Gestor de redesHARTOSDesarrollado para la arquitectura HARTS (red hexagonal de multiprocesadores de memoria compartida)El núcleo proporciona una interfaz uniforme para comunicaciones entre procesos de tiempo real 71
  72. 72. CHORUSNúcleo para sistemas distribuidos. Similar a MACH.Reescrito para que sirva como núcleo en sistemas detiempo real.Mejoras:Núcleo mínimo (10-100Kb) con servicios básicos quepermiten implementar servidores UNIX, POSIX, etc.Procesos de tiempo real críticos.Personalizaciones, construidas sobre el micronúcleoque permiten integrar CHORUS con otros sistemas(QNX, VRTX, UNIX, OS2, etc.)Distribución transparente conconectividad total entrelos núcleos del sistema.Interfaces abiertas y servicios estándares. 72
  73. 73. MARSMaintenable Real Time SystemSistema distribuido de tiempo real tolerante a fallas,para control de procesos.Desarrollado en la Universidad Técnica de VienaClaves:Tolerancia a fallasPlanificación estáticaReparación dinámicaManejo de redes redundantesSOTR Orientados a ObjetosCHAOS: Concurrent Hierachical Object SystemSistema basado en objetosEl núcleo ofrece los sistemas básicos y sobre el mismose desarrollan sistemas de tiempo real 73

×