Vad är ett programvaran?
En programvarelockout är ett datorproblem som kan uppstå i multiprocessorsystem. Denna lockout kan få en dators prestanda att sjunka dramatiskt och förhindra användning av ytterligare processorförmåga. I moderna multiprocessordatorer måste programvara för specialoperativsystem användas för att undvika mjukvarutlåsningsfel.
Förekomsten av programvarans lockout beskrevs först av IBM ™ -forskare Stuart Madnick 1968. I detta tidiga skede i datorhistoria förutspådde Madnick att persondatorer skulle bli mindre och billigare under de kommande decennierna, men skulle fortsätta att vara begränsade till ungefär samma dataöverföringshastigheter. Denna förutsägelse visade sig vara mestadels korrekt, och den användbara kraften hos datorer ökas ofta genom att helt enkelt lägga till extra processorer.
Den primära orsaken till programvarans lockout är inte ett fel i sig, utan snarare en funktion. I en dator med flera processorer kopplade samman finns det ingen fördel med att ha flera processorer som varje hanterar samma information. Faktum är att olika processorer som var och en försöker ändra en enda datakälla kan förstöra den ursprungliga posten. För att förhindra att flera enheter öppnar samma information är endast en processor tillåten åtkomst medan de återstående behandlingskomponenterna är "låsta" av filen.
Denna lockout -metod är effektiv för datorer med ett lågt antal processorer. Tillvägagångssättet blir emellertid ett problem i enheter med ett brett utbud av länkade behandlingsenheter. Programvaruslåsning begränsar allvarligt skalbarheten och effektiviteten för att lägga till flera processorer till datorer, eftersom det finns gränser för hur snabba data kan distribueras mellan lagringsutrymme och processorerna.
Ingen maskin, inklusive en dator, är helt effektiv; Denna inneboende ineffektivitet förvärras i multiprocessordatorer. En dator med sexton processorer,Till exempel kan ha en av sina processorer i viloläge alltid eftersom data inte kan distribueras så snabbt som behövs. Vid någon tidpunkt innebär sammansatt ineffektivitet att det inte längre är användbart att utöka antalet processorer i en dator. Att lägga till tusen processorer till ett system är värdelöst, eftersom datahastigheten är begränsad och en majoritet av de redundanta processorerna skulle fastna i konstant programvarelockout.
Programvarelockout kan minimeras genom att använda ett operativsystem som är specifikt utformat för flera processorer. Specialiserad programvara kan dela upp en datakälla i många olika delar och distribuera dessa delar till processorerna. Detta tillvägagångssätt minskar behovet av att låsa ut processorer, eftersom varje enhet kan bearbeta en liten del av originaldata. I huvudsak ser multiprocessorprogramvara till att varje bearbetningsenhet alltid har en uppgift och håller data flödande på ett mer distribuerat och jämnt spridd sätt.