Vad är Real Mode?

Real mode är ett minnesadresseringsschema och drifttillstånd för datormikroprocessorer. I verkligt läge hanteras eller buffras inte minnet som kan nås av ett program – vanligtvis RAM – minne på något sätt av hårdvaran, mjukvaran eller grundläggande in- och utdatatjänster (BIOS). Detta innebär att ett program kan komma åt alla nåbara minnesadresser, oavsett vad minnet används till, och måste hantera alla aspekter av läsning och skrivning till minnesplatser på egen hand. Flera begränsningar kommer med användningen av verkligt läge, inklusive det faktum att mängden tillgängligt minne är begränsad till 1 megabyte, eftersom processorn i detta läge tillåter adresser att endast vara 20 bitar långa. Ur ett praktiskt perspektiv använder datorprogram inte längre real-mode, eftersom det ersattes av ett säkrare, expanderbart, mer flexibelt adresseringsläge känt som skyddat läge.

En dators centrala processorenhet (CPU) är där det verkliga läget kan aktiveras, och de flesta aspekterna av läget handlar faktiskt om problem som vanligtvis ses i applikationer skrivna på assemblerspråk, eftersom de är ganska atomära till sin natur. Processorchips som är baserade på den ursprungliga 8086-arkitekturen börjar i verkligt läge när de slås på för att kunna köra program som är skrivna för tidigare hårdvara, även om detta ofta kräver emuleringsprogram för att lyckas. Skyddat läge har nästan helt ersatt riktig adressering, från och med 2011, till den punkt där det finns väldigt få kompilatorer tillgängliga som ens kan kompilera ett program som kan använda riktig adressering och ännu färre vanliga operativsystem som kan köra det.

Minne i verkligt läge är i grunden en enda linjär sekvens av bytes som kan nås fritt med en adress som består av en 16-bitars segmentadress och en 4-bitars offset inom segmentet, vilket ger en komplett 20-bitars adress när den kombineras. Ett program kan komma åt vilken punkt som helst i minnet och läsa eller skriva vad som helst, oavsett vad som finns på platsen. Detta innebär att, utan korrekt hantering och kunskap, kan ett program som använder verkligt adresseringsläge lätt skriva över operativsystemet och systemets BIOS, utlösa ett fysiskt hårdvaruavbrott eller av misstag skicka en signal till en kringutrustning. Detta kan inte bara få ett system att frysa eller krascha, utan det kan också orsaka dataförlust eller fysisk skada på hårdvaran.

När processorarkitekturen utvecklades, ersatte skyddat läge så småningom verkligt läge i nästan all programvara. Med tiden blev användningen av riktig adresseringsläge onödig, eftersom den inte kunde komma åt mer än 1 megabyte RAM och inte kunde använda mer än 20 bitar av systembussen, vilket innebär att den bara kunde använda en bråkdel av de resurser som var tillgängliga på de flesta datorer. Verklig adressering utgör också en betydande säkerhetsrisk. Ett av få sätt att skriva ett program som använder verkligt adresseringsläge är att använda assemblerspråk och köra programmet under ett speciellt diskoperativsystem (DOS) som inte automatiskt växlar till skyddat läge vid uppstart.