Sabtu, 05 April 2014

Kenapa Program 16-bit Tidak Bisa Berjalan pada Sistem Operasi 64-bit



Mungkin anda merasa kesal dengan Windows, karena program 16-bit yang anda butuhkan tidak dapat dijalankan oleh Windows versi 64-bit. Banyak orang yang telah menerka, hal ini karena Microsoft ingin para penggunanya up to date dan segera meningggalkan program 16-bit. Benarkah hal yang demikian?
Sebenarnya hal ini bukan sepenuhnya salah Microsoft. Ada beberapa hal yang agak rumit untuk dijelaskan, tapi saya akan mencoba menjelaskan sedikit hal yang sudah saya pelajari.

Perlu diketahui prosesor Intel saat ini mendukung 3 mode operasi(operating mode), yaitu :
1. Real mode(16-bit), hanya mampu menjalankan instruksi 16-bit saja.
2. Protected mode(32-bit), dalam mode ini prosesor mampu menjalankan instruksi 32-bit dan mengizinkan sistem operasi untuk mengemulasikan instruksi 16-bit.
3. Long mode(64-bit), prosesor mampu menjalankan instruksi 64-bit serta dapat mengemulasikan instruksi 32-bit. Sementara itu, instruksi 16-bit tidak lagi didukung pada mode ini.

Dari awal perkembangan prosesor Intel, sampai sekarang. Prosesor intel dapat dibagi menjadi 3 jenis prosesor:
1. 16-bit(8086), yaitu prosesor yang hanya mendukung real mode.
2. 32-bit(x86), yaitu prosesor yang mendukung 2 mode(real dan protected)
3. 64-bit(x86-64), merupakan jenis prosesor yang paling baru. Jenis prosesor ini mendukung 3 mode sekaligus! Tapi kenapa aplikasi 16-bit tidak dapat dijalankan?

Berikut adalah penjelasannya..
Sudahkah anda tahu, bahwa komputer berprosesor 16-bit tidak dapat dipasang sistem operasi 32-bit dan 64-bit. Akan tetapi komputer berprosesor 32-bit dapat dipasang sistem operasi 16-bit dan komputer berprosesor 64-bit dapat dipasang sistem operasi 16-bit ataupun 32-bit? Mengapa demikian?

Saat komputer pertama kali dinyalakan, prosesor akan berada dalam real mode, baik prosesor 32-bit ataupun 64-bit. Prosesor hanya akan beralih ke mode lain jika diperintahkan.

Sistem operasi 32-bit dapat berjalan pada prosesor 64-bit karena sistem operasi hanya memberikan instruksi untuk masuk hingga protected mode saja. Sementara itu, sistem operasi 64-bit pada saat boot juga melewati fase real mode, akan tetapi sistem memberikan instruksi ke prosesor untuk masuk ke protected mode dan berlanjut ke long mode. Ingat, long mode tidak mendukung 16-bit. Jadi, intinya, ini bukan salah Microsoft.

Ya, itulah penjelasan internal, kenapa program 16-bit tidak bisa dijalankan pada sistem operasi 64-bit. Bagaimana dengan linux? Linux 32-bit tidak bisa menjalankan program 16-bit. Ini karena memang sejak awal Linux dibuat untuk dapat berjalan pada mode protected mode, jadi Linux sama sekali tidak menyediakan fitur emulasi 16-bit pada protected mode.
Load disqus comments

0 comments