klibc

klibc
klibc
개발자피터 애빈
안정된 릴리스
2.0.10 / 2021년 12월 30일, 7개월 전(2021-12-30)
저장소
운영 체제리눅스
유형런타임 라이브러리
면허증.BSD 라이선스/GPLv2
웹 사이트www.kernel.org/pub/linux/libs/klibc/

컴퓨팅에서 klibc는 H. Peter Anvin에 의해 개발된 표준 C 라이브러리의 최소 부분 집합입니다.주로 Linux 부팅 프로세스에서 사용하도록 개발되었으며 초기 사용자 공간, 즉 커널 부팅 시 사용되는 컴포넌트의 일부이지만 커널 [1]모드에서는 실행되지 않습니다.이러한 컴포넌트는 일반 사용자 공간 프로그램에서 사용되는 표준 라이브러리(보통 glibc 또는 musl)에 액세스할 수 없습니다.

klibc 라이브러리의 개발은 Linux 초기화 코드를 [2][3][4]커널에서 이동하기 위한 2002년 노력의 일부였습니다.문서에 따르면 klibc 라이브러리는 정확성과 [1]작은 크기로 최적화되어 있습니다.그것의 디자인 때문에, klibc은 반드시 기술적으로 일반적으로 플랫폼 다양한 임베디드 소프트웨어를, 그리고 심지어는 MirBSD 콘 셸 같은 완전한 프로그램에서 사용됩니다. klibc BSDthree-clause[5](이전에four-clause, 역사적 허가 공지 및 Disclaimer을 통해 시정해), 뿐만 아니라 GPLv2 아래 dual-licensed은 적합하다.(Linux 커널 제한으로 인해 GPLv2에만 해당)이 듀얼 라이선스는 BSD 라이선스를 통해 비복사 소프트웨어 및 GPLv3 프로그램과의 호환성을 제공합니다(그렇지 않으면 호환성이 없습니다).(단, klibc에 glibc와 같은 GPLv2 커널 코드가 포함되어 있으면 애플리케이션 전체가 GPLv2로 돌아갑니다).

Linux 부팅 프로세스 중에 klibc는 임시 RAM 파일 시스템 initramfs 내에서 로드됩니다.기본적으로는 에 의해 작성된 초기 RAM 파일 시스템에 통합됩니다.mkinitramfs스크립트[6] 데비안과 우분투로 지정합니다.또한 초기 사용자 공간에서 유용한 일련의 작은 Unix 유틸리티(cpio, 대시, fstype, mkdir, mknod, mount, nfsmount, run-init 등)도 모두 klibc [7]라이브러리를 사용합니다.다른 방법으로는 인수, 하드링크 또는 심볼링크를 통해 요청된 애플릿을 결정하는 BusyBox와 같은 하나의 실행 파일에 모든 것을 포함하는 방법이 있습니다.

레퍼런스

  1. ^ a b https://www.kernel.org/doc/Documentation/early-userspace/README[베어 URL 플레인텍스트 파일]
  2. ^ Jonathan Corbet, (2002년 11월) Initramfs 도착, LWN.net
  3. ^ "initramfs merge, part 1 of N". 2002-02-11.
  4. ^ "Re: initramfs merge, part 1 of N". 2002-02-11.
  5. ^ "klibc.spec.in - klibc/klibc.git - klibc main development tree". git.kernel.org. Retrieved 2020-12-06.
  6. ^ 데비안 휘지 클릭.
  7. ^ "libs/klibc/klibc.git / tree". Archived from the original on 2012-07-08.

외부 링크