Системное программное обеспечение персональных ЭВМ


Схема 1



Схема 1




Рисунок 13.1 Связи между системными блоками DOS

На основании предложенной схемы можно попытаться строить гипотезы о выполнении системой запросов пользовательских программ на операции, например, ввода-вывода. Так, для чтения информации из файла пользовательская программа передает системе в составе запроса дескриптор обрабатываемого файла. Система при получении запроса выбирает PID активной в данный момент программы, являющийся адресом ее PSP. PSP программы содержит ссылку на ее JFT, полученный системой файловый дескриптор является номером элемента JFT. Элемент, выбранный по дескриптору из JFT, является входом в системную таблицу файлов, по которому выбирается DFCB требуемого файла. По-видимому, для символьных устройств система сразу же формирует запрос к драйверу, адрес которого содержится в DFCB. Для блочных устройств система по ссылке в DFCB выбирает DPB для блочного устройства. Используя данные о физических парамет- рах диска и системные структуры данных (FAT и каталоги, не- которые из которых, возможно, уже находятся в дисковых буфе- рах, а недостающие - считываются в них), система формирует основной параметр для обращения к драйверу блочного устройс- тва - номер сектора. Однако, прежде чем выдать драйверу зап- рос на ввод требуемого сектора система просматривает список BCB - для каких-то случаев информация может уже быть прочи- тана в дисковый буфер. Читатель сам может распространить подход, пример которого мы привели, на другие виды операций ввода-вывода.

Представляет интерес также анализ распределения памяти DOS, который можно провести, зная структуру связей между системными блоками. Анализ распределения памяти, выполняемый программой примера 12.1, во всех случаях показывает, что первый, значительный по размеру блок распределяемой памяти всегда принадлежит DOS. Что же содержится в этом блоке? Предоставим читателю самому сделать такую компиляцию из примеров этой главы, которая позволит проанализовать, какие системные структуры располагаются в ядре DOS, а какие - в распределенной DOS памяти, здесь же мы приводим (Рисунок 13.2) результат одного из выполнений такой программы. Цифры названий областей обозначают:

*1- назначение описано в источниках, восходящих к фирмам IBM и Microsoft;
*2- назначение области определено экспериментально;
*3- назначение предположительно;
*4- назначение неизвестно.




- Начало -  - Назад -  - Вперед -