
- •2. Теневая память
- •6.Недостатки ms-dos и пути их преодоления
- •7.Структура conventional памяти
- •9. Обработчики 09h и 16h клавиатуры
- •10. Extended память
- •Expanded память
- •Upper память
- •14.Структура данных на магнитных дисках
- •15. Клавиатура. Scan-код
- •16. Распределение памяти в реальном режиме
- •Адресация озу при использовании сегментации в защищённом режиме
- •19. Hma память
- •Механизм страничной адресации
- •23.Тест клавиатуры
- •24. Прерывания bios
- •Преобразование логического адреса в физический при включённой страничной адресации
- •26. Исключения и их обработка
- •27. Управление клавиатурой
- •28. Приоритет обработки прерываний
- •Привилегии и защита программ
- •30.Механизм виртуальной памяти
- •31.Дескрипторы сегментных регистров
- •32.Кэш память
- •33.Таблицы локальных и глобальных дескрипторов
- •34.Cga, vga адаптеры
- •Характеристики vga адаптеров
- •35.Таблица дескрипторов idt
- •37.Шлюзы и их применение
- •38.Понятие дескриптора
- •39. Адаптер дисплея
- •40.Функции dos и bios для клавиатуры
- •41 Пять компонентов защиты
- •42.Виртуальный 8086
- •43.Классы приоритетов
- •44.Многозадачный режим. Статические и динамические наборы
- •45.Шлюз задач
- •46. Библиотеки dll
- •Явная компоновка
- •47.Виртуальная память процессора
- •48.Адресное пространство w9х
- •49.Адресное пространство nt
- •51. Файл подкачки страниц
- •52. Два процесса – один ехе файл.
- •53. Физическая память и страничный файл
- •Физическая память в страничном файле не хранится
- •54. Алгоритм загрузки программ
- •56. Переданная и зарезервированная память
- •57.Разделы ехе файла
- •58. Проецируемые в память файлы
- •59.Механизмы работы с файлами больших размеров
- •60. Различия в обработке прерываний и исключений
7.Структура conventional памяти
В самых младших адресах памяти (первые 1024 ячейки) размещается таблица векторов прерываний Это связано с аппаратной реализацией процессора 18088, на котором была реализована ПК. В последующих процессорах (начиная с i80286) адрес таблицы прерываний определяется через содержимое соответствующего регистра, но для обеспечения полной совместимости с первым процессором при включении или аппаратном сбросе в этот регистр заносятся нули. При желании, однако, в случае использования современных микропроцессоров 180x86 можно разместить векторы прерываний и в другой области. Вторая часть памяти отводится для размещения программных модулей самой MS-DOS и для программ пользователя. Рассмотрим их размещение чуть ниже. Здесь, однако, заметим, что эта область памяти называется Conventional Memory (основная,стандартная память). Поскольку размер основной памяти (conventional memory) относительно небольшой, то очень часто системы программирования реализуют оверлейные структуры. Для этого в MS-DOS есть специальные вызовы.
9. Обработчики 09h и 16h клавиатуры
Управление клавиатурой возможно через порты 60h, 61h, 64h; прерывание INT 09h; прерывание INT 15h; функции DOS (INT 21h). Доступ к клавиатуре через порты ввода-вывода является самым низкоуровневым методом доступа. Такой метод используется обычно только прерываниями INT 09h, INT 15h и драйверами клавиатуры.
С помощью порта 61h можно определить, доступен ли контроллер клавиатуры, и разрешить (запретить) доступ к нему. Причем, если значение, возвращаемое из порта 61h, содержит в седьмом разряде нуль, то контроллер клавиатуры не доступен. Пример работы с портом 61h из прерывания INT 09h:
Порт 60h предназначен для чтения данных с клавиатуры и сохранен для совместимости с клавиатурой PC XT.
С помощью порта 64h можно читать данные с клавиатуры (коды клавиш и статус), программировать и осуществлять настройку клавиатуры.
Команды контроллера клавиатуры: EDh Установить индикаторы состояния; EEh Эхо (средство диагностирования); F0h Выбрать альтернативный режим; EFh-F1h Резерв - холостые команды (NOP); F2h Идентификатор расширенной клавиатуры; F3h Установить частоту повторения клавиши; F4h Разрешить клавиатуру; F5h Запрет по умолчанию; F6h Установить условия по умолчанию; F7h-FAh Установить все клавиши; FBh-FDh Установить отдельные клавиши; FEh Послать повторно; FFh Сброс.
Рекомендуется использовать порт 60h для чтения сканкодов, а 64h – для определения статуса и программирования клавиатуры. Такое разделение функций обеспечит максимальную гибкость программам.
При программировании контроллера клавиатуры необходимо первоначально в порт 64h записать код команды, сделать задержку и затем записать байт данных.
10. Extended память
По мере развития программного обеспечения компьютеров, была разработана новая элементная база. Фирма Intel выпустила новый процессор Intel 80286. Центральный процессор 80286 уже имеет возможность адресовать 16 мегабайт оперативной памяти. Однако, чтобы получить к ней доступ, процессор должен работать в защищенном режиме. Процессор Intel 8086 не имеет защищенного режима, поэтому все программное обеспечение (в том числе и операционная система MS-DOS), разработанное на момент появления Intel 80286 не могло использовать новые возможности процессора Intel 80286.
Для совместимости с процессором Intel 8086 и созданным на тот момент программным обеспечением процессор Intel 80286 сразу после включения питания работает в реальном режиме. В реальном режиме процессор Intel 80286 становится улучшенным аналогом старого процессора Intel 8086, и может адресовать только первые 1024 килобайта памяти.
Память компьютера, расположенная за первыми 1024 килобайтами, называется расширенной памятью. Расширенную память могут иметь компьютеры с процессорами Intel 80286, 80386, 80486, Pentium. Компьютеры IBM PC и IBM XT, имеющие процессоры Intel 8086 и 8088 расширенной памяти не содержат.
Начальный участок расширенной памяти от 1024 до 1088 килобайт называется областью старшей памяти (High Memory Area - HMA). Эти первые 64 килобайта расширенной памяти операционная система MS-DOS начиная с версии 5.0 может использовать для размещения части своего ядра, области данных и буферов. При этом процессор все время остается в реальном режиме.
Остальная расширенная память, которая находится за границей 1088 килобайт, не доступна в реальном режиме процессора. Обычно в компьютерах с процессорами 80286 и выше установлено как минимум 384 килобайта расширенной памяти.
Возможности использования расширенной памяти зависят от конфигурации вашего компьютера. Операционная система MS-DOS может использовать расширенную память для организации электронного диска, кеширования накопителей на магнитных дисках и для размещения части резидентных программ и драйверов.
Операционная система Microsoft Windows 3.1 работает в защищенном режиме процессора и может свободно использовать всю доступную память компьютера, и основную и расширенную, для хранения программ и данных.