Implementación de la biblioteca estándar de C para el sistema operativo Linux
musl es una biblioteca estándar de C destinada a sistemas operativos basados en el núcleo Linux , publicada bajo la licencia MIT . [3] Fue desarrollada por Rich Felker para escribir una implementación de libc limpia, eficiente y conforme a los estándares. [4]
Descripción general
musl fue diseñado desde cero para permitir un enlace estático eficiente y tener una robustez de calidad en tiempo real al evitar condiciones de carrera , fallas internas por agotamiento de recursos y varios otros comportamientos del peor de los casos presentes en las implementaciones existentes. [4] El tiempo de ejecución dinámico es un solo archivo con ABI estable que permite actualizaciones sin carrera y el soporte de enlace estático permite que una aplicación se implemente como un solo binario portátil sin una sobrecarga de tamaño significativa.
Afirma ser compatible con la especificación POSIX 2008 y el estándar C11 . También implementa la mayoría de las funciones no estándar de Linux , BSD y glibc ampliamente utilizadas. [5] Existe una compatibilidad ABI parcial con la parte de glibc requerida por Linux Standard Base . [6]
La versión 1.2.0 tiene soporte para Unicode 12.1.0 (que ya no es el actual) (aunque todavía tiene soporte completo para UTF-8 , [7] más conforme/estricto que glibc ), y la versión 1.2.1 "incluye la nueva implementación de malloc 'mallocng' , que reemplaza al asignador original de musl similar a dlmalloc que adolecía de problemas de diseño fundamentales". [2]
Usar
Algunas distribuciones de Linux que pueden usar o incluso usan exclusivamente musl como biblioteca C estándar incluyen:
El microkernel seL4 [17] se entrega con musl.
Para los binarios que se han vinculado con glibc, gcompat, [18] glibmus-hq. [19] se pueden usar para ejecutarlos en distribuciones basadas en musl.
Véase también
Referencias
- ^ "musl - versiones obsoletas". musl-libc.org . 2017-10-31 . Consultado el 2018-01-14 .>
- ^ ab "Historial de versiones de musl libc". musl.libc.org . Archivado desde el original el 2021-10-16 . Consultado el 2020-08-13 .
- ^ Rich Felker; et al. (29 de abril de 2016). «COPYRIGHT». Archivado desde el original el 16 de octubre de 2021. Consultado el 26 de septiembre de 2016 .
- ^ ab "Introducción al musl". 21 de abril de 2016. Archivado desde el original el 16 de octubre de 2021. Consultado el 26 de septiembre de 2016 .
- ^ "Compatibilidad". wiki.musl-libc.org . 2014-05-27. Archivado desde el original el 2021-10-16 . Consultado el 2016-09-26 .
- ^ "Comparación de las implementaciones de la biblioteca estándar C/POSIX para Linux". www.etalabs.net . Archivado desde el original el 16 de octubre de 2021.
- ^ "musl libc - Diferencias funcionales con glibc". wiki.musl-libc.org . Archivado desde el original el 2021-10-16 . Consultado el 2020-08-13 .
- ^ "Acerca de". Alpine Linux . Consultado el 18 de junio de 2022 .
- ^ Larabel, Michael (30 de septiembre de 2018). "Dragora 3.0 Alpha 2 se lanzó como una de las plataformas GNU/Linux libres". Phoronix . Phoronix Media . Consultado el 18 de junio de 2022 .
- ^ Gentoo Authors (20 de julio de 2021). «Descargas de etapas adicionales para amd64, ppc, x86, arm disponibles». Gentoo Linux . Consultado el 18 de junio de 2022 .
- ^ Fietkau, Felix (16 de junio de 2015). «OpenWrt cambia a musl por defecto». Archivado desde el original el 28 de julio de 2015.
- ^ "Acerca de postmarketOS - Wiki de postmarketOS". wiki.postmarketos.org . Consultado el 7 de agosto de 2024 .
- ^ README.md en GitHub
- ^ "morfeo". Archivado desde el original el 16 de octubre de 2021. Consultado el 15 de junio de 2018 .
- ^ "Chimera Linux - Acerca de". Chimera Linux . Consultado el 10 de mayo de 2023 .
- ^ "Entrar en el vacío". Void Linux . Consultado el 18 de junio de 2022 .
- ^ seL4/musllibc, microkernel seL4 y repositorios relacionados, 2020-08-30, archivado desde el original el 2021-10-16 , consultado el 2020-09-05
- ^ "Adélie Linux / gcompat". GitLab . Archivado desde el original el 2021-10-16 . Consultado el 2019-10-21 .
- ^ "Manoel-linux-gitlab / GlibMus-HQ · GitLab".
Enlaces externos
- Sitio web oficial
- Comparación de las implementaciones de la biblioteca estándar C/POSIX para Linux
- Matriz de bibliotecas estándar de C/POSIX por arquitectura
- Proyecto:Musl en la wiki de Gentoo