Intel 80386: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Shynkar (обговорення | внесок)
Shynkar (обговорення | внесок)
Рядок 37:
Через сторінкове перетворення i386 може адресувати до 4 Гбайт фізичної пам'яті і до 64 Тбайт віртуальної пам'яті.
 
==Покращена підтримка багатозадачності і захисту==
 
Підтримка багатозадачності в процесорах x86 позначає апаратну підтримку «прозорого» перемикання з однієї звичайної програми (завдання) на іншу. При перемиканні процесор зберігає свій стан (включаючи адресу наступної команди, селектори сегментів) в сегменті стану (TSS; сегмент пам'яті, з селектором з регістра TR) одного завдання, після чого відновлює стан іншої задачі з її сегмента стану (селектор сегмента стану нового завдання завантажується з дескриптора її сегмента коду).
 
Перемикання між завданнями зазвичай здійснюється:
 
*перериванням таймера; час, на який налаштований таймер, називається квантом часу для задачі
*системним викликом (викликом функції операційної системи)
*винятком - наприклад, при спробі виконати неприпустиму команду або зверненні до неприсутної пам'яті
*налагодженням
 
У i386 механізми захисту і багатозадачності були значно розширені і поліпшені. Залежно від характеру порушень, вони можуть тихо ігноруватися (наприклад, деякі біти регістра EFLAGS не можна змінити завантаженням прапорів із стека), викликати обробник виключення (операційної системи). Серйозні помилки на рівні операційної системи (або в реальному режимі) можуть призвести процесор в режим аварійного зупину (наприклад, при порушенні в обробнику подвійного порушення), з якого можна вийти тільки апаратним скиданням (англ. reset) процесора.
 
Наприклад, i386 підтримує обмеження доступу до портів вводу-виводу і прапору заборони переривань через:
 
*призначення необхідного рівня привілеїв для виконання таких команд (двухбітним полем IOPL регістра прапорів)
*дозволом завданню вибіркового доступу до портів введення-виведення через бітову карту в сегменті стану завдання
 
Спроба виконання невирішеною команди введення-виведення, призводить до виключення, обробник якого (що належить операційній системі) може завершити завдання помилково, ігнорувати (відновити виконання з наступної команди) або емулювати введення-виведення.
 
Крім усього багатозадачність i386 повністю підтримує всі нові можливості - для 32-бітних завдань сегмент стану містить всі 32-бітові та необхідні нові регістри (наприклад, регістр CR3 з адресою каталогу сторінок для цього завдання).
== Див. також ==
{{Compu-stub}}