Составители:
Рубрика:
63
Рис. 6.2.3. VSF.
На верхнем уровне VFS располагается единая API-абстракция таких функций, как открытие,
закрытие, чтение и запись файлов. На нижнем уровне VFS находятся абстракции файловых систем,
которые определяют, как реализуются функции верхнего уровня. Они представляют собой
подключаемые модули для конкретных файловых систем (которых существует более 50). Исходные
коды файловых систем находятся в ./linux/fs.
Ниже уровня файловой системы находится кэш буферов, предоставляющий общий набор
функций к уровню файловой системы (независимый от конкретной файловой системы). Этот уровень
кэширования оптимизирует доступ к физическим устройствам за счет краткосрочного хранения
данных (или упреждающего чтения, обеспечивающего готовность данных к тому моменту, когда они
понадобятся). Ниже кэша буферов находятся драйверы устройств, реализующие интерфейсы для
конкретных физических устройств.
Сетевой стек
Сетевой стек по своей конструкции имеет многоуровневую архитектуру, повторяющую структуру
самих протоколов. Протокол Internet Protocol (IP) – это базовый протокол сетевого уровня,
располагающийся ниже транспортного протокола Transmission Control Protocol, TCP). В ядре Linux
выше реалиации протокола TCP находится уровень сокетов, вызываемый через SCI.
Уровень сокетов представляет собой стандартный API к сетевой подсистеме. Он предоставляет
интерфейс к различным сетевым протоколам. Уровень сокетов реализует стандартизованный способ
управления соединениями и передачи данных между конечными точками, от доступа к "чистым"
кадрам данных и блокам данных протокола IP (PDU) и до протоколов TCP и User Datagram Protocol
(UDP). Исходные коды сетевой подсистемы ядра находятся в каталоге ./linux/net.
Драйверы устройств
Подавляющее большинство исходного кода ядра Linux приходится на драйверы устройств,
обеспечивающие возможность работы с конкретными аппаратными устройствами. В дереве исходных
кодов Linux имеется подкаталог драйверов, в котором, в свою очередь, имеются подкаталоги для
различных типов поддерживаемых устройств, таких как Bluetooth, I2C, последовательные порты и т.
д. Исходные коды драйверов устройств находятся в ./linux/drivers.
Страницы
- « первая
- ‹ предыдущая
- …
- 61
- 62
- 63
- 64
- 65
- …
- следующая ›
- последняя »