컴퓨터 프로그램은 기본적인 기능을 수행하기 위해 운영체제와 상호 작용해야 합니다. 예를 들어, 파일을 읽거나 쓰고, 메모리를 할당하거나 해제해야 합니다. 이런 작업을 수행하기 위한 인터페이스들이 있는데요. 이런 기본적인 인터페이스를 제공하는 게 glibc입니다. 리눅스에서 glibc는 GNU 프로젝트의 C 라이브러리를 나타냅니다. GNU 프로젝트는 1983년에 시작된 공개 소프트웨어 프로젝트로 현재 리눅스 배포판에는 대부분 glibc가 포함되어 있습니다.
GLIBC
glibc는 C와 C++ 프로그램이 운영체제와 상호작용할 수 있도록 시스템 호출, 기본 데이터 구조, 알고리즘, 스레드 지원, 수학 함수, 입력/출력 등과 같은 기본 런타임 기능을 제공합니다. 때문에 대부분의 리눅스 배포판은 기본 C 라이브러리로 glibc를 사용한다고 보셔도 됩니다. 예를 들어 libc, libnsl, libcrypt, libnss 등 주요 라이브러리가 glibc에 포함됩니다.
libc는 "표준 C 라이브러리"를 말하는 대 명사이고
glibc는 GNU에서 만든 libc 입니다.
libc의 종류
1. glibc
- pathname : /lib/libc.so.6
- 상세 설명 : 1992 이후로 linux에서 가장 많이 사용되는 libc
2. linux libc
- pathname : libc.so.5
- 상세 설명 : 1990년에 glibc의 대신 잠깐 나왔다 사라진 libc
3. other C libraries
- uClibc : 경량화 libc
- dietlibc : 경량화 libc
- musl libc : 경량화 libc (container 에서 사용됨)
glibc란?
https://www.gnu.org/software/libc/libc.html
GNU C library 프로젝트는 GNU 시스템과 GNU/Linux 시스템, 그리고 Linux를 커널로 사용하는 다른 많은 시스템을 위한 핵심 library를 제공합니다.
이 library는 ISO C11, POSIX.1-2008, BSD, OS별 API 등을 포함한 중요한 API를 제공합니다.
이러한 API에는 open, read, write, malloc, printf, getaddrinfo, dlopen, pthread_create, crypt, login, exit 등과 같은 기본 기능이 포함됩니다
glibc의 역활
GNU C library는 C 또는 C++ 언어로 작성된 프로그램에서 직접 사용하는 많은 저수준 구성 요소를 제공합니다. 많은 프로그래밍 언어는 C#, Java, Perl, Python 및 Ruby를 포함하여 간접적으로 GNU C 라이브러리를 사용합니다(해당 언어에 대한 인터프리터, VM 또는 컴파일된 코드는 glibc를 직접 사용함).
출처 : https://doitnow-man.tistory.com/entry/linux-libc%EC%99%80-glibc%EC%9D%98-%EC%B0%A8%EC%9D%B4
https://change-words.tistory.com/entry/Linux-GLIBC-Package
'Computer science (이동 완료) > linux' 카테고리의 다른 글
gcc 란 (0) | 2023.08.30 |
---|---|
Linux 버전 별 glibc, glibc2 (0) | 2023.08.29 |
NFS 란 (0) | 2023.08.25 |
[ubuntu] apt의 이해 (0) | 2023.08.01 |
리눅스 확장자별 압축 zip, tar, gz(gzip) 차이 및 사용법 (0) | 2023.07.27 |