SlideShare una empresa de Scribd logo
1 de 17
Fiabilidad y tolerancia
de fallos
• El aspecto que queremos tratar es
• el de la extremada fiabilidad exigida
• a los sistemas de tiempo real
• • Veremos cuáles son los factores
• que afectan a la fiabilidad de un
• sistema
• • También veremos algunas técnicas
• para tolerar fallos en el software
• Los fallos de funcionamiento de un
• sistema pueden tener su origen en:
• – Una especificación inadecuada
• – Diseño defectuoso del software y/o el
• hardware
• – Averías en el hardware
• – Interferencias en las comunicaciones
• • transitorias o permanentes
Fallos de funcionamiento
• La fiabilidad (reliability) de un sistema es una
• medida de su conformidad con una especificación
• autorizada de su comportamiento
• • Una avería (failure) es una desviación del
• comportamiento de un sistema respecto a su
• especificación
• • Las averías se manifiestan en el comportamiento
• externo del sistema, pero son el resultado de
• errores (errors) internos
• • Las causas mecánicas o algorítmicas de los
• errores se llaman fallos (faults)
• • Los fallos pueden ser consecuencia de averías en
• los componentes del sistema
Tipos de fallo
• • Fallos transitorios:
• – desaparecen por sí solos al cabo de un tiempo
• – ejemplo: interferencias en las comunicaciones
• • Fallos permanentes:
• – duran hasta que se reparan
• – ej.: un cable roto, un defecto en el software
• • Fallos intermitentes:
• – fallos transitorios que, además, ocurren de vez
• en cuando
• – ejemplo: calentamiento de un componente del
• hardware
Modos de fallo
Prevención y tolerancia de fallos
• • Hay dos formas de aumentar la fiabilidad
• de un sistema:
• – Prevención de fallos
• • se trata de evitar, antes de que el sistema entre en
• funcionamiento, que se introduzcan fallos
• – Tolerancia de fallos
• • se trata de conseguir que el sistema continúe
• funcionando aunque se produzcan fallos
• • En ambos casos el objetivo es desarrollar
• sistemas con modos de fallo bien
• definidos
• • No son incompatibles
Prevención de fallos
• • Se realiza en dos etapas:
• – Evitación de fallos
• • se trata de impedir que se
• introduzcan fallos durante la
• construcción del sistema
• – Eliminación de fallos
• • consiste en encontrar y corregir los
• fallos que se producen en el sistema
• una vez construido
Tolerancia de fallos
• • Formas:
• – Tolerancia completa (fail operational)
• • El sistema sigue funcionando, al menos durante un
• tiempo, sin perder funcionalidad ni prestaciones
• – Degradación elegante (fail soft)
• • El sistema sigue funcionando con una pérdida parcial
• de funcionalidad o prestaciones hasta la reparación
• del fallo
• – Parada segura (fail safe)
• • El sistema se detiene en un estado que asegura la
• integridad del entorno hasta que se repare el fallo
• • El grado y la forma de tolerancia de fallos
• dependen de la aplicación
Reparación de fallos
• • La reparación automática es difícil y
• depende del sistema concreto
• • Hay dos etapas:
• – Localización del fallo
• • mediante técnicas de detección de errores
• – Reparación del sistema
• • Los componentes del hardware se pueden cambiar
• • Los componentes del software se reparan haciendo
• una nueva versión
• • En los sistemas sin parada es necesario reemplazar
• el componente defectuoso sin detener el sistema
Funcionamiento de los bloques de
recuperación
Seguridad y fiabilidad
• • Un sistema es seguro si está a salvo de
• situaciones que puedan causar muertes, heridas,
• enfermedades (a las personas), o daños en (o
• pérdida de) los equipos o en el ambiente
• – un accidente (mishap) es un suceso imprevisto que
• puede producir daños inadmisibles
• • La seguridad es la probabilidad de que no se
• produzcan situaciones que puedan conducir a
• accidentes, independientemente de que se
• cumpla la especificación o no
• • Fiabilidad: medida de hasta qué punto un
• sistema cumple sus especificaciones
• – Un sistema puede ser seguro y no ser fiable
• – y puede ser fiable y no ser seguro
Medidas de rendimiento en los
computadores
Medidas de rendimiento en los
computadores
• 2. Definición de rendimiento
• 􀃂 El concepto de rendimiento se puede percibir desde diferentes puntos de
vista:
• • Tiempo de respuesta: velocidad (tiempo) de ejecución.
• • Productividad: Número de tareas completadas en la unidad de tiempo.
• 􀃂 Consideraremos el rendimiento desde la perspectiva del tiempo de
ejecución:
• X
• X Tiempo de ejecución
• Rendimiento = 1
• 􀃂 La máquina X es n veces más rápida que la máquina Y si:
• n
• Rendimiento
• Rendimiento
• Y
• X =
• 􀃂 El tiempo de ejecución y el rendimiento son recíprocos: aumentar el
• rendimiento implica disminuir el tiempo de ejecución
Medidas para evaluar el rendimiento
• 􀃂 Tiempo de reloj, tiempo de respuesta o tiempo transcurrido:
• • Tiempo desde que se lanza una tarea hasta que se completa.
• • Incluye el tiempo de espera de entrada / salida, el tiempo consumido por otros
• procesos activos en el sistema, etc.
• 􀃂 Tiempo de ejecución de UCP o tiempo de ejecución:
• • Tiempo consumido por la UCP en ejecutar el programa.
• • No incluye el tiempo de espera de entrada / salida, el tiempo consumido por otros
• procesos activos en el sistema, etc.
• • Tiempo de ejecución de UCP = Tiempo de ejecución de UCP de usuario + tiempo
• de ejecución de UCP del sistema.
• 􀃂 Rendimiento de un sistema:
• • Tiempo transcurrido en un sistema sin carga.
• 􀃂 Rendimiento de UCP:
• • Recíproco del tiempo de ejecución.
• 􀃂 Tiempo de ejecución: a veces se mide en ciclos de reloj.
• • Frecuencia de reloj: inversa del ciclo de reloj.
• Programas para evaluar el rendimiento
• 􀃂 Carga de trabajo de un sistema: conjunto de programas ejecutados en el mismo
• a lo largo del día.
• • Para comprobar el rendimiento de un sistema, lo mejor es medir el tiempo de
• ejecución de la carga de trabajo (difícil).
• 􀃂 Programas de prueba (benchmarks): programas pequeños específicamente
• escogidos para medir el rendimiento.
• • Ventajas:
• 􀃂 A menudo se pueden ensamblar a mano (útil si aún no hay compilador).
• 􀃂 Son fáciles de estandarizar en diferentes máquinas.
• • Desventajas: se prestan a fraudes.
• 􀃂 Compiladores específicamente diseñados para optimizar un benchmark.
• 􀃂 Mejoras específicas en la circuitería para optimizar fragmentos pequeños de código.
• 􀃂 Pruebas sintéticas: programas artificiales construidos para intentar englobar las
• características de un conjunto de programas.
• • Son irreales y también se prestan a optimizaciones fraudulentas.
• 􀃂 Lo mejor es realizar pruebas con programas reales (utilizados regularmente, o
• bien programas típicos), sobre todo si la máquina está ya funcionando.
• • Reproducibilidad de las medidas: fundamental (documentar la prueba).
Fiabilida.

Más contenido relacionado

Similar a Fiabilida.

Meditas de mantenimiento en los computadores
Meditas de mantenimiento en los computadoresMeditas de mantenimiento en los computadores
Meditas de mantenimiento en los computadoresCarlos Tituaña
 
Mantenimiento de sistemas informaticos
Mantenimiento de sistemas informaticosMantenimiento de sistemas informaticos
Mantenimiento de sistemas informaticoscristian cano saez
 
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animaciónLenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animaciónLuis Fernando Aguas Bucheli
 
Verificacion --validacion
Verificacion --validacionVerificacion --validacion
Verificacion --validacioneduardoao2
 
Auditoria y centro de procesamiento de datos
Auditoria y centro de procesamiento de datosAuditoria y centro de procesamiento de datos
Auditoria y centro de procesamiento de datosadolfo1608
 
Amael castellano. Análisis de sistemas.
Amael castellano. Análisis de sistemas.Amael castellano. Análisis de sistemas.
Amael castellano. Análisis de sistemas.Amael Castellano
 
Pruebas-OCW.pdf
Pruebas-OCW.pdfPruebas-OCW.pdf
Pruebas-OCW.pdflgarcias
 
Mantenimiento de SI-2023.pdf
Mantenimiento de SI-2023.pdfMantenimiento de SI-2023.pdf
Mantenimiento de SI-2023.pdfJaime Jiménez
 
Mantenimiento de sistemas de información - Conceptos Avanzados
Mantenimiento de sistemas de información   - Conceptos AvanzadosMantenimiento de sistemas de información   - Conceptos Avanzados
Mantenimiento de sistemas de información - Conceptos AvanzadosJose Diaz Silva
 
SecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de desplieguesSecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de desplieguesJose Luis Soria
 
Herramientas del sistema
Herramientas del sistemaHerramientas del sistema
Herramientas del sistemamilenamaci
 
Ra semana 14 2
Ra semana 14 2Ra semana 14 2
Ra semana 14 2victdiazm
 
Mantenimiento de sistemas informáticos (1)
Mantenimiento de sistemas informáticos (1)Mantenimiento de sistemas informáticos (1)
Mantenimiento de sistemas informáticos (1)Silvia García Burgos
 
¿Como Nace Un Proyecto Informático ?
¿Como Nace Un Proyecto Informático ?¿Como Nace Un Proyecto Informático ?
¿Como Nace Un Proyecto Informático ?Alex Hernandez
 
Modulo 4 Mantenimiento de equipo de computo
Modulo 4 Mantenimiento de equipo de computoModulo 4 Mantenimiento de equipo de computo
Modulo 4 Mantenimiento de equipo de computoBrian Ivan Perez Zamora
 

Similar a Fiabilida. (20)

Meditas de mantenimiento en los computadores
Meditas de mantenimiento en los computadoresMeditas de mantenimiento en los computadores
Meditas de mantenimiento en los computadores
 
Modelo pruebas
Modelo pruebasModelo pruebas
Modelo pruebas
 
Mantenimiento de sistemas informaticos
Mantenimiento de sistemas informaticosMantenimiento de sistemas informaticos
Mantenimiento de sistemas informaticos
 
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animaciónLenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
 
Verificacion --validacion
Verificacion --validacionVerificacion --validacion
Verificacion --validacion
 
Auditoria y centro de procesamiento de datos
Auditoria y centro de procesamiento de datosAuditoria y centro de procesamiento de datos
Auditoria y centro de procesamiento de datos
 
Amael castellano. Análisis de sistemas.
Amael castellano. Análisis de sistemas.Amael castellano. Análisis de sistemas.
Amael castellano. Análisis de sistemas.
 
Pruebas-OCW.pdf
Pruebas-OCW.pdfPruebas-OCW.pdf
Pruebas-OCW.pdf
 
Mantenimiento de SI-2023.pdf
Mantenimiento de SI-2023.pdfMantenimiento de SI-2023.pdf
Mantenimiento de SI-2023.pdf
 
Auditoria CDP
Auditoria CDPAuditoria CDP
Auditoria CDP
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Mantenimiento de sistemas de información - Conceptos Avanzados
Mantenimiento de sistemas de información   - Conceptos AvanzadosMantenimiento de sistemas de información   - Conceptos Avanzados
Mantenimiento de sistemas de información - Conceptos Avanzados
 
Manual de soporte gtw
Manual de soporte gtwManual de soporte gtw
Manual de soporte gtw
 
SecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de desplieguesSecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de despliegues
 
Herramientas del sistema
Herramientas del sistemaHerramientas del sistema
Herramientas del sistema
 
Ra semana 14 2
Ra semana 14 2Ra semana 14 2
Ra semana 14 2
 
Mantenimiento de sistemas informáticos (1)
Mantenimiento de sistemas informáticos (1)Mantenimiento de sistemas informáticos (1)
Mantenimiento de sistemas informáticos (1)
 
¿Como Nace Un Proyecto Informático ?
¿Como Nace Un Proyecto Informático ?¿Como Nace Un Proyecto Informático ?
¿Como Nace Un Proyecto Informático ?
 
Modulo 4 Mantenimiento de equipo de computo
Modulo 4 Mantenimiento de equipo de computoModulo 4 Mantenimiento de equipo de computo
Modulo 4 Mantenimiento de equipo de computo
 
Tema
TemaTema
Tema
 

Fiabilida.

  • 2. • El aspecto que queremos tratar es • el de la extremada fiabilidad exigida • a los sistemas de tiempo real • • Veremos cuáles son los factores • que afectan a la fiabilidad de un • sistema • • También veremos algunas técnicas • para tolerar fallos en el software
  • 3. • Los fallos de funcionamiento de un • sistema pueden tener su origen en: • – Una especificación inadecuada • – Diseño defectuoso del software y/o el • hardware • – Averías en el hardware • – Interferencias en las comunicaciones • • transitorias o permanentes
  • 4. Fallos de funcionamiento • La fiabilidad (reliability) de un sistema es una • medida de su conformidad con una especificación • autorizada de su comportamiento • • Una avería (failure) es una desviación del • comportamiento de un sistema respecto a su • especificación • • Las averías se manifiestan en el comportamiento • externo del sistema, pero son el resultado de • errores (errors) internos • • Las causas mecánicas o algorítmicas de los • errores se llaman fallos (faults) • • Los fallos pueden ser consecuencia de averías en • los componentes del sistema
  • 5. Tipos de fallo • • Fallos transitorios: • – desaparecen por sí solos al cabo de un tiempo • – ejemplo: interferencias en las comunicaciones • • Fallos permanentes: • – duran hasta que se reparan • – ej.: un cable roto, un defecto en el software • • Fallos intermitentes: • – fallos transitorios que, además, ocurren de vez • en cuando • – ejemplo: calentamiento de un componente del • hardware
  • 7. Prevención y tolerancia de fallos • • Hay dos formas de aumentar la fiabilidad • de un sistema: • – Prevención de fallos • • se trata de evitar, antes de que el sistema entre en • funcionamiento, que se introduzcan fallos • – Tolerancia de fallos • • se trata de conseguir que el sistema continúe • funcionando aunque se produzcan fallos • • En ambos casos el objetivo es desarrollar • sistemas con modos de fallo bien • definidos • • No son incompatibles
  • 8. Prevención de fallos • • Se realiza en dos etapas: • – Evitación de fallos • • se trata de impedir que se • introduzcan fallos durante la • construcción del sistema • – Eliminación de fallos • • consiste en encontrar y corregir los • fallos que se producen en el sistema • una vez construido
  • 9. Tolerancia de fallos • • Formas: • – Tolerancia completa (fail operational) • • El sistema sigue funcionando, al menos durante un • tiempo, sin perder funcionalidad ni prestaciones • – Degradación elegante (fail soft) • • El sistema sigue funcionando con una pérdida parcial • de funcionalidad o prestaciones hasta la reparación • del fallo • – Parada segura (fail safe) • • El sistema se detiene en un estado que asegura la • integridad del entorno hasta que se repare el fallo • • El grado y la forma de tolerancia de fallos • dependen de la aplicación
  • 10. Reparación de fallos • • La reparación automática es difícil y • depende del sistema concreto • • Hay dos etapas: • – Localización del fallo • • mediante técnicas de detección de errores • – Reparación del sistema • • Los componentes del hardware se pueden cambiar • • Los componentes del software se reparan haciendo • una nueva versión • • En los sistemas sin parada es necesario reemplazar • el componente defectuoso sin detener el sistema
  • 11. Funcionamiento de los bloques de recuperación
  • 12. Seguridad y fiabilidad • • Un sistema es seguro si está a salvo de • situaciones que puedan causar muertes, heridas, • enfermedades (a las personas), o daños en (o • pérdida de) los equipos o en el ambiente • – un accidente (mishap) es un suceso imprevisto que • puede producir daños inadmisibles • • La seguridad es la probabilidad de que no se • produzcan situaciones que puedan conducir a • accidentes, independientemente de que se • cumpla la especificación o no • • Fiabilidad: medida de hasta qué punto un • sistema cumple sus especificaciones • – Un sistema puede ser seguro y no ser fiable • – y puede ser fiable y no ser seguro
  • 13. Medidas de rendimiento en los computadores
  • 14. Medidas de rendimiento en los computadores • 2. Definición de rendimiento • 􀃂 El concepto de rendimiento se puede percibir desde diferentes puntos de vista: • • Tiempo de respuesta: velocidad (tiempo) de ejecución. • • Productividad: Número de tareas completadas en la unidad de tiempo. • 􀃂 Consideraremos el rendimiento desde la perspectiva del tiempo de ejecución: • X • X Tiempo de ejecución • Rendimiento = 1 • 􀃂 La máquina X es n veces más rápida que la máquina Y si: • n • Rendimiento • Rendimiento • Y • X = • 􀃂 El tiempo de ejecución y el rendimiento son recíprocos: aumentar el • rendimiento implica disminuir el tiempo de ejecución
  • 15. Medidas para evaluar el rendimiento • 􀃂 Tiempo de reloj, tiempo de respuesta o tiempo transcurrido: • • Tiempo desde que se lanza una tarea hasta que se completa. • • Incluye el tiempo de espera de entrada / salida, el tiempo consumido por otros • procesos activos en el sistema, etc. • 􀃂 Tiempo de ejecución de UCP o tiempo de ejecución: • • Tiempo consumido por la UCP en ejecutar el programa. • • No incluye el tiempo de espera de entrada / salida, el tiempo consumido por otros • procesos activos en el sistema, etc. • • Tiempo de ejecución de UCP = Tiempo de ejecución de UCP de usuario + tiempo • de ejecución de UCP del sistema. • 􀃂 Rendimiento de un sistema: • • Tiempo transcurrido en un sistema sin carga. • 􀃂 Rendimiento de UCP: • • Recíproco del tiempo de ejecución. • 􀃂 Tiempo de ejecución: a veces se mide en ciclos de reloj. • • Frecuencia de reloj: inversa del ciclo de reloj.
  • 16. • Programas para evaluar el rendimiento • 􀃂 Carga de trabajo de un sistema: conjunto de programas ejecutados en el mismo • a lo largo del día. • • Para comprobar el rendimiento de un sistema, lo mejor es medir el tiempo de • ejecución de la carga de trabajo (difícil). • 􀃂 Programas de prueba (benchmarks): programas pequeños específicamente • escogidos para medir el rendimiento. • • Ventajas: • 􀃂 A menudo se pueden ensamblar a mano (útil si aún no hay compilador). • 􀃂 Son fáciles de estandarizar en diferentes máquinas. • • Desventajas: se prestan a fraudes. • 􀃂 Compiladores específicamente diseñados para optimizar un benchmark. • 􀃂 Mejoras específicas en la circuitería para optimizar fragmentos pequeños de código. • 􀃂 Pruebas sintéticas: programas artificiales construidos para intentar englobar las • características de un conjunto de programas. • • Son irreales y también se prestan a optimizaciones fraudulentas. • 􀃂 Lo mejor es realizar pruebas con programas reales (utilizados regularmente, o • bien programas típicos), sobre todo si la máquina está ya funcionando. • • Reproducibilidad de las medidas: fundamental (documentar la prueba).