Реализация поддержки файловых систем

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

Так, модуль io-bik.so обеспечивает для всех блочных файловых систем буферный кэш, в который помещаются данные при выполнении записи на диск. Это позволяет значительно сократить число операций чтения/записи с физическим диском, что повышает производительность работы файловых систем. Однако критичные с точки зрения надежности функционирования блоки файловой системы (например, информация о структуре диска) записываются на диск немедленно и синхронно, минуя обычный механизм записи. Для доступа к жестким дискам, компакт-дискам и оптическим дискам драйверу необходимо подгрузить соответствующие модули поддержки общих методов доступа – соответственно cam-disk.so, сam-сdrom.so и/или cam-optical.so.

А для поддержки собственно блочных файловых систем этот модуль io-bik.so загружает необходимые администраторы файловых систем, реализованные в виде динамически присоединяемых библиотек. Поддержка блочных файловых систем реализована в модулях администраторов ресурсов:

- fs-qnx4.so — файловая система QNX4;

- fs-ext2.so — файловая система Ext2;

- fs-dos.so — файловая система FAT32;

- fs-cd.so — файловая система ISO9660.

Администраторы файловых систем монтируют свои разделы в определенные точки общей файловой системы. Раздел QNX4, выбранный в процессе загрузки как первичный, монтируется в корень файловой системы – /. Остальные разделы по умолчанию монтируются в каталог /fs. Например, компакт-диск монтируется в точку /fs/cd, а файловая система FAT32 монтируется, в точку /fs/hd0-dos.


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



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