Mengapa VM Apple Silicon begitu berbeda?
(eclecticlight.co)Mengapa VM Apple Silicon berbeda?
- Menjalankan mesin virtual (VM) macOS di Mac Apple Silicon mungkin tampak tidak populer, tetapi ini telah lama menjadi salah satu tujuan penting bagi Apple.
- Saat menggunakan program virtualisasi di Mac seri M, terlihat betapa berbedanya hal ini dibanding memvirtualisasikan macOS dan sistem operasi lain di Mac Intel.
- Tulisan ini menjelaskan mengapa virtualisasi penting, dan bagaimana semuanya bisa berubah sedemikian jauh.
Tiga pilar Apple Silicon
- Pada WWDC Juni 2020, Craig Federighi mengumumkan tiga pilar Apple Silicon: aplikasi universal yang berjalan di kedua arsitektur, Rosetta 2 yang menerjemahkan kode Intel ke instruksi Arm, dan virtualisasi.
- Bahkan sebelum Apple merilis Developer Transition Kit, Andreas Wendker sudah mendemonstrasikan versi pra-rilis Parallels Desktop yang menjalankan Linux sebagai guest, tetapi tidak ada penyebutan soal Windows.
Masa awal virtualisasi
- Pada masa awal virtualisasi, ada perbedaan antara hypervisor tipe 1 yang berjalan langsung di atas hardware, dan tipe 2 (hosted) di mana sistem operasi utama berjalan di atas hardware lalu hypervisor berjalan di atasnya.
- Di komputer desktop, produk virtualisasi tipe 2 seperti VMware Fusion, Parallels Desktop, dan Oracle VirtualBox lebih umum digunakan.
Dukungan hardware dan virtualisasi
- Jika ada dukungan hardware untuk hypervisor, akan lebih mudah menjalankan sistem operasi guest tanpa modifikasi.
- Ini bisa menggunakan kumpulan fitur VT-x dari Intel atau virtualisasi AArch64 pada CPU Arm.
- Masalah dukungan perangkat bisa diselesaikan oleh framework virtualisasi atau ditangani oleh program virtualisasi.
Keunikan chip Apple Silicon
- Semua perangkat hardware pada chip Apple Silicon berbeda dari perangkat padanannya di Mac Intel.
- Bahkan jika Apple ingin mendokumentasikannya sepenuhnya untuk penggunaan eksternal, upaya engineering yang dibutuhkan untuk dukungan perangkat seperti pada Mac Intel akan terlalu mahal bagi pihak ketiga.
- Karena itu, berharap membangun software virtualisasi lengkap hanya dengan memulai dari hypervisor bukanlah pendekatan yang realistis, dan juga akan sulit mencapai performa tinggi yang diharapkan Apple dan penggunanya.
Driver Virtio dan virtualisasi
- Sebagai gantinya, Apple membangun driver Virtio dalam bentuk dukungan perangkat yang tertanam di macOS.
- Virtio adalah standar yang menyediakan lapisan abstraksi untuk perangkat I/O; ketika sistem operasi guest mencoba membuka file, permintaan itu diteruskan ke para-driver perangkat penyimpanan frontend Virtio, lalu dari sana berinteraksi dengan perangkat penyimpanan melalui driver backend Virtio.
- Membuat aplikasi virtualisasi berarti menyiapkan dan membuka perangkat Virtio yang diperlukan, lalu membiarkan guest, Virtio, dan host menangani pekerjaannya.
Pilihan Apple terhadap Virtio
- Pilihan Apple terhadap Virtio dipengaruhi oleh fakta bahwa Linux sudah memiliki dukungan Virtio yang baik, meskipun saat itu macOS belum memilikinya.
- Para engineer Apple membangun dukungan Virtio ke dalam macOS selama beberapa tahun sebelum Monterey dirilis.
- Implementasi Virtio di macOS mencakup fitur tambahan yang mendukung keyboard dan perangkat penunjuk, clipboard bersama ('Spice'), serta grafis berperforma tinggi melalui dukungan Metal dan GPU.
Keunggulan model Virtio
- Dalam model Virtio, sistem operasi yang menyediakan dukungan, dan ini mengurangi biaya pengembangan bagi vendor seperti VMware dan Parallels, sekaligus menurunkan nilai komersial produk mereka.
- Apple menentukan hardware dan fitur apa saja yang didukung virtualisasi di Apple Silicon.
Masa depan virtualisasi dan fleksibilitas
- Menjalankan versi macOS yang lebih lama di dalam VM memungkinkan pengguna tetap menjalankan aplikasi khusus Intel bahkan setelah dukungan Rosetta 2 dihentikan di macOS saat ini.
- Ini juga memungkinkan menjalankan software yang tidak kompatibel dengan versi minimum macOS pada Mac Apple Silicon.
- Dengan Linux atau macOS, developer dapat mendistribusikan paket VM ringan seperti Docker.
Opini GN⁺
- Virtualisasi di Mac Apple Silicon mengambil pendekatan yang berbeda dari virtualisasi berbasis Intel tradisional, dan ini tampaknya menjadi bagian dari strategi Apple untuk memperkuat integrasi hardware dan software.
- Virtualisasi melalui Virtio memberi developer solusi yang hemat biaya, sekaligus memungkinkan optimasi performa di bawah kendali Apple.
- Perkembangan teknologi virtualisasi membuka kemungkinan jangka panjang bagi pengguna Mac Apple Silicon untuk memiliki beragam lingkungan software, terutama berguna untuk mendukung aplikasi dan sistem lama.
2 komentar
Bagian tentang masa depan virtualisasi tampak agak aneh.
Bisa melakukan virtualisasi tidak berarti otomatis bisa kompatibel dengan sistem yang sudah ada. Pada akhirnya, di suatu titik, instruksi x86 harus diterjemahkan menjadi instruksi arm.
Jika ini tidak didukung oleh HW atau OS (Rosetta?), pada akhirnya tidak ada pilihan selain melakukan emulasi di tingkat VM, dan dalam kasus ini penurunan performanya sangat besar.
Bahkan sekarang pun, Anda bisa memasang Linux untuk x86 di Mac Apple Silicon, tetapi performanya sangat lambat. (Tahun lalu, kalau tidak salah, saya sempat memasangnya untuk keperluan build karena membutuhkan binary x86, lalu langsung menyerah.)
Komentar Hacker News