Довольно интересный проект появился в недрах Политехнического института Бухареста - Linux Kernel Library (LKL), представляющий собой измененный код ядра Linux, на данный момент 2.6.22, который можно использовать как подключаемую библиотеку.
LKL можно использовать для создания приложений, способных при запуске в других операционных системах использовать возможности Linux ядра, например, поддержку файловых систем, задействование функций системы распределения памяти и планировщика задач. При этом нити ядра (kernel threads) симулируются в виде нитей пользовательского уровня (POSIX или Windows threads), а вместо области физической памяти может выступать блок выделенный через malloc() или GlobalAlloc().
Уже существует несколько работающих программ, построенных на основе LKL:
- lklftpd - портируемый FTP демон, использующий Apache Runtime Library, с возможностью прямого доступа к EXT3 дисковым разделами, независимо от используемой ОС.
- lklvfs - Windows драйвер, для доступа к файловым системам Linux.
Проект также может быть использован для выявления ошибок в самом ядре, так недавно была добавлена экспериментальная возможность запуска приложений под отладчиком Valgrind, позволяя выявлять ошибки работы с памятью.
|