맨위로가기

Musl

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Musl은 POSIX 2008 및 C11 표준과 호환되는 C 표준 라이브러리이다. 리눅스, BSD, glibc 함수를 구현하며, 안정적인 ABI를 가진 단일 파일 동적 런타임과 정적 링킹을 지원한다. 유니코드 12.1.0을 지원하며, 메모리 할당 성능을 개선했다. musl은 정적 링킹, 경쟁 상태 회피 등을 통해 실시간 품질의 견고성을 갖도록 설계되었다. Alpine Linux, OpenWrt, Void Linux 등 여러 리눅스 배포판에서 표준 C 라이브러리로 사용되며, glibc 바이너리는 gcompat 등을 사용하여 musl 기반 배포판에서 실행할 수 있다.

더 읽어볼만한 페이지

  • 리눅스 커널 인터페이스 - 장치 파일
    유닉스 및 유닉스 계열 운영 체제에서 하드웨어 장치 접근을 위해 사용되는 특수 파일 시스템 객체인 장치 파일은 문자 장치와 블록 장치로 나뉘며 주 번호와 부 번호로 식별되고, 물리 장치 외에 가상 장치도 존재하며 다른 운영 체제에서도 유사한 개념으로 특정 포트와 장치에 접근하는 데 사용된다.
  • 리눅스 커널 인터페이스 - 리눅스 기본 규격
    리눅스 기본 규격(LSB)은 리눅스 배포판 간 호환성 증진을 목표로 하는 표준으로, 다양한 발전을 거쳤으나 비판과 제한적인 적용 사례가 있다.
  • 리눅스 API - 와인 (소프트웨어)
    와인(Wine)은 유닉스 계열 운영체제에서 윈도우 응용 프로그램을 실행하기 위한 호환성 계층으로, 윈도우 API를 직접 구현하여 윈도우 프로그램이 리눅스, macOS 등에서 실행되도록 지원하며, 여러 기업의 후원을 받아 꾸준히 발전해왔다.
  • 리눅스 API - OpenAL
    OpenAL은 3차원 오디오를 위한 크로스 플랫폼 API로, 소스 객체, 오디오 버퍼, 리스너를 사용하여 3차원 공간에서 소리를 구현하며 다양한 운영 체제와 하드웨어를 지원한다.
  • C 표준 라이브러리 - 파일 끝
    파일 끝(EOF)은 데이터 소스에서 더 이상 읽을 데이터가 없음을 나타내는 조건이다.
  • C 표준 라이브러리 - C 자료형
    C 자료형은 C 언어에서 데이터 형태를 정의하는 기본 요소로, 다양한 크기와 속성을 가진 산술, 부울 자료형과 구조체, 공용체 등을 제공하며, 컴파일러 및 시스템 아키텍처에 따라 크기와 동작 방식이 달라질 수 있다.
Musl - [IT 관련 정보]에 관한 문서
개요
musl 로고
musl 로고
일반 정보
이름musl
개발자리치 펠커 (dalias) 및 다른 개발자
배포일2011년 2월 11일
최신 배포 버전1.2.5
최신 배포일2024년 3월 1일
운영체제리눅스 2.6 이상
플랫폼x86
x86-64
ARM
loongarch64
MIPS
Microblaze
PowerPC
powerpc64
x32
RISC-V
OpenRISC
s390x
SuperH
장르C 표준 라이브러리
임베디드 리눅스
Linux for mobile devices
라이선스MIT 라이선스
웹사이트musl.libc.org

2. 특징

musl은 POSIX:2008 사양 및 C99를 준수하며[26], 널리 사용되는 대부분의 비표준 리눅스, BSD, glibc 함수도 구현되어 있다.[4]

버전 1.2.0은 유니코드 12.1.0을 지원하며(glibc보다 더 적합하고 엄격함)[6], 버전 1.2.1에서는 새로운 'mallocng' malloc 구현을 통해 메모리 할당 성능을 개선했다.[7]

musl을 표준 C 라이브러리로 사용할 수 있는 리눅스 배포판에는 Alpine Linux, Dragora GNU/Linux-Libre, Gentoo Linux, Sabotage[27], Morpheus Linux[28] 및 Void Linux|보이드 리눅스영어 등이 있다. glibc에 링크된 바이너리의 경우, ''gcompat''[29]을 사용하면 musl 기반 배포판에서 실행할 수 있다.

2. 1. 성능 및 안정성

musl은 효율적인 정적 링킹을 허용하고 경쟁 상태, 자원 고갈 시 내부 실패, 기존 구현체에서 보이는 그 밖의 다양한 좋지 않은 최악의 동작들을 회피함으로써 실시간 품질의 견고성을 보유하기 위해 처음부터 새로 설계되었다.[33] 동적 런타임은 안정적인 ABI를 가진 단일 파일로, 경합 없는 업데이트를 허용하며, 정적 연결 지원을 통해 애플리케이션을 상당한 크기 오버헤드 없이 단일 휴대용 바이너리로 배포할 수 있다.[3]

2. 2. 호환성

musl은 POSIX 2008 사양 및 C11 표준과 호환된다.[4] 또한 널리 사용되는 대부분의 비표준 리눅스, BSD, glibc 함수를 구현한다.[4] 리눅스 표준 기반에서 요구하는 glibc의 일부와 부분적으로 ABI 호환된다.[5]

3. 사용 현황

musl을 표준 C 라이브러리로 사용하는 대표적인 리눅스 배포판은 다음과 같다.

배포판 이름설명
Alpine Linux[8]
Dragora 3[9]
Gentoo Linux[10]기본적으로 glibc를 사용하지만, 설치 시 musl을 선택할 수 있다.
OpenWrt[11]
postmarketOS[12]
Sabotage[13]
Morpheus Linux[14]
Chimera Linux[15]
Void Linux[16]



seL4 마이크로커널[17]은 musl과 함께 제공된다.

glibc에 링크된 바이너리의 경우, gcompat,[18] glibmus-hq[19] 등을 사용하여 musl 기반 배포판에서 실행할 수 있다.

참조

[1] 웹사이트 musl - obsolete versions https://www.musl-lib[...] 2017-10-31
[2] 웹사이트 COPYRIGHT https://git.musl-lib[...] 2016-04-29
[3] 웹사이트 Introduction to musl https://www.musl-lib[...] 2016-04-21
[4] 웹사이트 Compatibility http://wiki.musl-lib[...] 2014-05-27
[5] 웹사이트 Comparison of C/POSIX standard library implementations for Linux http://www.etalabs.n[...]
[6] 웹사이트 musl libc - Functional differences from glibc https://wiki.musl-li[...] 2020-08-13
[7] 웹사이트 musl libc Release History https://musl.libc.or[...] 2020-08-13
[8] 웹사이트 About https://alpinelinux.[...] 2022-06-18
[9] 웹사이트 Dragora 3.0 Alpha 2 Released As One Of The Libre GNU/Linux Platforms https://www.phoronix[...] Phoronix Media 2018-09-30
[10] 웹사이트 Additional stage downloads for amd64, ppc, x86, arm available https://www.gentoo.o[...] 2021-07-20
[11] 웹사이트 OpenWrt switches to musl by default http://permalink.gma[...] 2015-06-16
[12] 웹사이트 About postmarketOS - postmarketOS Wiki https://wiki.postmar[...] 2024-08-07
[13] Github sabotage/sabotage https://github.com/s[...]
[14] 웹사이트 morpheus https://morpheus.2f3[...] 2018-06-15
[15] 웹사이트 Chimera Linux - About https://chimera-linu[...] 2023-05-10
[16] 웹사이트 Enter the void https://voidlinux.or[...] 2022-06-18
[17] 간행물 seL4/musllibc https://github.com/s[...] seL4 microkernel and related repositories 2020-08-30
[18] 웹사이트 Adélie Linux / gcompat https://code.foxkit.[...] 2019-10-21
[19] 웹사이트 Manoel-linux-gitlab / GlibMus-HQ · GitLab https://gitlab.com/m[...]
[20] 웹사이트 musl libc Release History https://musl.libc.or[...] musl.libc.org 2024-09-30
[21] 문서 ハードウェアによる、浮動小数点数演算機能が必須。
[22] 웹사이트 musl 1.1.24 (Draft) Reference Manual https://musl.libc.or[...] 2020-02-05
[23] 웹사이트 COPYRIGHT https://git.musl-lib[...] git.musl-libc.org 2020-07-01
[24] 웹사이트 About musl https://musl.libc.or[...] musl.libc.org 2020-07-01
[25] 웹사이트 Introduction to musl https://www.musl-lib[...] musl-libc.org 2022-07-12
[26] 웹사이트 Compatibility https://wiki.musl-li[...] wiki.musl-libc.org 2020-07-01
[27] Github sabotage/sabotage https://github.com/s[...]
[28] 웹사이트 Morpheus Linux https://morpheus.2f3[...] morpheus.2f30.org 2020-07-01
[29] 웹사이트 gcompat https://code.foxkit.[...] code.foxkit.us 2020-07-01
[30] 웹인용 musl - obsolete versions https://www.musl-lib[...] 2017-10-31
[31] 웹인용 musl libc Release History https://musl.libc.or[...] 2020-08-13
[32] 웹인용 COPYRIGHT https://git.musl-lib[...] 2016-04-29
[33] 웹인용 Introduction to musl https://www.musl-lib[...] 2016-04-21



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com