Obsah
Parita (Parity)
Parita je matematický mechanismus kontroly integrity. Představte si ji jako „kontrolní součet“. Pokud odesíláte řadu nul a jedniček, přidáte na konec ještě jednu číslici tak, aby celkový počet jedniček byl buď vždy sudý, nebo vždy lichý.
1. Parita v přenosu dat (Detekce chyb)
Nejzákladnější použití parity je při posílání dat po sériové lince nebo v operační paměti.
Existují dva typy:
- Sudá parita (Even Parity): Paritní bit se nastaví tak, aby celkový počet jedniček byl sudý.
- Lichá parita (Odd Parity): Paritní bit se nastaví tak, aby celkový počet jedniček byl lichý.
Příklad (Sudá parita):
Chceme poslat číslo 1011 (obsahuje tři jedničky).
1. Aby byl počet jedniček sudý, musíme přidat **1**. 2. Výsledek: **10111** (nyní máme čtyři jedničky -> sudé). 3. Pokud příjemce dostane **10011** (jedna nula se cestou změnila), spočítá jedničky (3 -> liché) a ví, že **data jsou poškozená**.
Omezení: Tato jednoduchá parita umí poznat, že nastala chyba, ale neumí ji opravit (neví, který bit je špatně).
2. Parita v RAID poli (Obnova dat)
U diskových polí (např. RAID 5) se využívá pokročilejší logika založená na operaci XOR (Exclusive OR). Zde parita neslouží jen k tomu, aby řekla „něco je špatně“, ale dokáže chybějící data dopočítat.
Kouzlo XOR operace
Představte si tři disky, kde třetí disk (Parita) je výsledkem XOR operace disků A a B. Rovnice: $$Disk A \oplus Disk B = Parita$$
Pokud nám Disk A selže (shoří), můžeme ho vypočítat zpětně: $$Parita \oplus Disk B = Disk A$$
Příklad obnovy dat:
Mějme data:
- Disk A: 10 (binárně)
- Disk B: 11 (binárně)
- Paritní disk (A XOR B): 01
Havárie: Disk A shoří. Máme jen Disk B (11) a Paritu (01). Výpočet: $$11 \oplus 01 = 10$$ Výsledek: Získali jsme zpět obsah Disku A (10).
Toto je důvod, proč je RAID 5 pomalejší při zápisu (musí pokaždé vypočítat paritu), ale zachrání data při výpadku disku.
3. Parita v paměti RAM (ECC)
Běžné paměti RAM v domácích počítačích paritu nepoužívají. Pokud se bit v paměti samovolně otočí (např. vlivem kosmického záření), počítač spadne (modrá smrt) nebo se poškodí soubor.
Servery používají ECC paměti (Error Correcting Code), které mají paritní čipy navíc.
- Dokážou chybu nejen detekovat, ale v případě jednoho bitu i okamžitě opravit bez pádu systému.
Srovnání typů parity
| Typ | Účel | Schopnost | Kde se používá |
| — | — | — | — |
| Paritní bit | Kontrola přenosu | Pouze detekuje chybu. | Sériové porty, staré PC. |
| ECC | Ochrana paměti RAM | Detekuje a opraví 1 bit. | Servery, pracovní stanice. |
| RAID Parita | Ochrana disků | Dopočítá celý chybějící disk. | RAID 5, RAID 6. |
Související pojmy: RAID, Bity a Byty, XOR, ECC RAM, Binární soustava.
