Musl: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Cravesan (bicara | kontrib)
k Menambah Kategori:Kernel Linux menggunakan HotCat
Cravesan (bicara | kontrib)
 
(3 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 1:
'''musl''' bisa diartikan sebagai kerang atau otot. 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 ==
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.<ref name=":0" />
 
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.<ref name=":0" />
 
Baris 9 ⟶ 11:
 
[[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]].<ref name=":0" />
 
== Sejarah ==
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" />
 
musl versi 1.1.10 menyediakan lokalitas [[UTF-8]] C yang diizinkan oleh standar [[ISO]]. Namun, banyak pengkodean yang memproses data tidak valid. Pada 2013, Austin Group (penanggung jawab POSIX) memberi syarat untuk versi terbaru musl agar pustaka C bisa memperlakukan setiap [[byte]] sebagai karakter abstrak.<ref name=":1" />
 
musl menggunakan Unicode dan ISO 10646 yang baru dari UTF-8. Penggunaan ini mendefinisikan pemetaan satu ke satu antara Unicode Scalar Values dan urutan 1-4 byte yang valid. Pengurutan sampai 4 byte ini memungkinkan hasil output UTF-8 dalam [[buffer]].<ref name=":1" />
 
Kemudian, pada versi 1.1.11, terdapat pustaka C yang khusus sehingga tiap byte diperlakukan sebagai unit karakter tanpa identitas yang sebenarnya. Tempat khusus ini dimaksudkan agar setiap rangkaian karakter bisa diproses byte per byte tanpa validasi.<ref name=":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.<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>
 
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 ==
musl bisa digunakan pada Linux 2.6 atau yang lebih baru. Penggunaan musl bisa digunakan pada [[Unit Pemroses Sentral|CPU]] yang didukung i386, x86_64, arm, [[Arsitektur MIPS|mips]], microblaze, atau [[PowerPC|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.<ref name=":0" />
 
== Referensi ==