Українські рефератиучбові матеріали на українській мові

RefBaza.com.ua пропонує студентам та абітурієнтам найбільшу базу з рефератів! Також ви можете ділитися своїми рефератами для поповнення бази.

DOS-extender для компілятора Borland З++ 3.1, захищений режим процесора 80286, організація многозадачной роботи процесора

Реферат: DOS-extender для компілятора Borland З++ 3.1, захищений режим процесора 80286, організація многозадачной роботи процесора

Оглавление.

1. Запровадження. 2

1.1 Рівні програмної підтримки захищеного режиму. 2

1.1.1 Інтерфейс BIOS. 2

1.1.2 інтерфейс драйвера HIMEM.SYS. 2

1.1.3 інтерфейс EMS/VCPI. 3

1.1.4 інтерфейс DPMI. 3

1.1.5 расширители DOS (DOS-экстендеры). 3

1.2 Текущее стан справ у світі DOS-extender-ов. 4

2. Обгрунтування вибору коштів. 4

3. Реалізація роботи програми в захищеному режимі процесора 80286. 5

3.1 Адресация захищеного режиму процесора 80286. 5

3.2 Перехід в захищений режим процесора 80286. 8

3.3 Повернення на реальний режим процесора. 10

3.4 Обробка переривань в захищеному режимі. 11

3.5 Реалізація мультизадачности. 13

3.5.1 Контекст завдання. 14

3.5.2 Перемикання завдань. 15

3.5.3 Поділ ресурсів. 16

3.5.4 Завдання. 16

4. Повні вихідні тексти програми. 17

4.1 Файл TOS.INC. Визначення констант і структур для модулів, складених мовою ассемблера. 17

4.2 Файл TOS.H. Визначення констант і структур для модулів, складених мовою Сі. 18

4.3 Файл TOS.H. Основний файл програми. 19

4.4 Файл TASKS.C. Містить функції завдань. 24

4.5 Файл SEMAPHOR.C. Містить процедури до роботи з семафорами. 26

4.6 Файл TIMER.C. Процедури до роботи з таймером і диспетчер завдань. 27

4.7 Файл EXCEPT.C. Обробка винятків. 28

4.8 Файл INTPROC.C. Заглушки для апаратних переривань. 29

4.9 Файл KEYB.C. Введення символу з клавіатури. 30

4.10 Файл KEYBOARD.ASM. Процедури до роботи з клавіатурою. 30

4.11 Файли SCREEN.H і SCREEN.C – модуль до роботи з видеоадаптером. 34

4.11.1 SCREEN.H 34

4.11.2 SCREEN.C 34

4.12 Файл TOSSYST.ASM. Процедури для ініціалізації, переходу в защищённый режим і повернення реальний режим, для завантаження регістру TR і перемикання завдань. 36

5. Висновки. 41

6. Література. 41

1. Запровадження.

Операційна система MS DOS, не дивлячись на моральна відсталість, досі частенько застосовується на парку старих ПК, отже, ще є необхідність створення програм нею.

На жаль, написання програм, у реальному режимі процесорів архітектури Intel x86 ускладнене відсутністю можливості залучити до програмі оперативну пам'ять обсягом понад горезвісних 640 кілобайтів, а як реально понад 500-620 кілобайтів. Це обмеження на жаль переслідує MS DOS і аналогічні їй ОС інших виробників, починаючи відтоді, як палко любимий в околокомпьютерных колах Білл Гейтс заявив, що 640 кілобайтів достатньо всіх можливих завдань ПК. Подолання бар'єра 640 кілобайтів у нових версіях MS DOS ускладнювалося необхідністю сумісності з старими програмами, які життєво потрібно було підтримувати. Програмування захищеного режиму процесора і розширеній пам'яті вимагало від програмістів неабияких знань архітектури процесорів Intel і трудомісткого програмування.

1.1 Рівні програмної підтримки захищеного режиму.

Інженерна думку не на місці, особливо у такий області, як програмування. Завдання програмної підтримки защищённого режиму й підтримки роботи із розширеною пам'яттю отримала не одне, а відразу кількох рішень. Цими рішеннями стали звані рівні програмної підтримки защищённого режиму й підтримки роботи із розширеною пам'яттю:

  • інтерфейс BIOS;
  • інтерфейс драйвера HIMEM.SYS;
  • інтерфейс EMS/VCPI;
  • інтерфейс DPMI;
  • расширители DOS (DOS-экстендеры).

1.1.1 Інтерфейс BIOS.

Интерфейсом найнижчого є інтерфейс BIOS, наданий програмам у кількох функцій переривання BIOS INT 15h. Інтерфейс BIOS дозволяє програмі перевести процесор з реального режиму на защищённый, переслати блок пам'яті з стандартної пам'яті в розширену або з розширеній в стандартну. Цим всі можливості і обмежуються. Інтерфейс BIOS використовується для старту мультизадачных операційними системами защищённого режиму (як-от OS/2) чи старих програмах, які працюють із розширеній пам'яттю в защищённом режимі (наприклад, СУБД ORACLE версії 5.1).

1.1.2 інтерфейс драйвера HIMEM.SYS.

З допомогою функцій, наданих цим драйвером, програма може виконувати різні дії з блоками розширеній пам'яті, і навіть управляти адресної лінією A20. Основне різницю між способом роботи із розширеною пам'яттю драйвера HIMEM.SYS і інтерфейсом переривання BIOS INT 15h у тому, перший виконує виділення програмі і внутрішній облік блоків розширеній пам'яті, а другий розглядає всю розширену згадку, як один безперервний ділянку. Проте драйвер HIMEM.SYS не відкриває для програм доступом до защищённому режиму. Він цілком працює у реальному режимі, а звернення до розширеній пам'яті використовує або недокументированную машинну команду LOADALL (якщо використовується процесор 80286), або можливість процесора 80386, що дозволяє адресувати розширену пам'ять у реальному режимі (за відповідного ініціалізації системних регістрів і таблиць).

1.1.3 інтерфейс EMS/VCPI.

Використовуючи трансляцію сторінок, деякі драйвери пам'яті (наприклад, EMM386 чи QEMM) можуть эмулировать присутність додаткової пам'яті, використовуючи розширену пам'ять. У цьому стандартний набір функцій управління додаткової пам'яттю, реалізований у межах переривання INT 67h, доповнений ще кількома функціями до роботи на защищённом режимі процесора. Нові функції реалізують інтерфейс віртуальної керуючої програми VCPI (Virtual Control Programm Interface). Вони дозволяють встановлювати защищённый і віртуальний режими роботи процесора, працювати із розширеною пам'яттю лише на рівні сторінок, і встановлювати спеціальні отладочные регістри процесора i80386. Інтерфейс VCPI полегшує використання механізму трансляції сторінок, звільняючи програміста від виробничої необхідності працювати з системними регістрами процесора.

1.1.4 інтерфейс DPMI.

Інтерфейс DPMI (DOS Protected Mode Interface - інтерфейс защищённого режиму для DOS) реалізується модулем, называющимся сервером DPMI. Цей інтерфейс доступний тих програм, які працюють на віртуальної машині WINDOWS чи OS/2 версії 2.0 (пізніше ми обговоримо деякі деталі, пов'язані з допомогою інтерфейсу DPMI в WINDOWS). Інтерфейс DPMI надає повний набір функцій до створення однозадачных програм, що працюють у защищённом режимі. У цьому вся інтерфейсі є функції для перемикання з реального режиму на защищённый і навпаки, до роботи з локальної таблицею дескрипторів LDT, до роботи із розширеною і стандартним пам'яттю лише на рівні сторінок, до роботи з перериваннями (зокрема для виклику переривань реального режиму з защищённого режиму), до роботи з отладочными регістрами процесора i80386. Це найрозвиненіший інтерфейс із усіх розглянутих раніше.

1.1.5 расширители DOS (DOS-экстендеры).

Останній, найвищий рівень програмної підтримки защищённого режиму - расширители DOS чи DOS-экстендеры (DOS-extender). Вони поставляються, зазвичай, разом із засобами розробки програм (трансляторами) як бібліотек та компонуються разом із створюваної програмою у єдиний завантажувальний модуль. DOS-экстендеры значно полегшують використання защищённого режиму і розширеній пам'яті програми, виділені на запуску з середовища MS-DOS. Програми, складені з допомогою DOS-экстендеров, зовні дуже подібні звичні програми MS-DOS, але вони отримують управління, коли процесор вже у защищённом режимі. До формованому з допомогою DOS-экстендера завантажувальному модулю додаються процедури, необхідних ініціалізації защищённого режиму. Ці процедури першими отримують управління економіки й виконують початкову ініціалізацію таблиць GDT, LDT, IDT, містять оброблювачі переривань і винятків, систему управління віртуальної пам'яттю тощо.


Схожі реферати

Статистика

[1] 2 3 4 5 6 7 8 9 10