Programinės įrangos blokavimas yra kompiuterio problema, kuri gali kilti kelių procesorių sistemose. Dėl šio blokavimo kompiuterio našumas gali smarkiai sumažėti ir neleisti naudoti papildomos procesoriaus galimybės. Šiuolaikiniuose daugiaprocesoriuose kompiuteriuose turi būti naudojama speciali operacinės sistemos programinė įranga, kad būtų išvengta programinės įrangos blokavimo gedimo.
Pirmą kartą programinės įrangos blokavimo atsiradimą aprašė IBM™ mokslininkas Stuartas Madnickas 1968 m. Šiame ankstyvame kompiuterių istorijos etape Madnickas numatė, kad asmeniniai kompiuteriai per ateinančius kelis dešimtmečius taps mažesni ir pigesni, bet ir toliau bus apriboti iki apytiksliai. vienoda duomenų perdavimo sparta. Ši prognozė dažniausiai pasitvirtino, o kompiuterių naudingoji galia dažnai padidinama tiesiog pridedant papildomų procesorių.
Pagrindinė programinės įrangos blokavimo priežastis nėra pati klaida, o funkcija. Kompiuteryje su keliais kartu sujungtais procesoriais nėra jokio pranašumo, kai keli procesoriai tvarko tą pačią informaciją. Tiesą sakant, skirtingi procesoriai, bandantys modifikuoti vieną duomenų šaltinį, gali sugadinti pradinį įrašą. Kad keli įrenginiai neatidarytų tos pačios informacijos, prieiti leidžiama tik vienam procesoriui, o kiti apdorojimo komponentai yra „užrakinti“ faile.
Šis blokavimo metodas yra veiksmingas kompiuteriams su mažu procesorių skaičiumi. Tačiau šis metodas tampa problema įrenginiuose su daugybe susietų apdorojimo blokų. Programinės įrangos blokavimas labai apriboja kelių procesorių įtraukimo į kompiuterius mastelį ir efektyvumą, nes yra apribojimų, kaip greitai galima paskirstyti duomenis tarp saugyklos vietos ir procesorių.
Jokia mašina, įskaitant kompiuterį, nėra visiškai efektyvi; šis būdingas neefektyvumas dar labiau padidėja kelių procesorių kompiuteriuose. Pavyzdžiui, kompiuteryje su šešiolika procesorių vienas iš procesorių gali visą laiką neveikti, nes duomenų negalima paskirstyti taip greitai, kaip reikia. Tam tikru momentu sudėtinis neefektyvumas reiškia, kad nebėra naudinga išplėsti kompiuterio procesorių skaičių. Tūkstančio procesorių pridėti prie sistemos yra nenaudinga, nes duomenų greitis yra ribotas ir dauguma perteklinių procesorių būtų įstrigę nuolatiniame programinės įrangos blokavime.
Programinės įrangos blokavimą galima sumažinti naudojant operacinę sistemą, kuri yra specialiai sukurta keliems procesoriams. Specializuota programinė įranga gali suskaidyti duomenų šaltinį į daugybę skirtingų dalių ir paskirstyti šias dalis procesoriams. Šis metodas sumažina poreikį blokuoti procesorius, nes kiekvienas įrenginys gali apdoroti nedidelę pradinių duomenų dalį. Iš esmės kelių procesorių programinė įranga užtikrina, kad kiekvienas apdorojimo blokas visada turėtų užduotį, ir užtikrina, kad duomenys būtų paskirstyti labiau paskirstytu ir tolygiau.