Режими на работа.
1. Реален режим
Real mode (на английски, буквално реален режим) е режим на работа на компютърните процесори в архитектурата x86. Всеки x86 процесор влиза в реален режим веднага след включване на захранването му. При реалния режим, максималната адресирана памет е 1 MB (220 байта) и няма апаратна защита на достъпа до паметта.
Програмният модел се “свива ” до този на I8086. Ограничават се и апаратните възможности. Може да се използва 32 разрядния размер на РОП(регистри с общо предназначение), но подразбиращия се размер е 16 бита.
В реален режим x86 процесорът може да обработва следните типове данни:
· Цели числа без знак. Могат да бъдат 8-битови (байт) или 16-битови (дума). Байтът има диапазон на възможните стойности от 0 до 255 (28 - 1), а думата - от 0 до 65536 (216 - 1).
· Цели числа със знак. Могат да бъдат 8-битови или 16-битови, в допълнително кодиране (най-старшият бит е знаков). 8-битовите имат диапазон на възможните стойности от -128 до 127, а 16-битовите - от -32768 до 32767.
· Двоично-десетични (BCD) числа. Имат две разновидности - пакетирани и непакетирани. При непакетираните BCD числа във всеки байт от числото се съдържа една десетична цифра. При пакетираните BCD числа във всеки байт са пакетирани 2 десетични цифри (едната в младшите 4 бита, а другата - в старшите 4 бита).
· Стринг от байтове. Последователност от байтове с максимален размер до 65535 (216 - 1) байта.
- Проблеми
В момента на създаването си, x86 архитектурата (която тогава е еквивалентна на сегашния (real mode) е много авангардна. За пръв път се използва сегментна организация на паметта (макар и доста ограничена) в микропроцесор. Регистрите са много повече от тези на тогавашните микропроцесори, методите за адресиране и инструкциите са гъвкави и разнообразни.
С течение на времето обаче, 16-битовият real mode става все "по-тесен" на съществуващите операционни системи и приложни програми по следните причини:
· Ограничението от 1 MB адресно пространство е твърде малко в сравнение с нарастващите нужди на приложните програми.
· Липсата на апаратна защита на паметта води до ниска стабилност и сигурност на операционните системи, които изключително лесно могат да бъдат блокирани и повредени от зле работещи или злонамерени програми (компютърни вируси).
· 16-битовият размер на машинната дума е твърде малък и често се налага обработката на големите числа с няколко инструкции, което значително забавя изпълнението на програмния код.
Всички тези проблеми бяха решени с разширяването на машинната дума до 32 бита и въвеждането на т.нар. защитен режим (protected mode).
2. Режим със защита
Protected mode (на английски, буквално защитен режим) е режим на работа на компютърните процесори в архитектурата x86. При защитения режим, максималната адресирана памет е 4 GB (232 байта), има странициране и сегментиране на паметта, както и апаратна защита на достъпа до паметта и входно-изходното пространство. Почти всички съвременни операционни системи за x86 процесори работят изключително в защитен режим (и неговия наследник – long mode, въведен с разширенията x86-64(x86-64 е наименованието на 64-битовата x86 процесорна архитектура. Като синоним на това наименование, се използват и съкращенията AMD64 (използвано от AMD), EM64T и IA-32e (използвани от Intel) и x64 (използвано от Microsoft).)).
В наши дни (2006) все още над 95% от софтуера за x86 процесори работи в 32-битовия защитен режим, но вече започнаха да се появяват операционни системи и приложни програми, които работят в новия 64-битов защитен режим, въведен от AMD под името long mode.
Защитеният режим е базиран на реалния режим и наследява повечето му архитектурни особености. Разликите с реалния режим са:
· Разширяване на всички регистри от 16 на 32 бита.
· 4 GB (232 байта) адресно пространство;
· 64 KB (216 байта) входно-изходно адресно пространство;
· Сегментиране на паметта с гъвкав размер на сегмента;
· Странициране на паметта.
· Работа с виртуална памет;
· Многопотребителска работа;
· Четири нива на превилегированост;
· Защита на данни и програми;
· 2 нови типа данни;
· 5 нови метода за адресиране;
· Множество нови инструкции.
3. Режим V86
В режим V86 процесорът може да премине ако в регистъра на флаговете EFLAGS се установи бит (VM-бит). Номерът на бита VM в регистъра EFLAGS е 17.
Когато процесорът i80386 се намира във виртуален режим, неговото поведение наподобява i8086. В частност за адресиране на паметта се използва схемата “сегмент - отместване”, размерът на сегмента е 64 кило байта, а размера на адресуемата в този режим памет - 1 мегабайт.
Виртуалния режим е предназначен за работа на програми, ориентирани за процесор i8086 (или i8088) в режим със защита.
4. Защита
Състои се в 4 нива на превилегированост от 0 3 със строго регламентирани правила за преминаване от едно към друго ниво и в разделяне на отделните потребителски задачи
Използва се гъвкава и надеждна схема на защита на операционната система и на програмите една от друга Най-високата привилегия съответства на ниво 0.Такава привилегия притежава ядрото на операционната система. Най-ниска привилегия имат потребителските програми – ниво 3.
ниво 0 - ядро на операционната система, системните драйвъри;
· ниво 1 – обслужващи програми;
· ниво 2 – системи за управление на бази от данни, разширения на операционната система ;
· ниво 3 – потребителски програми.
Рис. Нива на защита.
Правила за достъп до данни: - От текущото ниво може да има достъп до данни: в сегмент със същото ниво на привилегия или по-ниско ниво на привилегированост.
Правила за достъп до програми: - програмата може да извика друга програма само ако втората има същото или е с по-високо ниво на привилегированост.
5. Прекъсвания
Прекъсванията и изключителните събития се обработват в I80386 по един и същи начин. Прекъсванията могат да бъдат маскируеми и немаскируеми. Поддържат се до 256 четири(4) байтови вектори за обслужване на прекъсвания и изключителни събития .
Коментари