6.Недостатки ms-dos и пути их преодоления
Как известно,MS-DOS — это однопрограммная ОС. В ней, конечно, можно организовать запуск резидентных или TSR-задач1, но в целом она предназначена для выполнения только одного вычислительного процесса. Поэтому распределение памяти в ней построено по самой простой схеме, которую мы уже рассматривали в разделе «Простое непрерывное распределение и распределение с перекрытием (оверлейные структуры)». Здесь мы лишь уточним некоторые характерные детали. Остальные программные модули MS-DOS (в принципе, большинство из них является утилитами) оформлены как обычные исполняемые файлы. В основном они являются транзитными модулями, то есть загружаются в память только на время своей работы, хотя среди них имеются и TSR-программы.
Для того чтобы предоставить больше памяти программам пользователя, в MS-DOS применено то же решение, что и во многих других простейших ОС — командный процессор COMMAND.COM сделан состоящим из двух частей. Первая часть является резидентной, она размещается в области ядра. Вторая часть — транзитная; она размещается в области старших адресов раздела памяти, выделяемой для программ пользователя. И если программа пользователя перекрывает собой об ласть, в которой была расположена транзитная часть командного процессора, то последний при необходимости восстанавливает в памяти свою транзитную часть, поскольку после выполнения программы она возвращает управление резидентной части COMMAND.COM.
Поскольку размер основной памяти (conventional memory) относительно небольшой, то очень часто системы программирования реализуют оверлейные структуры. Для этого в MS-DOS есть специальные вызовы.
Память с адресами, большими чем lOFFFFh, может быть использована в DOS-программах при выполнении их на микропроцессорах, имеющих такую возможность. Так, например, микропроцессор i80286 имел 24-разрядную шину адреса, а i80386 — уже 32-разрядную шину адреса. Но для этого с помощью специальных драйверов необходимо переключать процессор в другой режим работы, при котором он сможет использовать адреса выше lOFFFFh. В младших адресах основной памяти размещается то, что можно назвать ядром этой ОС — системные переменные, основные программные модули, блоки данных для буферирования операций ввода/вывода. Для управления устройствами, драйверы которых не входят в базовую подсистему ввода/вывода, загружаются так называемые загружаемые (или инсталлируемые) драйверы. Перечень инсталлируемых драйверов определяется специальным конфигурационным файлом CONFIG.SYS. После загрузки расширения BIOS - файла IO.SYS - последний (загрузив модуль MSDOS.SYS) считывает файл CONFIG.SYS и уже в соответствии с ним подгружает в память необходимые драйверы. Кстати, в конфигурационном файле CONFIG.SYS могут иметься и операторы, указывающие на количество буферов, отводимых для ускорения операций ввода/вывода, и на количество файлов, которые могут обрабатываться (для работы с файлами необходимо зарезервировать место в памяти для хранения управляющих структур, с помощью которых выполняются операции с записями файла). В случае использования микропроцессоров 180x86 и наличия в памяти драйвера HIMEM.SYS модули IO.SYS и MSDOS.SYS могут быть размещены за пределами первого мегабайта в области, которая получила название НМЛ (high memory area).
- 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. Различия в обработке прерываний и исключений