Bagaimana transisi ke 64 bit ditangani di Linux / Unix? Dunia Windows tampaknya masih memiliki masalah dengan itu dan saya ingin tahu bagaimana itu ditangani di dunia * nix.
Bagaimana transisi ke 64 bit ditangani di Linux / Unix? Dunia Windows tampaknya masih memiliki masalah dengan itu dan saya ingin tahu bagaimana itu ditangani di dunia * nix.
Jawaban:
Pekerjaan yang diperlukan untuk membuat kernel 64-bit dilakukan sebuah memberiku waktu lalu menggunakan sistem Desember Alpha. Program, bagaimanapun, adalah masalah yang berbeda.
Konsensus umum yang saya lihat sejauh ini tampaknya adalah:
/lib
dan /lib64
direktori untuk sistem yang memiliki binari campuranSelain itu, Anda benar-benar tidak akan melihat banyak "kesedihan" dari campuran 32/64 bit.
multilib
alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib
Windows dan * ix menggunakan model data yang berbeda untuk transisi. Halaman UNIX.org ini agak lama, tetapi masih memberikan gambaran yang baik tentang pertukaran (catatan yang long long
kemudian ditambahkan ke C99, dan harus setidaknya 64-bit). Anda juga dapat melihat artikel Wikipedia tentang topik yang sama. Seperti yang dianjurkan pada akhir artikel UNIX.org, yang paling UNIX-seperti sistem telah pergi dengan LP64, yang berarti long
, long long
dan pointer ke-64-bit.
Windows berjalan dengan apa yang disebut model data LLP64, yang berarti bahwa hanya long long
pointer yang 64-bit. long
tetap 32-bit. Sebagian alasannya adalah karena mereka tidak ingin melalui dan memperbaiki kode yang rusak yang dianggap long
sesuai dengan int
.
Karena sebagian besar distro Linux adalah OpenSource, maka sudah banyak transisi yang dilakukan. Kecuali Anda menggunakan perangkat lunak propertary (seperti skype), Anda dapat menjalankan sistem 64-bit murni tanpa kerugian.
Namun perbedaan nyata IMHO lebih propertary vs terbuka kemudian unix vs windows karena biasanya perangkat lunak sumber terbuka yang porting terlebih dahulu (beberapa volonteer perlu mengkompilasi ulang sesuatu - mungkin memperbaiki beberapa masalah kompilasi) - atau dalam kebanyakan kasus tidak porting di semua kecuali baru saja dikompilasi;) - dan propertary yang porting terakhir.
Mungkin tambahan di Linux Anda memiliki repo sehingga instalasi ditangani secara otomatis - Anda tidak perlu memilih versi 64-bit atau 32-bit (sistem memilih Anda secara otomatis). Pada Windows program diunduh dan memiliki versi 64-bit dan 32-bit yang terpisah:
Saya kira itulah alasan mengapa binari Windows biasanya 32-bit - ini adalah satu ukuran yang cocok untuk semua dan tidak semua orang telah beralih ke versi 64-bit.
Sebenarnya, coba "Jalan Panjang ke 64-bit" di ACM Queue: http://queue.acm.org/detail.cfm?id=1165766 Itu kemudian diambil oleh Communications of the ACM. Mikro 64-bit pertama adalah MIPS R4000, dikirim dalam SGI Crimson 1Q1992, Dec Alphas dikirim akhir tahun itu.
R4000s berjalan pada awalnya dalam mode 32-bit, kemudian dalam mode 64/32, yaitu, OS 64-bit, kode pengguna 64 atau 32-bit. Alphas selalu menjalankan UNIX dalam 64-bit-saja (pilihan yang masuk akal, karena tidak ada basis aplikasi 32-bit yang diinstal.)
Kemudian pada tahun 1990-an, SGI berkontribusi pada Linux 64-bit (untuk dijalankan di Itaniums), tentang waktu XFS dipindahkan ke Linux (benar-benar menginginkan 64-bit).