어떤 시스템 전체 또는 그 일부의 하드웨어나 소프트웨어 결함에도 불구하고 정상 작동할 수 있는 능력
시스템의 신뢰성을 높이기 위해 여분의 설비를 준비해두고 결함에 대비한다.
결함 허용의 수준을 높이면 시스템의 신뢰성은 높아지지만, 그만큼 경제적 비용과 시스템의 성능 하락 또한 감수해야 하기 때문에 Trade-off한 면이 있다.
시스템이 결함 허용을 어느 수준까지 지원하는지를 측정할 수 있는 기본 척도는 신뢰성(reliability)과 결함이 발생하기까지의 평균 시간(MTTF: mean time to Failure)**, 가용성(availability로 결정된다. )
MTTF의 경우 결함이 발생하기까지의 평균시간을 구하는 것이므로 총 수행시간에서 결함의 시간으로 나눈다
수리 완료까지 평균시간(MTTR: mean time to repair) 도 있는데 결함이 발생한 부품이나 소프트웨어 모듈 수리까지 걸리는 평균 시간을 의미한다.
MTTR의 경우 총 수리시간에서 수리한 횟수로 나눈다
위 사진에서 MRRF의 경우 총 운용시간 B1+B2+B3를 고장난 제품의 수 3개로 나눈 것이고,
MTTR의 경우 수리하는데 걸린 총 시간 A1+A2+A3를 수리한 횟수 3으로 나눈 것이다.
시스템이나 서비스의 가용성은 해당 시스템이나 서비스가 기동된 후 어느 시점까지의 총 시간 중 사용자의 요청을 서비스할 수 있었던 시간이 얼마나 되는지의 비율로 정의된다.
가용성 A는 다음과 같이 표현될 수 있다.
등급 | 가용성 | 연간 다운타임 |
---|---|---|
항상 가용 | 1.0 | 0 |
결함 허용 | 0.99999 | 5분 |
결함 감내 | 0.9999 | 53분 |
고가용성 | 0.999 | 8.3시간 |
보통 가용성 | 0.99-0.995 | 44-87시간 |
위 표는 가용성 수준과 그 수준마다의 연간 다운타임(시스템이 가용하지 않은 시간)을 보인다. 결함 허용까지는 무고장 시스템으로 허용한다.
근데 가용성이 높아도 다운타임과 업타임이 조각나있으면 업타입이 짧아 서비스가 원할히 돌아갈 수 없는 상황이 있을 수도 있으므로 평균 업타임을 더 자세히 볼 수 있는 MTTF가 더 유용한 척도로 활용된다.
결함은 다음과 같은 유형으로 분류된다.
1. 영구적(permanent)
- 영구적으로 존재하는 결함. 수리 전까지 계속 결함상태.
- 하드웨어의 고장 or 소프트웨어 버그들
2. 일시적(temporary)
- 단발적
- 일시적 전기충격이나 전원 불안정에 의한 전송 오류와 같은 단발적인 결함 유형
- 간헐적
- 예상할 수 없을 때 수차례 발생.
- 접촉 불량 등
결함허용 구축은 여분의 설비(redundancy)를 추가함으로써 이루어진다. 여분 설비 추가 기법은 다음과 같다.
운영체제 내에는 결함허용을 위한 여러가지의 기법들이 구현될 수 있다.