Klibc - Klibc
Разработчики) | Х. Питер Анвин |
---|---|
Стабильный выпуск | 2.0.7 / 7 октября 2019 г. |
Репозиторий | |
Операционная система | Linux |
Тип | Библиотека времени исполнения |
Лицензия | GPLv2 |
Интернет сайт | www |
В вычисление, klibc является минималистическим подмножеством стандартная библиотека C разработан Х. Питер Анвин. Он был разработан в основном для использования во время Процесс запуска Linux, и это часть раннее пользовательское пространство, то есть компоненты, используемые во время запуска ядра, но не запускаемые в режим ядра.[1] Эти компоненты не имеют доступа к стандартной библиотеке (обычно glibc ) используется обычным пространство пользователя программы.
Разработка библиотеки klibc была частью усилий 2002 года по перемещению некоторого кода инициализации Linux из ядра.[2][3][4] Согласно документации, библиотека klibc оптимизирована для корректности и небольшого размера.[1] Благодаря своей конструкции klibc также технически подходит для встроенное программное обеспечение в целом, и даже некоторые полнофункциональные программы, такие как Оболочка MirBSD Korn. klibc лицензируется под полной GPL лицензия, которая (в отличие от LGPL ) накладывается на любой связанный с ним код. (Это относится только к klibc в целом из-за встраивания некоторых файлов, производных от ядра Linux; большая часть исходного кода библиотеки на самом деле[5] доступно под лицензия BSD от UCB или Уведомление об историческом разрешении и отказ от ответственности.) Это может ограничить его применимость к проприетарному встроенному программному обеспечению.[6]
В процессе запуска Linux klibc загружается из временного Файловая система RAM, initramfs. По умолчанию он включен в начальные файловые системы RAM, которые создаются mkinitramfs
сценарий в Debian[7] и Ubuntu. Кроме того, в нем есть набор небольших утилит Unix, которые полезны в раннее пользовательское пространство: cpio, бросаться, fstype, mkdir, mknod, mount, nfsmount, run-init и т. д. с использованием klibc библиотека.[8] Альтернативная стратегия - включить все в один исполняемый файл, например BusyBox, который определяет запрошенный апплет с помощью аргументов или жестких ссылок или символические ссылки.
Рекомендации
- ^ а б https://www.kernel.org/doc/Documentation/early-userspace/README
- ^ Джонатан Корбет, (Ноябрь 2002 г.) Initramfs прибывает, LWN.net
- ^ "initramfs merge, часть 1 N". 2002-02-11.
- ^ "Re: слияние initramfs, часть 1 N". 2002-02-11.
- ^ "ЛИЦЕНЗИЯ klibc usr - klibc / klibc.git - главное дерево разработки klibc". git.kernel.org. Архивировано из оригинал 10 июля 2012 г.. Получено 23 апреля 2018.
- ^ Хаген, Уильям В. (2006). Полное руководство по GCC, второе издание. Беркли, Калифорния: APress. С. 286–289. ISBN 1-59059-585-8.
- ^ Debian Wheezy Klibc.
- ^ "библиотеки / klibc / klibc.git / tree". Архивировано из оригинал на 2012-07-08.
внешняя ссылка
- Список рассылки
- initramfs и где действительно начинается пользовательское пространство - LWN, Джонатан Корбет, 11 июля 2006 г.