L4 — микроядро второго поколения, разработанное Йохеном Лидтке в 1993 году.
L4/Fiasco
В 1998 году группа Operating Systems Group, входящая в состав технического университета Дрездена, начала разработку собственной реализации микроядра L4, получившую название «L4/Fiasco».
Компоненты ядра
- L4Env - набор компонентов, работающих поверх микроядра «Fiasco» в пространстве пользователя:
- консоль, поддержка виртуальных консолей
- сервер логов. Позволяет собирать в одном месте отладочные сообщения от различных сервисов. В сочетании с libc и службой имен l4vfs реализует поддержку stderr/stdout для неинтерактивных сервисов.
- l4vfs - иерархический Name server, который интегрирует в одно дерево службы, файлы, терминалы и позволяет реализовать в libc файловые функции типа open(), read(), write() через специальные бэкенды. Поддерживаются две реализации libc - порты dietLibc и uCLibc.
- поддержка простейшей работы с файлами без использования файловой системы, например, получение файлов с tftp-сервера или с файловой системы L4Linux.
- Поддержка запуска исполняемых файлов формата ELF.
- Управление памятью. Реализуются свои примитивы работы с памятью поверх примитивов микроядра: концепция Dataspaces и dataspace managers.
- поддержка примитивов синхронизации, работа с таймерами, семафорами.
- Менеджер задач
- доступ к оборудованию
- Подсистема драйверов DDE (Device Driver Environment) [включает в себя поддержку драйверов Linux (DDE/Linux) и FreeBSD (DDE/FreeBSD)][1]
- L4 Runtime Environment (L4Re) — каркас, работающий поверх микроядра «Fiasco» и предназначенный для создания компонентов в пространстве пользователя. L4Re предоставляет функционал для создания клиент-серверных приложений, реализации файловых систем и реализует популярные библиотеки (стандартную библиотеку языка C («libc»), стандартную библиотеку языка C++ («libstdc++») и библиотеку pthreads).
- Nitpicker - графический сервер, реализующий минимальные примитивы для отрисовки окон и интеграции различных оконных систем в один рабочий стол. Nitpicker сделан так, что различные оконные системы (родной оконный менеджер DoPE системы DROPS, X Window из L4Linux, PM из OsFree) работают через примитивы, предоставляемые аналогом Nitpicker. Примитивами для отрисовки являются buffers и views.
- Device Driver Environment - обертка для драйверов Linux/FreeBSD/и т.д. для работы на l4env/l4re/Genode
- Genode - фреймворк для построения операционной системы на базе микроядра.[2]
L4Linux
L4Linux - модифицированная версия ядра Linux, адаптированная для того, чтобы запускаться на микроядре L4.
L4Linux не является форком Linux, но двоично совместим с ним. Благодаря этому оно может заменить Linux/x86 ядро в любом основанном на нём дистрибутиве.
L4Linux разрабатывался проектом Dresden Real-Time Operating System Project (DROPS)[3] c целью позволить «вычислениям в реальном времени» и программам «разделенного времени» работать на компьютере параллельно и одновременно.
osFree | |
---|---|
План работ • Компоненты • Используемые проекты • Экраны • FreePM • L4 • Скриншоты | |
Помощь |
Получение исходных кодов • Сборка • Отладка • Отправка отчетов |
IRC | |
Presentation Manager • IFS • Петиции к IBM |