Ketika orang mengacu pada menjalankan perangkat lunak asli, emulasi, dan kompatibilitas perangkat lunak, apa sebenarnya yang mereka maksud? Baca terus selagi kami mempelajari konsep perangkat lunak asli.
Sesi Tanya & Jawab hari ini menjadi milik kamidari SuperUser-sub divisi dari Stack Exchange, pengelompokan situs web Q & A berbasis komunitas.
Pembaca SuperUser, Throsby ingin tahu tentang apa artinya menjalankan perangkat lunak secara asli. Dia menulis:
Saya bertanya-tanya apa artinya perangkat lunak berjalan secara asli. Apa sebenarnya perangkat lunak tersebut dan bagaimana itu berbeda dari perangkat lunak yang tidak berjalan secara asli? Bagaimana saya bisa tahu apakah suatu perangkat lunak yang diberikan akan berjalan secara asli di komputer saya? Apakah ada kemungkinan perangkat lunak sudah ada di komputer saya yang berjalan secara native?
Baca terus untuk sebuah analogi yang sangat baik yang menjelaskan apa artinya menjadi asli pada sistem yang diberikan.
Kontributor SuperUser Deltik menawarkan analogi fantastis yang menyoroti apa artinya bagi perangkat lunak untuk menjadi asli dan jenis perangkat lunak lain yang mungkin ditemukan pada sistem tertentu:
Perangkat lunak adalah bawaan platform jika dirancang untuk berjalan di platform itu.
Platform biasanya mengacu pada sistem operasi, tetapi juga dapat diterapkan ke perangkat seperti Game Boy Nintendo.
Menggunakan Game Boy sebagai contoh, ia mendapatkan perangkat lunaknya dari kartrid. Kartrid ini berisi kode yang berjalansecara asli di Game Boy.
Emulator adalah lapisan yang memungkinkan perangkat lunak yang dirancang untuk satu platform untuk dijalankan di platform lain. Misalnya, ada emulator yang dapat mengeksekusi gambar kartrid Game Boy dan memungkinkan Anda memainkan game Game Boy di komputer atau bahkan ponsel Anda.
SEBUAHlapisan kompatibilitas adalah semacam emulator. Ketika komputer 64-bit dan sistem operasi menjadi mainstream, mereka harus kompatibel dengan teknologi 32-bit yang ada. Karena arsitektur 64-bit dan 32-bit sangat berbeda, lapisan kompatibilitas sering diperlukan untuk menjalankan perangkat lunak 32-bit pada mesin 64-bit. Untuk edisi Microsoft Windows 64-bit, Microsoft perlu menulis lapisan kompatibilitas sehingga program 32-bit masih akan bekerja pada sistem 64-bit yang baru. Inilah sebabnya mengapa beberapa program sering diinstal ke folder bernama
File Program (x86)
, dimanax86
berarti "32-bit".Lapisan kompatibilitas cenderung lebih intim dengan sistem asli daripada emulator. VirtualBoxmenyamai perangkat keras untuk sistem operasi *, dan sistem yang diemulasi tidak memiliki banyak interaksi langsung dengan sistem host. WoW64 adalah alapisan kompatibilitas karena memungkinkan program 32-bit berjalan di Windows 64-bit dengan cara yang lebih terintegrasi. WoW64 membantu membuat programcocok daripadameniru mereka di lingkungan yang terisolasi.
SEBUAHperpustakaan terjemahan adalah komponen dari lapisan kompatibilitas. Kapanpun kode biner berjalan non-natif, pustaka terjemahan membantu mengalihkan panggilan asing, non-pribumi ke panggilan asli yang dapat dimengerti oleh sistem. Program perakitan yang ditulis untuk TI-83 asli mungkin tidak kompatibel dengan kalkulator TI-83/84 Plus yang lebih baru karena beberapa panggilan yang masuk akal dalam arsitektur TI-83 mungkin tidak lagi berlaku di TI-83/84 +. Sebuah pustaka terjemahan (mungkin termasuk dalam cangkang seperti MirageOS) memastikan bahwa panggilan untuk TI-83 pergi ke tempat baru yang diperbarui di kalkulator TI-83/84 +.
Kode platform-independen ditulis dalam bahasa yangditafsirkan oleh sesuatu yang biasanya berjalan secara alami. Sebagai contoh, PHP adalah bahasa pemrograman yang ditafsirkan dan dijalankan oleh biner PHP yang diinstal, yang telah dikompilasisecara asli untuk sistem operasi berbasis Windows, Mac, dan Unix. Kode PHP yang ditulis oleh web scripter tidak bergantung pada platform, memungkinkan kode untuk bekerja pada beberapa sistem operasi selama PHP diinstal untuk sistem operasi tersebut.
Memiliki sesuatu untuk ditambahkan ke penjelasan? Bicaralah di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi lainnya? Lihat diskusi lengkap di sini.