Архитектура современных операционных систем
140 После завершения операции ввода/вывода, связанной с конкретным паке- том, диспетчер ввода/вывода извлекает из IRP результат выполненной опера- ции, передает его процессу, запросившему ввод/вывод, а сам IRP уничтожает. Кроме того, диспетчер ввода/вывода обеспечивает драйверы набором стан- дартных функций, таких как вызов одного драйвера другим, получение буферов памяти, запросы к таймеру и т.д. Рис. 4.20. Процессы выполняют запросы операций ввода/вывода путем ссылки на файловые объекты. Схема создания файлового объекта представлена на рис. 4.20. В отличие от других объектов, всегда полностью располагающихся в памя- ти, файловый объект хранится на устройстве, поэтому ряд его атрибутов до- ступны только после операции ввода/вывода. Основными атрибутами файлового объекта являются: - имя файла; - тип устройства, на котором он расположен; - байтовое смещение, определяющее текущее положение указателя чтения – записи (УЧЗ); - режим доступа к файлу, определяющий какие операции над файлом за- просил процесс; процесс C DLL Диспетчер объектов Монитор защиты Диспетчер в\в п\с Win32 0 3 NTCreateFile() описатель файлового объекта Описатель объекта запрос на создание объекта CreateFile() Fopen()
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy