Vad är verkligt läge?
Real-läget är ett minnesadresseringsschema och driftstillstånd för datormikroprocessorer. I verkligt läge hanteras eller buffras inte minnet som kan nås av ett program - vanligtvis RAM-minne (random access) (RAM) - på något sätt av maskinvaran, programvaran eller grundläggande in- och utmatningstjänster (BIOS). Detta innebär att ett program kan komma åt alla tillgängliga minnesadresser, oavsett vad minnet används för, och måste hantera alla aspekter av läsning och skrivning till minnesplatser av sig själv. Flera begränsningar kommer med att använda riktigt läge, inklusive det faktum att mängden tillgängligt minne är begränsat till 1 megabyte, eftersom processorn i detta läge tillåter adresser att endast vara 20 bitar i längd. Från ett praktiskt perspektiv använder datorprogramvaran inte längre verkligt läge, eftersom det ersattes av ett säkrare, utökbart, mer flexibelt adresseringsläge känt som skyddat läge.
Den centrala behandlingsenheten (CPU) på en dator ä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å monteringssprå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 startas för att kunna köra program som har skrivits för tidigare hårdvara, även om detta ofta kräver att emuleringsprogramvara ska vara framgångsrika. Det skyddade läget har nästan fullständigt ersatt verklig adressering, från och med 2011, till den punkt där det finns mycket få kompilatorer tillgängliga som till och med kan kompilera ett program som kan använda verklig adressering och ännu färre mainstream-operativsystem som kan köra det.
Minne i verkligt läge är i grunden en enda, linjär sekvens av byte som kan nås fritt med en adress som består av en 16 bitars segmentadress och en 4 bitars offset inom segmentet, vilket gör en komplett 20 bitars adress när den kombineras. Ett program kan komma åt valfri punkt 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 skulle ett program som använder verklig adresseringsläge enkelt kunna skriva över operativsystemet och system-BIOS, utlösa ett fysiskt hårdvaruavbrott eller av misstag skicka en signal till en kringutrustning. Detta kan inte bara göra att ett system fryser eller kraschar, utan det kan också orsaka dataförlust eller fysisk skada på hårdvara.
När processorns arkitektur avancerade ersatte det skyddade läget så småningom det verkliga läget i nästan all programvara. Med tiden blev användningen av riktigt adresseringsläge onödigt eftersom det inte kunde komma åt mer än 1 megabyte RAM och inte kunde använda mer än 20 bitar av systembussen, vilket betyder att den bara kunde använda en bråkdel av de tillgängliga resurserna på de flesta datorer. Real adressering innebär också en betydande säkerhetsrisk. Ett av få sätt att skriva ett program som använder riktigt adresseringsläge är att använda monteringsspråk och köra programmet under ett speciellt diskoperativsystem (DOS) som inte automatiskt växlar till skyddat läge vid start.