Saya memiliki MacBook Pro (5,1) dengan memori 4GB yang menjalankan 10A432 - tetapi ia menjalankan kernel 32-bit.
Adakah ide mengapa itu tidak akan berjalan dalam mode 64-bit, dan bagaimana saya bisa melakukannya?
Saya memiliki MacBook Pro (5,1) dengan memori 4GB yang menjalankan 10A432 - tetapi ia menjalankan kernel 32-bit.
Adakah ide mengapa itu tidak akan berjalan dalam mode 64-bit, dan bagaimana saya bisa melakukannya?
Jawaban:
Dalam Jon Siracusa's Review of Snow Leopard ia membahas transisi 64-bit .
Versi singkatnya adalah: karena tidak ada 'mode campuran', kernel 64-bit membutuhkan 64-bit Kernel Extensions and Drivers .
Karena belum tersedia secara luas, Apple memilih default ke 32-bit untuk menghindari banyak hal rusak.
Instruksi dari artikel:
Untuk semua Mac berkemampuan K64, boot sambil menahan tombol "6" dan "4" secara bersamaan untuk memilih kernel 64-bit. Untuk solusi yang lebih permanen, gunakan perintah nvram untuk menambah string
arch=x86_64
Andaboot-args
, atau edit file/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
dan tambahkanarch=x86_64
ke string Kernel Flags:
...
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64</string>
...
Untuk beralih kembali ke kernel 32-bit, tahan tombol "3" dan "2" saat boot, atau gunakan salah satu teknik di atas, ganti "x86_64" dengan "i386".
Tidak ada banyak manfaat untuk menjalankan kernel 64-bit di Snow Leopard, tidak seperti kebanyakan sistem operasi lain. Di Windows dan Linux, Anda membutuhkan kernel 64-bit untuk menjalankan aplikasi 64-bit. Pada OS X, Anda dapat menjalankan aplikasi 64-bit dengan kernel 32-bit.
Kebanyakan orang tampaknya khawatir bahwa menjalankan kernel 32-bit di OS X membatasi kinerja atau kemampuan mesin mereka, tetapi dalam praktiknya ini tidak memiliki dampak material yang signifikan. Kernel 32-bit mendukung menjalankan aplikasi 64-bit, dan aplikasi tersebut memiliki ruang alamat virtual 64-bit yang dipetakan ke ruang alamat PAE 36-bit oleh kernel, sehingga mereka berperilaku sama seperti pada 64- kernel bit, hanya dengan penggunaan memori yang lebih terbatas dan I / O yang dipetakan memori ke rentang yang dapat digunakan. Cara Apple menangani ruang alamat ini di kernel 32-bit menghasilkan batas 32 GB untuk memori fisik, melanggar batas 4 GB 32-bit dengan PAE. Dari segi kinerja tidak ada banyak manfaatnya, jika ada yang terukur sama sekali dengan menggunakan kernel 64-bit dengan memori 32 GB atau kurang. Jika Anda menghendaki,6dan 4kunci saat startup. Saya ragu Anda akan melihat dan perbedaan kinerja yang signifikan.
Masalah lainnya adalah kompatibilitas dengan driver perangkat, ekstensi kernel, dan firmware perangkat. Untuk driver perangkat dan ekstensi kernel, mereka harus cocok dengan bit-ness, dikompilasi ulang, atau ditulis ulang (terutama jika mereka memiliki rakitan, bagian mana yang umum dalam jenis kode tersebut). EFI Apple awalnya datang hanya dalam 32-bit, dan baru-baru ini beberapa model memiliki firmware 64-bit. Agar sistem operasi dapat berbicara dengan firmware, bit-ness dari kernel dan EFI harus cocok. Hal-hal yang melibatkan berbicara dengan EFI adalah hal-hal seperti memilih disk startup atau beberapa kontrol manajemen daya (seperti jika Anda memiliki lebih dari satu instalasi OS X dan Anda harus bangun dari tidur setelah baterai habis).
Jadi, apakah kernel 64-bit akan bermanfaat? Kinerja bijaksana tidak benar-benar dalam praktek, dan saya bisa melihat kebijaksanaan dengan Apple menggunakan kernel 32-bit untuk sebagian besar mesin yang menjalankan Snow Leopard untuk kompatibilitas yang lebih baik.
Menurut apa yang telah bocor ke MacRumors (karena dokumen resmi di bawah NDA) ( Sumber ) hanya komputer berikut ini yang mendukung menjalankan kernel 64-bit:
Hanya XServes yang menggunakan kernel 64-bit secara default.
Jika Anda memulai komputer memegang 6dan 4kunci Anda akan memulai kernel 64-bit, atau menurut sumber lain melanggar NDA mereka, Anda dapat mengedit /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
menambahkan flag kernel atau melakukannya di nvram.
Sayangnya, tautan Jason yang dikaburkan menyembunyikan sebagian informasi yang sangat berguna:
ioreg -l -p IODeviceTree | grep firmware-abi
EFI Mac 64 bit akan dilaporkan
| | "firmware-abi" = <"EFI64">
Sampai Snow Leopard dirilis, kita tidak akan tahu sistem apa yang akan mendukung mode 64/32 bit ... Tetapi semua indikasi adalah bahwa Snow Leopard akan transparan dengan dukungan kernel ...
Tapi, sayangnya, maaf menjadi "downer", jika Anda adalah anggota Appleseed yang terdaftar, forum Appleseed membahas cara memaksa kernel ke mode 64bit. Jika tidak, jika Anda telah menerima Snow Leopard di tempat lain, jangan khawatir tentang hal itu.
Rilis Snow Leopard tepat di tikungan ...
Tidak apa-apa, inilah alasannya:
32 bit SL AKAN menjalankan aplikasi 64 bit; SL kompatibel 64 bit terlepas dari versi kernel mana yang Anda boot
SL bahkan jika di-boot dengan kernel 32 bit masih akan dapat menjalankan aplikasi 64 bit dan mengatasi lebih dari 4GB RAM
alasan Anda memerlukan 64 bit kernel adalah jika kernel diperlukan untuk mengatasi lebih dari 32 GB RAM (maka itu default pada Xserve) atau Anda memiliki 64 bit hanya kext (pengembang)
Kernel 64 bit tidak membuat komputer Anda lebih cepat secara ajaib; kecuali jika Anda membutuhkan lebih dari 32 GB RAM (hanya XOW IOW saja) Anda tidak memerlukannya untuk mengatasi alasan juga
dengan membuat 32 bit default pada sistem konsumen dan memberikan pro dan pengembang opsi kernel 64 bit Apple mempertahankan kompatibilitas maks DAN fleksibilitas maks
64 bit terutama merupakan opsi pengembang; mereka dapat menggunakannya untuk menguji driver / kexts 64 bit baru mereka untuk memastikan mereka bekerja dengan kernel 64 bit
Diparafrasekan dan dikutip dari Snow Leopard memuat kernel 32-bit secara default