Fel-toleranta system är utformade för att fortsätta fungera även när några av deras komponenter misslyckas. Misslyckanden kan kategoriseras som hårdvarufel eller mjukvarufel. Här är några exempel:
Hårdvarufel:
* CPU -misslyckande: Den centrala bearbetningsenheten (CPU) slutar fungera korrekt eller fullständigt. Detta kan bero på överhettning, problem med strömförsörjning, tillverkningsfel eller åldrande komponenter.
* Minnesfel: RAM (slumpmässigt åtkomstminne) kan uppleva bitflips (enstaka bitar som ändrar sitt värde), minnesceller som misslyckas eller hela minnesmoduler som misslyckas. Detta kan leda till att felaktiga data behandlas eller systemet kraschar.
* diskdrivfel: Hårddiskar eller solid-state-enheter (SSD) kan misslyckas på grund av mekaniska problem (på HDD), slitage, kraftöverspänningar eller kontrollerproblem. Detta kan leda till dataförlust eller oförmåga att komma åt filer.
* Nätverkskortfel: Nätverksgränssnittskortet (NIC) kan sluta fungera och förhindra kommunikation med andra system eller nätverk.
* Strömförsörjningsfel: Strömförsörjningsenheten (PSU) kan misslyckas, vilket gör att hela systemet stängs av.
* perifera enhetsfel: En skrivare, skanner eller annan extern enhet kan inte fungera och störa det övergripande systemet, men inte nödvändigtvis krascha det, beroende på dess integration.
* samtrafikfel: Fel i bussen, bakplanet eller andra sammankopplingar i systemet kan förhindra att komponenter kommunicerar effektivt.
Programvarufel:
* Programmeringsfel (buggar): Fel i koden kan leda till oväntat beteende, felaktiga beräkningar, kraschar eller datakorruption. Detta kan sträcka sig från enkla skrivfel till komplexa logiska brister.
* Operativsystem kraschar: Operativsystemet (OS) kan krascha på grund av mjukvarufel, resursutmattning eller hårdvarufel.
* Applikationskraschar: Enskilda applikationer kan krascha på grund av buggar, felaktig input eller resurskonflikter.
* Datakorruption: Programvarufel kan leda till att data skrivs över, felaktigt formaterade eller på annat sätt skadade, vilket potentiellt kan leda till systeminstabilitet eller felaktiga resultat.
* Deadlocks: Två eller flera processer kan fastna och vänta på varandra på obestämd tid, vilket leder till en systemfrysning.
* Rasförhållanden: Resultatet av ett program beror på den oförutsägbara ordningen för genomförande av flera processer. Detta kan leda till inkonsekventa resultat eller krascher.
* Programvarudesignfel: Dålig utformad programvara kan vara mottaglig för olika fel, inklusive säkerhetssårbarheter och resursläckor.
Det är viktigt att notera att i ett feltolerant system är dessa fel inte nödvändigtvis katastrofala. Systemet är utformat för att upptäcka, isolera och återhämta sig från dessa fel med hjälp av tekniker som redundans, feldetektering och korrigeringskoder och failover -mekanismer. De specifika typer av fel som ett system måste tolerera beror starkt på dess design och tillämpning.