Achmad Mardiansyah's Journal

Manage your knowledge by writing it

Binary compatibility & tukang porting

without comments

tanya dunk…

Q: package linux apakah bisa dijalanin di solaris nggak ya?? Kalo BSD kan ada linux compabilitynya. Kalo opensolaris ada ga’mas??
kalo kamu tanya: apakah bisa? jawabnya: tentu bisa. ini pertanyaan general soalnya. hehehe..

tapi kalo tanya lebih detil: bagaimana? dan apa saja yang bisa?
kalo ini jawabnya rada susah, karena gak semuanya bisa. feature ini rada maksa dan cocok2an.
ini berlaku di semua OS loh: unix, linux, windows, mac, dll
hehehe :-p

So, saran saya, jangan terlalu percaya sama feature binary compatibility ini deh.
mending pake native binarynya, atau compile source codenya.
Kalo mo coba2 sih terserah. softwarenya bisa pake: wine (di linux), lxrun (di solaris).

Beberapa perusahaan memang concern dengan stabilitas, pada males pake feature ini.
ini adalah feature dari marketing/hobbyist supaya banyak orang yang pake OSnya. biasa, namanya juga marketing. ngak jelek sih, tapi ada resiko jika anda memakai feature ini.

logikanya gini,
inti dari OS kan kernel, maka dari itu, aplikasi yang dibuat diatasnya pasti akan berbasiskan kernel tersebut kan? aplikasi tersebut harus kompatible dengan kernel, supaya bisa mengakses hardware toh?
kernel HP-UX, AIX, SCO, SOLARIS, LINUX, WINDOWS, MAC adalah beda. maka aplikasi yang dibangun diatasnya bakal tidak kompatibel satu sama lainnya. jelas kan?

contoh:
kamu buat program dengan bahasa C di LINUX. trus kamu compile source code kamu itu, dan selanjutnya akan menghasilkan file binary toh? file binary tersebut akan mulus berjalan di linux karena memang udah dicompile untuk berjalan disono. logis toh?
kalo file binary linux tersebut di run di OS lain dan mandek, ya jelas aja bisa mandek dong, karena kernelnya jelas beda. meskipun OS lain tersebut dibuat dengen bahasa C juga.

apanya sih yang membuat kernel beda?:
– cara mengakses harddisk
– menampilkan character di display
– system calls (ini yang utama)
– management memory
– cara mengakses CPU
– serta sejuta alasan lainnya yang membuat kernel beda. hehehe…

mungkin kalo di ibaratkan, seperti menerapkan “Free Sex” di Indonesia dan di Eropa.
yaa.. kalo di indo bakal susah penerapannya, bakalan banyak demo. hehehe…
basically adalah karena kernel orang indo beda dengan eropa.
Basicnya udah beda banget, kalo pun bisa diterapkan, namanya maksa.

maka dari itu, ada yang namanya porting aplikasi. sebuah aplikasi akan coba di recompile untuk berjalan di system lain. Kerjaan porting ini juga bukan kerjaan mudah loh. source code yang di tulis dengen bahasa C, ketika sukses di compile di linux, belum tentu juga sukses dicompile di solaris.
makanya si tukang porting perlu ngutak-ngatik source code juga biar bisa dicompile.

kalo ngak mau report porting, ya nulis programnya jangan pake bahasa C, tapi pake JAVA.
dijamin kompatible di semua platform. hehehe

tertarik jadi tukang porting? :-p

URL pendek: http://bit.ly/jQ4F9e

Leave a Reply