Musl: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
Fitur saranan suntingan: 3 pranala ditambahkan. |
|||
(Satu revisi perantara oleh satu pengguna lainnya tidak ditampilkan) | |||
Baris 2:
== 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 8:
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.<ref name=":0" />
[[Lisensi MIT]] yang dimiliki musl bersifat permisif kompatibel dengan semua lisensi [[FOSS]]. musl juga ramah terhadap penautan statis sehingga penggunaannya mampu memaksimalkan penerapan aplikasi. <ref name=":0" />
[[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" />
Baris 16:
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" />
|