Динамическая загрузка и выгрузка драйверов

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

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

Поддержка динамической загрузки драйверов является практически обязатель­ным требованием для современных универсальных операционных систем.

Поддержка нескольких файловых систем

Диски представляют особый род периферийных устройств, так как именно на них хранится большая часть как пользовательских, так и системных данных. Дан­ные на дисках организуются в файловые системы, и свойства файловой системы во многом определяют свойства самой ОС — ее отказоустойчивость, быстродей­ствие, максимальный объем хранимых данных. Популярность файловой систе­мы часто приводит к ее миграции из «родной» ОС в другие операционные систе­мы — например, файловая система FAT появилась первоначально в MS-DOS, но затем была реализована в OS/2, семействе MS Windows и многих реализациях UNIX. Ввиду этого поддержка нескольких популярных файловых систем для под­системы ввода-вывода также важна, как и поддержка широкого спектра перифе­рийных устройств. Важно также, чтобы архитектура подсистемы ввода-вывода позволяла достаточно просто включать в ее состав новые типы файловых сис­тем, без необходимости переписывания кода. Обычно в операционной системе имеется специальный слой программного обеспечения, отвечающий за решение данной задачи, например слой VFS (Virtual File System) в версиях UNIX на осно­ве кода System V Release.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: