Способность ОС к «экранированию» сложностей реальной аппаратуры очень ярко проявляется в одной из ее основных подсистем - файловой системе. ОС виртуализирует отдельный набор данных, хранящихся на внешнем накопителе, в виде файла.
Файл - простая неструктурированная последовательность байтов, имеющая символьное имя. Файлы группируются в каталоги (папки). Они, в свою очередь, образуют группы – каталоги (папки) более высокого уровня. Пользователь может с помощью ОС выполнять над файлами и каталогами такие действия, как поиск по имени, удаление, вывод содержимого на внешнее устройство (например, на дисплей), изменение и сохранение содержимого. При этом для поддержания иерархической структуры ОС надо решать множество задач.
Файловая система ОС выполняет преобразование символьных имен файлов, с которыми работает пользователь или прикладной программист, в физические адреса данных на диске, организует совместный доступ к файлам, защищает их от несанкционированного доступа.
|
|
При выполнении своих функций файловая система тесно взаимодействует с подсистемой управления внешними устройствами, которая по запросам файловой системы осуществляет передачу данных между дисками и оперативной памятью.
Подсистема управления внешними устройствами (ввода-вывода), исполняет роль интерфейса ко всем устройствам, подключенным к компьютеру. Спектр этих устройств очень обширен и может насчитывать сотни моделей. Они могут существенно отличаться набором и последовательностью команд, с помощью которых осуществляется обмен информацией с процессором и памятью компьютера, скоростью работы, кодировкой передаваемых данных, возможностью совместного использования и множеством других деталей.
Драйвер -(англ. drive — управлять, вести) программа, управляющая конкретной моделью внешнего устройства и учитывающая все его особенности. Он может управлять единственной моделью устройства, например, каким-либо конкретным модемом, или же группой устройств определенного типа. Для пользователя очень важно, чтобы ОС включала как можно больше разнообразных драйверов, так как это гарантирует возможность подключения к компьютеру большого числа внешних устройств различных производителей. От этого зависит успех ОС на рынке (в этом одна из причин низкой популярности OS/2).
Созданием драйверов устройств занимаются как разработчики конкретной ОС, так и специалисты компаний, выпускающих внешние устройства. ОС должна поддерживать хорошо определенный интерфейс между драйверами и собой. Тогда разработчики из компаний-производителей устройств ввода-вывода могут поставлять вместе со своими устройствами драйверы для данной ОС.