Musl: Perbedaan antara revisi
menambahkan kalimat dan sub judul baru |
menambahkan kalimat |
||
Baris 1: | Baris 1: | ||
'''musl''' adalah penyedia pustaka C untuk [[sistem operasi]] standar [[Kernel (ilmu komputer)|kernel]] [[Linux]] yang dirilis di bawah lisensi MIT.<ref name=":0">{{Cite web|title=musl - Introduction|url=https://www.musl-libc.org/intro.html|website=www.musl-libc.org|access-date=2024-06-05}}</ref> Digunakan untuk perangkat sistem operasi Linux x86 (32/64), ARM (32/64), MIPS (32/64), PowerPC (32/64), S390X, SuperH, Microblaze, OpenRISC. Seperti [[Alpine Linux]] yang dibangun dengan menggunakan musl libc dan busybox.<ref>{{Cite web|title=about {{!}} Alpine Linux|url=https://alpinelinux.org/about/|website=alpinelinux.org|access-date=2024-06-05}}</ref> Dragora 3.0 Alpha 2 yang dibangun untuk mentransisi ke pustaka C musl.<ref>{{Cite web|title=Dragora 3.0 Alpha 2 Released As One Of The Libre GNU/Linux Platforms|url=https://www.phoronix.com/news/Dragora-3.0-Alpha-2|website=www.phoronix.com|language=en|access-date=2024-06-05}}</ref> |
'''musl''' adalah penyedia pustaka C untuk [[sistem operasi]] standar [[Kernel (ilmu komputer)|kernel]] [[Linux]] yang dirilis di bawah lisensi [[Institut Teknologi Massachusetts|MIT]].<ref name=":0">{{Cite web|title=musl - Introduction|url=https://www.musl-libc.org/intro.html|website=www.musl-libc.org|access-date=2024-06-05}}</ref> Digunakan untuk perangkat sistem operasi Linux x86 (32/64), ARM (32/64), MIPS (32/64), PowerPC (32/64), S390X, SuperH, Microblaze, OpenRISC. Seperti [[Alpine Linux]] yang dibangun dengan menggunakan musl libc dan busybox.<ref>{{Cite web|title=about {{!}} Alpine Linux|url=https://alpinelinux.org/about/|website=alpinelinux.org|access-date=2024-06-05}}</ref> Dragora 3.0 Alpha 2 yang dibangun untuk mentransisi ke pustaka C musl.<ref>{{Cite web|title=Dragora 3.0 Alpha 2 Released As One Of The Libre GNU/Linux Platforms|url=https://www.phoronix.com/news/Dragora-3.0-Alpha-2|website=www.phoronix.com|language=en|access-date=2024-06-05}}</ref> |
||
== Tentang == |
== Tentang == |
||
Baris 15: | Baris 15: | ||
Pada 1990-an, Linux menggunakan [[Fork (pengembangan perangkat lunak)|fork]] dari pustaka GNU C (glibc) versi 1 yang tersedia beberapa versi (libc4, libc5). Distribusi dilanjutkan dengan mengadopsi glibc versi 2 yang dinamakan libc6. Selanjutnya, mulai bermunculan pustaka C khusus lainnya seperti uClibc dan dietlibc.<ref name=":0" /> |
Pada 1990-an, Linux menggunakan [[Fork (pengembangan perangkat lunak)|fork]] dari pustaka GNU C (glibc) versi 1 yang tersedia beberapa versi (libc4, libc5). Distribusi dilanjutkan dengan mengadopsi glibc versi 2 yang dinamakan libc6. Selanjutnya, mulai bermunculan pustaka C khusus lainnya seperti uClibc dan dietlibc.<ref name=":0" /> |
||
Pada musl versi 1.1.17 terdapat perbedaan pemanggilan pada aplikasi terhadap beberapa pustaka tanpa menggunakan informasi pemanggilan yang tepat sehingga setelah semua pustaka dimuat hasilnya tidak praktis. Versi pertama memiliki pustaka dengan simbol-simbol yang tidak terselesaikan.<ref name=":1">{{Cite web|title=musl libc - Functional differences from glibc|url=https://wiki.musl-libc.org/functional-differences-from-glibc.html|website=wiki.musl-libc.org|access-date=2024-06-10}}</ref> |
|||
musl dirancang sebagai implementasi pustaka C untuk keperluan umum yang baru, dia ringan, cepat, sederhana, gratis serta sesuai dengan standar keamanan. |
|||
Merujuk tujuan awal dibuatnya musl untuk untuk keperluan umum yang baru, yang ringan, cepat, sederhana, gratis serta sesuai dengan standar keamanan. Maka, versi musl yang lebih baru mengimplementasikan pengikatan yang lebih tangguh hingga mampu melakukan pemanggilan terhadap simbol-simbol baru.<ref name=":1" /> |
|||
== Penggunaan == |
== Penggunaan == |
Revisi per 10 Juni 2024 07.19
musl adalah penyedia pustaka C untuk sistem operasi standar kernel Linux yang dirilis di bawah lisensi MIT.[1] Digunakan untuk perangkat sistem operasi Linux x86 (32/64), ARM (32/64), MIPS (32/64), PowerPC (32/64), S390X, SuperH, Microblaze, OpenRISC. Seperti Alpine Linux yang dibangun dengan menggunakan musl libc dan busybox.[2] Dragora 3.0 Alpha 2 yang dibangun untuk mentransisi ke pustaka C musl.[3]
Tentang
Dikembangkan oleh Rich Felker untuk menulis implementasi pustaka C yang bersih, efisien dan sesuai dengan standar yang dijelaskan dalam standar ISO C dan POSIX yang digunakan pada sistem operasi kernel Linux. Sementara itu, kernel Linux mengatur akses ke perangkat keras, memori, sistem berkas dan hak istimewa untuk mengaksesnya adalah pustaka C.[1]
musl dirancang untuk penautan statis yang dinamis dan efisien yang mampu menghindari penarikan kode atau data dalam jumlah besar. Penautan tersebut menyatukan implementasi utas, matematika dan bahkan penautan dinamis itu sendiri ke dalam satu objek bersama.[1]
musl memperlihatkan implementasi utas POSIX pasca-NPTL untuk Linux yang didesain ulang untuk menghindari kondisi balapan pada desain NPTL asli. Demi efisiensi, musl memiliki berat 10-20k tergantung target dan pengaturan kompiler. Dirancang untuk memiliki ketahanan kode secara langsung, sehingga kondisi kehabisan memori tidak pernah berakibat fatal. musl juga tidak memiliki alokasi dinamis yang tidak perlu bahkan tidak ada kegagalan yang tidak dapat dipulihkan.[1]
Lisensi MIT yang dimiliki musl bersifat permisif kompatibel dengan semua lisensi FOSS. musl juga ramah terhadap penautan statis sehingga penggunaannya mampu memaksimalkan penerapan aplikasi. [1]
Biner yang ditautkan pada musl bisa digunakan sebagai file biner tunggal yang tidak memiliki ketergantungan pada perangkat luar. Bisa dijalankan pada mesin apa pun dengan mengikuti instruksi yang sesuai. Mempelajari cara kerja musl bisa dilakukan dengan mudah karena musl memiliki tata letak sumber kode yang sederhana. Hal ini juga memudahkan untuk melacak penyebab munculnya bug.[1]
Sejarah
Pada 1990-an, Linux menggunakan fork dari pustaka GNU C (glibc) versi 1 yang tersedia beberapa versi (libc4, libc5). Distribusi dilanjutkan dengan mengadopsi glibc versi 2 yang dinamakan libc6. Selanjutnya, mulai bermunculan pustaka C khusus lainnya seperti uClibc dan dietlibc.[1]
Pada musl versi 1.1.17 terdapat perbedaan pemanggilan pada aplikasi terhadap beberapa pustaka tanpa menggunakan informasi pemanggilan yang tepat sehingga setelah semua pustaka dimuat hasilnya tidak praktis. Versi pertama memiliki pustaka dengan simbol-simbol yang tidak terselesaikan.[4]
Merujuk tujuan awal dibuatnya musl untuk untuk keperluan umum yang baru, yang ringan, cepat, sederhana, gratis serta sesuai dengan standar keamanan. Maka, versi musl yang lebih baru mengimplementasikan pengikatan yang lebih tangguh hingga mampu melakukan pemanggilan terhadap simbol-simbol baru.[4]
Penggunaan
musl bisa digunakan pada Linux 2.6 atau yang lebih baru. Penggunaan musl bisa digunakan pada CPU yang didukung i386, x86_64, arm, mips, microblaze, atau powerpc. superh dan x32 (x86_64 32-bit ABI). musl bisa digunakan pada hampir semua kompilator C yang sesuai dengan standar (bahkan sebelum C99) dapat digunakan.[1]
Referensi
- ^ a b c d e f g h "musl - Introduction". www.musl-libc.org. Diakses tanggal 2024-06-05.
- ^ "about | Alpine Linux". alpinelinux.org. Diakses tanggal 2024-06-05.
- ^ "Dragora 3.0 Alpha 2 Released As One Of The Libre GNU/Linux Platforms". www.phoronix.com (dalam bahasa Inggris). Diakses tanggal 2024-06-05.
- ^ a b "musl libc - Functional differences from glibc". wiki.musl-libc.org. Diakses tanggal 2024-06-10.