Co je uzamčení softwaru?
Uzamčení softwaru je počítačový problém, který se může vyskytnout v systémech s více procesory. Toto uzamčení může způsobit dramatický pokles výkonu počítače a zabránit použití dalších schopností procesoru. V moderních víceprocesorových počítačích musí být použit speciální software operačního systému, aby nedošlo k selhání blokování softwaru.
Výskyt blokování softwaru byl poprvé popsán vědcem IBM ™ Stuartem Madnickem v roce 1968. V této rané fázi počítačové historie Madnick předpovídal, že osobní počítače budou v následujících několika desetiletích menší a levnější, ale budou i nadále omezeny na zhruba stejné rychlosti přenosu dat. Tato predikce se ukázala být většinou správná a užitečná síla počítačů se často zvyšuje pouhým přidáním dalších procesorů.
Primární příčinou blokování softwaru není chyba sama o sobě, ale spíše funkce. V počítači s několika propojenými procesory není žádná výhoda v tom, že více procesorů každý zpracovává stejnou informaci. Ve skutečnosti různé procesory, které se každý pokouší upravit jeden zdroj dat, mohou původní záznam poškodit. Aby se zabránilo otevření stejných informací více jednotkám, je povolen přístup pouze jednomu procesoru, zatímco zbývající komponenty zpracování jsou „uzamčeny“ ze souboru.
Tato metoda uzamčení je účinná pro počítače s nízkým počtem procesorů. Tento přístup se však stává problémem u zařízení se širokou škálou propojených procesorových jednotek. Uzamčení softwaru výrazně omezuje škálovatelnost a efektivitu přidávání více procesorů do počítačů, protože existují omezení, jak rychle lze data distribuovat mezi úložným prostorem a procesory.
Žádný stroj, včetně počítače, není zcela účinný; tato inherentní neefektivita se v počítačích s více procesory zvyšuje. Například počítač se šestnácti procesory může mít vždy jednoho ze svých procesorů nečinný, protože data nemohou být distribuována tak rychle, jak je potřeba. V určitém okamžiku neefektivnost sloučenin znamená, že již není užitečné rozšiřovat počet procesorů v počítači. Přidání tisíce procesorů do systému je zbytečné, protože rychlost dat je omezená a většina redundantních procesorů by uvízla v neustálém blokování softwaru.
Uzamčení softwaru lze minimalizovat pomocí operačního systému, který je speciálně navržen pro více procesorů. Specializovaný software je schopen rozdělit zdroj dat na mnoho různých kusů a distribuovat tyto části do procesorů. Tento přístup snižuje potřebu uzamčení procesorů, protože každá jednotka může zpracovat malou součást původních dat. V zásadě multiprocesorový software zajišťuje, že každá procesorová jednotka má vždy úkol, a udržuje tok dat distribuovanějším a rovnoměrněji rozptýleným způsobem.