Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Краткие ответы на билеты.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
444.93 Кб
Скачать

2). Реестр Windows: раздел hclm, его структура и размещение. Наверное имеется ввиду: Ветвь hkey_local_machine. Исследование конфигурации компьютера

Ветвь HKEY_LOCAL_MACHINE имеет пять подразделов: HARDWARE, SAM, SECURITY, SOFTWARE и SYSTEM. Подразделы SAM, SECURITY, SOFTWARE и SYSTEM рассматриваются как кусты, так как имеют соответствующие файлы в папке

Системный каталог\System32\Config

Подразделы HKEY_LOCAL_MACHINE описаны в таблице:

Подраздел

Описание

HARDWARE

Подраздел HARDWARE — величина изменяемая. Он конструируется из сведений, собираемых при каждом запуске компьютера. Эту информацию может запросить приложение, чтобы определить тип и состояние физи­ческих устройств, связанных с данным компьютером. С этим подразделом не связан какой-либо файл на жест­ком диске, поскольку параметры являются непостоян­ными, т. е. они не сохраняются, а собираются каждый раз при запуске компьютера. Информация из HKEY_LOCAL_MACHINE\HARDWARE может быть использована, например, при определении драйвера, соответствующего компоненту оборудования.

SAM

Куст SAM (Security Accounts Manager) содержит базу данных каталога данного компьютера. Если компьютер является контроллером домена, куст базы данных SAM содержит главную базу данных каталога. Куст SAM размещается в файлах SAM и Sam.log в папке Системный_каталог\System32\Config. Этот куст указывает на те же данные, доступ к которым может быть осуществлен из HKEY_LOCAL_MACHINE\SECURITY\SAM. Данные в разделах SAM или SECURITY не могут быть просмотрены, пока права доступа к ним не изменены. По умолчанию эти данные просматриваться не могут. Будьте особенно внимательны, если Вы делаете какие-либо изменения в правах доступа к этим разделам, иначе Вы можете привести Вашу систему в нерабочее состояние.

SECURITY

Куст SECURITY содержит всю информацию о системе безопасности локального компьютера. По умолчанию никакие разделы в SECURITY не могут быть модифи­цированы никаким приложением. Куст SECURITY размещается в файлах Security и Security.log папки системный_каталог\System32\Сопfig.

SOFTWARE

Куст SOFTWARE содержит информацию о программном обеспечении локального компьютера, не зависимую от информации, относящейся к какому-либо конкретному пользователю. Например, она содержит имя произво­дителя и номер версии программного продукта. Этот куст размещается в файлах Software и Software.log папки системный_каталог\System32\Сопfig; оно содержит и сведения о связях между файлами и приложениями, а также информацию OLE.

SYSTEM

Куст SYSTEM содержит сведения об оборудовании и службах системы. Когда устанавливаются или настраиваются драйверы устройств или служб, то добавляется или модифицируется информация, содержащаяся в данном кусте. Куст SYSTEM размещается в файлах System и System.log в папке системный_каталог\System32\Сопfig. Резервная копия куста SYSTEM сохраняется в файле System.alt.

Билет 17

1). Архитектура ОС Linux.

Linux OS – сетевая многопользовательская, многозадачная операционная система с открытым кодом, была разработана в первой версии Линусом Торвальдсом в сентябре 1991 года в рамках концепции Open Source («свободного программного обеспечения») В настоящее время существует более 300 разновидносстей дистрибутивов, основными из которых являются Debian, Mandrake, Red Hat, Slackware и SuSE

Ubuntu – операционная система, использующая ядро Linux и основанная на Debian. Основным разработчким и спонсором является компания Canonical.

Ядро Linux является монолитным по своей природе, однако, последние версии включают элементы модульности, подобные операционным системам с микроядро. Ядро Linux состоит из шести основных подсистем: -Управление процессами; -Взаимодействия между процессами; -Управления памятью; -Управления файловой системой; -Управление операциями ввода-вывода -Сетевая подсистема Все шесть подсистем контролируют доступ к системным ресурсам. Процессы Linux могут выполняться в режиме ядра или пользовательском режиме. Пользовательские процессы получают доступ к службам ядра через интерфейс системных вызовов. Если запрос приложений некорректен, ядро возвращает ошибку.

Диспетчер процессов является главной подсистемой, отвечающей за создание процессов, обеспечение доступа к процессору и удалению процессов по завершению их работы

Система взаимодействия процессов позволяет процессам взаимодействовать друг с другом. Работает совместно с диспетчером процессов. Обеспечивает совместный доступ к информации и передачу сообщений.

Подсистема управления памятью обеспечивает доступ к памяти. Linux выделяет каждому процессу виртуальное адресное пространств, которое делится на пользовательское и пространство ядра. Пользователи получают доступ к файлам и папкам, перемещаясь по древу каталогов.

Пользовательские процессы запрашивают данные файловой системы через интерфейс системных вызовов.

Когда системе нужен доступ к файлу или папке, взаимодействие идет через интерфейс виртуальной файловой системы, обеспечивающей единый способ доступа ко всем файлам и каталогам размещенным в неоднородных файловых системах.

Виртуальная файловая система Подсистема управления ввода-вывода в Linux взаимодействует с устройствами как с файлами. Если пользовательские процессы обмениваются данными с устройством, ядро передает запросы интерфейсу виртуальной файловой системе, которая перенаправляет их к интерфейсу ввода-вывода. Далее интерфейс ввода-вывода передает запросы драйверам устройств, выполняющим операции ввода-вывода.

Сетевая подсистема, позволяющая процессам обмениваться данными с компьютером подсети. Для отправки и приема пакетов используется сетевое оборудование, доступ к которому осуществляется также через интерфейс ввода-вывода. Данный интерфейс позволяет реализовать брандмауэры, маршрутизаторы и другие сетевые средства.

Пользователь взаимодействует с ядром при помощи программной оболочки Shell или с помощью прикладных программ, в которых предусмотрены средства передачи команд от пользователя в ядро.

Оболочки Shell бывают командные(ash, bash, sh, ksh) или графические (KDE или GNOME). Командные оболочки имеют встроенный интерпритатор и работают примерно одинаково.

Организация задач Диспетчер процессов хранит список всех задач в виде двух структур: -Кольцевой список, каждая запись которого содержит указатели на предыдущую и последующую задачу. Обращение к этой структуре происходит, если ядру необходимо проанализировать все задачи, выполняемые в системе. -Хеш-таблица, которой при создании присваивается уникальный идентификатор процесса. Идентификаторы процессов передается в хеш-функции для определения местоположения процесса. Каждая задача таблицы процессов представляется в виде структуры task_struct. В этой структуре хранятся переменные, описывающие процесс.

Задача переходит в состояние выполнения после ее передачи в процесс. При блокировке задача переходит в состояние спячке, а при остановке в состояние остановки. Состояние «зомби» показывает что выполнение задачи прекратилось, но она не удалена из системы.

Если процесс состоит из нескольких потоков, он будет пребывать в состоянии «зомби», пока все потоки не получат уведомление о завершении работы основного процесса. Состояние «смерти» означает, что процесс может быть удален из систем. Состояния «активный» и «неактивный» используются при планировании процесса. При загрузке ядра, обычно, запускается процесс init, который использует ядро для создания всех остальных задач.

Задачи создается путем вызова системной функции clone. Она позволяет вызывающему процессу задать общий доступ к виртуальной памяти для потока. Информацию о файловых системах и создавать файловые дискрипторы. При вызове процедуры clone из процесса ядра создается процесс ядра, отличающийся тем, что он может обращаться непосредственно к адресному пространству ядра.

В ядре в виде потоков реализовано несколько демонов. Демоны – это службы, прибывающие в спящем режиме до тех пор пока ядро не разбудит их для выполнения своих задач, например, планирование пребываний, запись страниц на диск и т.д.

После создания задачи при помощи clone задача помещается в очередь выполнения на процессоре. Очередь содержит ссылки на все задачи, состязающиеся за процессорное время. Массив приоритетов содержит указатели на отдельные уровни очереди выполнения. Планировщик решает задачу бесконечного откладывания низкоприоритетных задач путем задания временных интервалов, называемых периодами дискретизации. В течении такого периода каждая задача будет запущена хотя бы один раз. Планировщик жестко планирует задачи реального времени, пытаясь минимизировать время на их выполнение.

Задача реального времени помещается в активный список, всегда выполняется с более высоким приоритетом и обычная задача не может ее вытеснить.

Управление памятью. В Linux выделение памяти осуществляется с использованием одного и того же размера страницы, например, 4 кб, 8 кб. Исключения в ряде архитектур, где поддерживаются страницы большего размера, используются, например, 4 мб.

Файловые системы OS Linux Для пользователей различных платформ в OS Linux была встроена поддержка разных файловых систем с спомощью промежуточного уровня – виртуальной файловой системой. (VFS)

VFS позволяет скрыть от пользователя детали реализации доступа к файлам, предоставляя возможность просмотра всех файлов и папок системы из общего дерева каталогов. Все запросы, связанные с файлами, направляются на уровень VFS, предоставляющий интерфейс для доступа к данным любой файловой системы. VFS определяет физическую файловую систему к которой необходимо обратиться и вызывает соответствующие драйверы этой файловой системы, к которым необходимо обратиться для выполнения требуемых операций.

Уровень виртуальной файловой системы определяют объекты, используемые для локализации данных и получения доступа к ним. Первый объект называется индексным узлом. Индексный узел описывает местоположение каждого файла, каталога или ссылки в рамках любой доступной файловой системы. Объекты индексных узлов не содержат имеет, представляемых в них файлах. Идентификация индексных узлов выполняется с помощью кортежа(записи), содержащего номер объекта индексного узла(он является уникальным в пределах данной файловой системы) и номера идентифицирующего саму файловую систему , к которой относится этот индексный узел.

VFS позволяет несколько имен файлов с одним индексным узлом. Таким образом пользователи могут создавать жесткие ссылки, когда множество имен файлов ставится в соответствии одному объекту индексного узла файловой системы.

В виртуальной файловой системе каждый файл представлен с помощью файлового дискриптора, содержащего информацию об объекте индексного узла.

В файловой системе для связи файловой дискрипторов с индексными узлами, используются элементы каталога. Объект dentry содержит имя файла или каталога, представленного объектом индексного узла. Файловый дескриптор ссылается на объект dentry, который, в свою очередь, указывает на соответствующий индексный узел.

Дерево каталогов Linux может состоять из одной или нескольких файловых систем, каждое из которых состоит из дерева объектов индексных узлов.

Во время монтирования файловой системы ее содержимое привязывается к определенной части основного дерева каталогов. Это позволяет процессам получать доступ к данным, хранящихся в различных файловых системах при помощи общего дерева каталогов.

Для ускорения доступа к файлам и папкам виртуальной файловой системы существуют два кеша: кеш элементов каталога и кеш индексных узлов. В этих кешах хранится информация о недавно использовавшихся элементах каталогов.

Монтирование файловых систем: -Файловая система должна быть смонтирована, прежде чем к ней будет обеспечен доступ. -Файловая система монтируется в некоторую точку монтирования. -Монтирование(с абстрактной точки зрения) – подсоединение отдельного дерева (еще не смонтированной файловой системы) к какой-либо вершине (точке монтирования) общего дерева смонтированных и доступных файловых систем. -Linus: команды: mount; automount; autodirect;

Сетевая файловая система NFS Одна из наиболее распространенных сетевых файловых систем, разработана фирмой SanMicrosystem.

Используется во всех операционных системах в Linux для объединения на логическом уровне файловых систем отдельных компьютеров в единое целое.

Клиенты и серверы NFS реализованы для многих других операционных систем. В основе NFS лежит принцип использования общей файловой системы произвольным набором клиентов и серверов. Каждый сервер NFS экспортирует один или несколько своих каталогов, предоставляя доступ к ним удаленным клиентам.

Архитектура NFS имеет три уровня: -UNIX – интерфейс файловой системы -уровень Virtual File System (VFS) – различает локальные и удаленные файлы, VFS активизирует операции, специфичные для конкретной файловой системы. -Сервисный уровень – реализует NFS-протокол

На сервисном уровне NFS использует два протокола клиент-сервер: Первый протокол NFS управляет монтированием – клиент посылает серверу путь к каталогу и запрашивает разрешение смонтировать этот каталог в своей иерархии. Если путь указан верно и указанный каталог был успешно экспортирован, сервер возвращает клиенту описатель файла. Описатель содержит поля, однозначно идентифицирующие тип файловой системы, номер индексного узла каталога и информацию системы безопасности. Этот описатель файла используется в дальнейшем при последующих обращениях чтения и записи файлов и подкаталогам, смонтированным в данном каталоге.

Второй протокол NFS предназначен для доступа к файлам и каталогам. Клиенты посылают серверу сообщения для управления каталогами, а так же для чтение и записи файлов. Так же у них есть доступ к атрибутам файла.

Сервер не хранит никакой информации об открытых клиентами файлов, поэтому, если на сервере произойдет сбой с последующей перезагрузкой, то не произойдет потери информации об открытых файлах, такой сервер называется Сервером без состояния.

На клиентской машине для ускорения поиска организуется кэш имен удаленных каталогов.

Файловая система NFS использует стандартный механизм защиты UNIX с битами RX для владельца группы и прочих пользователей. Первоначально каждое сообщение с запросом содержало идентификатор пользователя и группы клиента, который сервер NFS использовал для проверки прав доступа.

В настоящее время для аутентификации клиента и сервера при каждом запросе можно использовать шифрование с открытым ключом.

+ Почитать файл Linux

2). Базовые разрешения файловой системы NTFS и их назначение.

Зачем нужны: Чтение Запись Полный доступ и т.д.

Билет 18

1). Архитектура ОС Windows XP.

Операционные системы Windows XP Windows XP построена на основе микроядра по модифицированной архитектуре микроядра. Windows XP обладает модульной структурой с компактным ядром, предоставляющим базовые сервисы для других компонентов системы.

В отличии от строго иерархических систем, в Windows XP возможны ситуации, когда между собой общаются не смежные уровни. Уровень абстракции аппаратуры взаимодействует непосредственно с оборудованием, скрывая детали взаимодействия операционной системы с конкретной аппаратной платформы.

Уровень абстракций взаимодействует с микроядром. Микроядро обеспечивает основные механизмы функционирования системы, такие как планирование выполнения потоков для поддержки других компонентов режима ядра. Микроядро управляет обслуживанием прерываний, обработкой исключений и позволяет не учитывать архитектурно зависимые функциональные возможности. Выше уровня ядра расположены компоненты режима ядра, отвечающие за администрирования подсистем операционной системы. Общее название компонентов, управляющее программы. Эти программы предоставляют услуги пользовательским процессам через интерфейс прикладного программирования.

Большинство пользовательский процессов обращаются не к функции собственного АPI, а вызывают функции API предоставляемые системными компонентами, которые называются подсистемами операционной среды. По умолчанию 32-разрядная Windows XP включает в себя только подсистему WIN32. Для запуска 16-разрядныых приложений DoS XP использует виртуальную машину, представляющий собой процесс WIN32, который создает среду для выполнения DoS приложения. Используемая по умолчанию подсистема среды поддерживает 64-разрядные приложения, но здесь предусмотрена подсистема, которая называется Windows on Windows (WOW), позволяющая выполнять 32-разрядные приложения, но из 64-разрядной версии убрана поддержка 16-разрядых приложений.

На верхнем уровне архитектуры XP находятся процессы, выполняемые в пользовательском режиме. Например, текстовые редакторы, web-обозреватель, компьютерные игры, а так же динамически подключаемые библиотеки. Так как они подключаются динамически, это позволяет повысить модульность приложений.

В XP так же существуют специальные процессы пользовательского режима, называемая системными службами. Эти процессы выполняются в фоновом режиме, независимо от того, произошел ли вход пользователя в систему. Например, службы: обозреватель компьютеров, сервер, рабочая станция и т.д. Важнейшие компоненты системы: реестр, консоль MMC.

Концепция уровней прерываний. Уровни прерываний представляет собой способ описания преоретета прерываний. Одиночный процессор всегда работает с одним уровнем прерывания, в многопроцессорной системе разные процессоры могут работать на различных уровнях. Прерывание, выполняемое на более высоком уровне, может прервать обработку текущего прерывания и получить контроль над процессом. Система маскирует(откладывает обработку) прерывание, которое выполняется на том же или более низком уровне, что и текущее прерывание.

Потоки, исполняемые в режиме ядра и в пользовательском режиме обрабатываются на пассивном уровне прерывания. Они имеют самый низкий приоритет. Все аппаратные прерывания обрабатываются на более высоких уровнях. Привязка аппаратных прерываний к уровням аппаратных устройств происходит в XP без учета приоритета. Пять верхних уровней прерывание зарезервировано для жизненно важных системных прерываний. Первый уровень прерываний называется профильным уровнем прерываний, и используется при включенном режиме профилирования ядра. Запросы от одного процесса к другому выполняются на запросном уровне. Уровень аппаратных абстракций на каждом процессоре маскирует все прерывания, уровень которых равен или меньше уровня прерываний на котором работает процессор в данный момент.

Процесс состоит из программного кода, контекста выполнения, ресурсов и одного или нескольких связанных потоков. Контекст выполнения включает: виртуально-адресное пространство процесса и различные атрибуты.

XP планирует выполнение потоков, а не процессов, и не поддерживает вытесняющее планирование между несколькими потоками. Алгоритм планирования основывается на приоритете потоков: каждый поток выполняется в течении хотя бы одного кванта времени. В случае приоритетного вытеснения потоки реального времени восстанавливают исходное значение выделенного им кванта.

Уровни приоритетов Windows XP от 0 до 31 поделены на две группы: потоки реального времени, занимают верхние 16-31 уровни и являются статическими. А динамические потоки занимают нижние 0-15 уровни.

Управление памятью. Диспетчер виртуальной памяти создает для каждого процесса иллюзию обладания пространством памяти объемом 4гб. Поскольку система выдает больше виртуальной памяти процессам, чем размер основной памяти, диспетчер VMM выгружает часть данных на диск в файлы подкачки. В XP вся память поделена на страницы фиксированного размера. XP использует две стратегии: оптимизация использования основной памяти и уменьшение количества дисковых операций ввода-вывода. Некоторые данные выгружать из памяти нельзя, например, программный код, отвечающий за обработку прерывания. Запрещенным так же, с точки зрения безопасности является замена страниц, содержащих пароли, так как в случае сбоя системы незашифрованная копия останется сохраненной на диске. Такая информация хранится в специальной выделенной области системной памяти, называемой резидентным пулом. Часть резидентного пула занимает программный код самого диспетчера VMM и самого драйвера устройства. В Windows XP уменьшено время на загрузку системы благодаря одновременному выполнению упреждающий выборки страницы и инициализации устройств. Во время запуска XP она должна инициализировать различные устройства ввода-ввывода без которых загрузка системы не может быть продолжена. Во время инициализации можно выполнить предварительную выборку страниц памяти поскольку в данном случае система практически простаивает.

Файловая система. Для работой с файловой системой в XP используется три уровня драйверов: -Нижний уровень – драйверы томов, которые отвечают за управление конкретным оборудованием. -Драйверы файловой системы отвечают за реализацию формата конкретной файловой системы. -Драйверы фильтров файловой системы – драйверы высокого уровня: сжатие, шифрование, антивирусная защита.

Ввод-вывод Подсистема среды передает запросы ввода-вывода диспетчеру ввода-вывода, который взаимодействует с драйверами устройств, обрабатывающими эти запросы. Несколько драйверов могут объединяться в стек для совместного обслуживания запросов. Диспетчер автоматически-конфигурируемого оборудование динамически распознает подключение новых устройств и выполняет динамическое выделение или освобождение ресурсов. Диспетчер электропитания регулирует политику электропотребления.

2). Создание консоли MMC в авторском режиме. Ограничение доступа к консоли.

Задание 4. Ограничение доступа к MMC в авторском режиме

Внимание! Для выполнения этого задания необходимо создать дополнительную учетную запись с правами администратора.

Создайте на своем компьютере новую учетную запись с правами администратора (снимите флажок Потребовать смену пароля при следующем входе в систему).

Откройте консоль "Безопасность ХХ".

В оснастке «Политика локальный компьютер» откройте выбранный объект групповой политики: Конфигурация пользователя|Административные шаблоны|Компоненты Windows|Консоль управления Microsoft.

В области сведений дважды щелкните Запретить пользователям использовать авторский режим.

На вкладке Политика, чтобы запретить пользователю использовать авторский режим в MMC, установите переключатель в положение Включена, нажмите ОК.

Закройте консоль и попытайтесь открыть ее снова. Получилось?

Снова откройте консоль, щелкните правой клавишей по значку "Безопасность" и выберите команду Запустить как... В окне Запуск от имени другого пользователя введите запись и пароль администратора по п.1. Установите переключатель политики в положение Не задана или Отключена.

Предъявите результаты работы преподавателю.

Задание 5. Ограничение доступа к оснастке MMC

1. Откройте консоль "Безопасность ХХ".

2. В оснастке «Политика локальный компьютер» откройте выбранный объект групповой политики: Конфигурация пользователя|Административные шаблоны|Компоненты Windows|Консоль управления Microsoft|Запрещенные/разрешенные оснастки.

3. В области сведений дважды щелкните оснастку Локальные пользователи и группы, и в окне Свойства на вкладке Политика установите переключатель в положение Отключена. Сохраните изменения в консоли "Безопасность" и закройте ее.

4. Откройте консоль "Безопасность" вновь. Проверьте, запускается ли из нее отключенная служба? Можно ли запустить ее иначе - через Мой компьютер?

5. Восстановите прежнюю политику, установив переключатель в положение Не задана.

Предъявите результаты работы преподавателю, восстановите все настройки и удалите все созданные учетные записи и консоли.

Билет 19

1). Интерфейс между УВВ и ОС: символьные, блочные и сетевые устройства.

Символьные устройства. Данные передается в виде потока байт последовательно. Здесь реализованы базовые операции чтение, запись, открытие, закрытие символьным устройством. Блочные устройства могут обращаться к данным, хранимым в блоках фиксированного размера. Для работы с такими данными в ядро включены алгоритмы оптимизирующие работы накопителей с подвижными головками.

Подсистема блочного ввода-вывода имеет несколько уровней, что позволяет выполнить модульный ввод-вывод на каждом уровне: -Виртуальная файловая система -Файловые системы -Страничный кэш -Блочный уровень, BIOS -Драйвера -Оборудование

Сетевое оборудование. Отличие сетевого оборудование в том, что ядро не запрашивает данные с сетевых устройств. Наоборот – сетевые устройства, используя прерывания, уведомляют ядро о поступлении пакета. Для определения платы отправителя ядро анализирует внутреннюю таблицу маршрутизации, в которой перечислены адреса получателей доступные для интерфейсной платы.

Драйвер обрабатывает пакеты в соответствии с дисциплиной очереди и определяет порядок обработки пакетов устройствами. По-умолчанию используется политика FIFO.

Драйверы Для управления каждым подключенным устройством ввода-вывода требуется программа, учитывающая ее особенности. Эта программа называется драйвером устройства. Обычно, драйвер создается производителем устройства и поставляется вместе с ним. Так как для каждой операционной системы нужны свои драйверы, производители устройств поставляют драйверы для нескольких наиболее популярных операционных систем. Каждый драйвер управляет одним типом устройства, или, как максимум, одним классом родственных устройств. Чтобы получить доступ к аппаратной части устройства, драйвер, как правило, должен быть частью ядра операционной системы. Функции драйверов: -Обработка запросов чтения записи от программного -Обеспечения управления устройствами -Постановка запросов в очередь -Проверка входных параметров запросов и обработка ошибок -Инициализация устройства и проверка статуса устройства. -Управление энергопотреблением устройства -Регистрация события устройства -Выдача команд устройству и ожидание их выполнения -Поверка правильности завершения операции -Передача запрошенных данных из статуса завершенной операции -Обработка нового запроса при незавершенном предыдущем запросе Детали процесса управления конкретными устройствами локализуются в коде драйвера. Поэтому при создании пользовательского программного обеспечения их можно не учитывать. Способы загрузки драйвера в ядро: -Включение кода драйвера в качестве модуля на этапе сборки ядра. Традиционный подход для UNIX подобных систем. При этом добавление и удаление драйвера требует перекомпиляции ядра. -Подключение драйвера на этапе загрузки операционный системе. В системе имеется файл, содержащий список драйверов, и сами драйверы. При загрузке ядро анализуерт список и подключает драйверы, после чего начинает работу. Перекомпиляции ядра не требуется. Пример – OS Windows.

-Динамическая загрузка модулей в ядро. Подготавливается файл драйвера, соблюдающий соглашение об именах. Ядру выдается соответствующий системный вызов. После этого модуль становится частью ядра. Перекомпиляции так же не требуется. Ненужные модули можно из ядра изъять. OS Linux, Solaris. Функции ПО, независящие от внешних устройств. Предоставление унифицированного интерфейса для драйвера. Для каждого класса устройств операционной системой определяется набор функций, который должен поддерживать проект. Драйвер может содержать таблицу с указателями.

Буферизация. Процесс, выдавший запрос на операцию ввода-вывода переводится менеджером ввода-вывода в состояние ожидания-завершения указанной операции. Далее менеджер может перевести задачу в состояние готовности выполнения. Эта ситуация соответствует синхронному вводу-выводу. Чтобы увеличить скорость выполнения приложений можно использовать асинхронный ввод-вывод. Один из вариантов асинхронного ввода-вывода является буферизованный вывод данных на внешнее устройство. Данные из приложения передаются в специальный системный буфер. В этом случае логически операция ввода-вывода для приложения считается выполненной сразу и задача может не ожидать окончания действительного процесса передачи.

Сообщение об ошибках Ошибки зависят от специфики конкретного устройства и должны обрабатываться соответствующим драйвером, а структура обработки ошибок не зависит от специфики устройства. Она зависит от среды окружения и характера ошибки. При простых ошибках может быть выведено диалоговое окно с вопросом к пользователю, что делать дальше. Повторить, игнорировать или уничтожить вызываемый процесс. Если пользователь недоступен, произойдет аварийное завершение вызова с указанием кода ошибки.

2). Смена прав наследования и владения файлами. Копирование папок на разные тома.

Через особые разрешение.