Singularity: Sistem Operasi Paling Aman dan Stabil


MICROSOFT membawa idealisme tersendiri  dalam proyek sistem operasi gres-nya, Singularity. Sistem operasi ini diusung sebagai sistem operasi anti-crash, aman dari virus, dan jauh lebih cepat daripada Windows, MacOS, atau Linux. Sistem operasi “masa depan” ini bahkan tersedia gratis untuk download. Walau demikian, ia hanya menarik bagi pengguna tertentu. CHIP jelaskan mengapa.

Enam tahun lalu Microsoft memutuskan untuk mengembangkan sebuah sistem operasi (OS) baru dalam proyek­ yang mereka namakan Si­ngularity. Salah satu tim pengembangnya (dari Microsoft Research) punya obsesi khusus agar OS baru tersebut harus 100% aman. Ketika Singularity diperkenalkan di TechFest (2008), Microsoft menyampaikan satu pesan bahwa Singularity bukanlah Windows versi berikutnya, tetapi sebagai sebuah pencerahan dalam inovasi teknologi. Microsoft tampaknya ingin meredam antusiasme pengguna komputer akan hadirnya sebuah sis­tem baru. Pasalnya, arsitektur Singularity sangat berbeda dengan Windows, termasuk Windows 7. Ingin mencoba lang­sung Singularity? Download saja secara gra­tis di http://www.codeplex.com/singularity.

Para pengguna yang meng-install Windows 7 biasanya akan bertanya, bagaimana sebaiknya melindungi sistem? Jawabannya tentu sudah sama-sama kita ketahui yaitu Windows terbaru ini masih tetap mem­bu­tuh­kan software antivirus sebagai proteksi tambahan. Ironisnya, OS desktop masa kini, seperti Windows, Mac­OS, dan Linux masih memiliki arsitektur kuno. Konsepnya berasal dari era saat Internet maupun virus belum ada dan komputer masih berukuran seperti rack server masa kini.

Sebagian besar sistem operasi, ter­­utama bagian kernelnya, ditulis dalam bahasa pemrograman C. Kini, pengembang software tidak lagi menggunakan bahasa pemrograman C atau penggantinya C++ karena berbagai perintahnya berdampak langsung pada register prosesor dan memori. Awalnya,  kedua bahasa tersebut lebih disukai karena performa programnya yang lebih baik. Namun, kesalahan (kode) program pun su­lit dihindari sistem karena ketidak­­mam­puannya mengontrol apa saja yang dilakukan kode-kode program.

Contoh populernya adalah kasus buffer overflow, yaitu sebuah program menulis program lain dalam bagian memori. Metode seperti ini banyak dilakukan malware, misalnya untuk mendapatkan hak administrator sebuah sistem. Masalah ini semakin “diperparah” oleh sistem operasi yang memang rentan “disusupi”.

Code: bahasa program yang aman

Singularity menawarkan solusinya de­ngan hanya mengizinkan kode program dari bahasa yang aman dengan sebuah lingkung­an eksekusi (environment) khusus yang disebut runtime. Environment ini mirip sebuah PC virtual, tetapi pada level aplikasi. Bahasa pemrograman dengan runtime yang umum dikenal adalah Java dan C#. Kode Singularity pun sebagian besar berasal dari C#. Variannya yang dirancang khusus ini disebut Sing#.

Berbeda dengan C dan C++, compiler-nya tidak menerjemahkan secara lang­sung ke bahasa komputer (mesin). Pertama, runtime mengubahnya menjadi Byte code. Keuntungannya, sistem dapat memeriksa kebenaran code pada langkah antara tersebut dan menghindari akses pada bagian memori lain. Teoritisnya, performa akan menurun. Faktanya, lihat pada boks “Benchmark Sistem”.

Proteksi: mengisolasi semua proses

Berbeda dengan sistem biasa, Singularity dapat mengisolasi semua proses yang berlangsung pada tingkat software dan melindunginya. Untuk setiap aplikasi yang dijalankan, ia membuat sebuah Software Isolated Process (SIP) beserta program library dan menyediakan resource yang dibutuhkan. SIP mengelola sendiri memorinya. Kapasitas memori yang tidak terpakai bisa “dibebaskan” kembali untuk programnya.

Singularity Sistem dikendalikan melalui sebuah shell. Perintah  "task­list’ akan menampilkan semua proses yang sedang aktif.Singularity Sistem dikendalikan melalui sebuah shell. Perintah “task­list’ akan menampilkan semua proses yang sedang aktif.

Runtime setiap SIP juga bekerja tanpa tergantung sistem dan dapat disesuaikan dengan aplikasi yang dijalankan. Berbeda halnya dengan runtime Windows atau Linux yang digunakan untuk semua program. Apabila beberapa aplet Java dijalankan, hanya Java Runtime Environment (JRE) yang bertanggung jawab. Apabila sebuah aplet dan JRE-nya crash, semuanya akan crash. Sebaliknya, bila sebuah SIP dalam Singularity tidak lagi berfungsi, ia tidak mempengaruhi keseluruhan sistem. Selain itu, Singularity pun menyimpan add-on aplikasi dalam suatu SIP khusus. Misalnya, komponen ActiveX IE merupakan gerbang masuk favorit malware dan bisa melum­puhkan seluruh sistem. Pada Sing­ula­rity, hanya SIP add-on yang crash dan browser tetap tidak terpe­ngaruh (terganggu).

Konstruksi singularity     Sistem memiliki sebuah micro-kernel  yang mengelola resources untuk proses.Konstruksi singularity Sistem memiliki sebuah micro-kernel yang mengelola resources untuk proses.

Channel: komunikasi efisien

Karena SIP bekerja mandiri, komunikasi de­ngan kernel terbatas pada beberapa pe­rintah melalui Application Binary Interface (ABI). Sebagai perbandingan, Si­ngu­larity ABI menyediakan 163 fungsi sedangkan Windows API (Application Programming Interface) mencapai sekitar 14.000 fungsi.

SIP yang terisolasi saling berkomunikasi melalui channel yang bermuara di Exchange Heap (sebuah area yang di­kon­­trol oleh kernel). Di sana juga terdapat file-file yang sedang di­pro­ses. Semua data dalam Exchange Heap hanya dikerjakan oleh satu proses. Da­lam Si­ngu­larity, shared memory (bagian RAM yang digunakan bersama) dila­rang, hanya akses baca berulang yang diizinkan.

Apabila browser men-­download sebuah file dari Internet, file tersebut “mendarat” di Exchange Heap. Untuk menyimpannya pada hard disk, browser membuka sebuah channel untuk driver sistem file. Sistem file berkomunikasi melalui channel tersebut dengan hard disk driver. Pada saat yang sama, SIP menyerahkan hak milik atas file.

Fasilitas channel tidak ada dalam sis­tem operasi lain. Windows mungkin akan memilikinya, tetapi tidak dalam waktu dekat karena semua software harus ditulis ulang. Software populer, seperti Photoshop atau Nero tidak begitu saja diterima oleh sistem karena sebagian besar ditulis dalam bahasa tidak aman, seperti C atau C++.

Stabilitas: goodbye bluescreen!

Kernel, sebagai bagian utama OS, memiliki komponen driver yang biasanya paling bermasalah (85% Windows crash disebabkan oleh masalah driver). Driver Linux bahkan 7 kali lebih berisiko bermasalah daripada kernel code lainnya. Sebagian besar masalah driver timbul karena sis­tem tidak memiliki kendali atas driver tersebut, resource mana yang dibutuhkan, dan konflik dengan kom­ponen sis­tem lainnya. Pada saat yang sama, banyak driver hanya berfungsi dengan hak sistem tertinggi. Apabila driver crash, seluruh sis­tem berisiko crash.

singularity-3

Risiko tadi tidak mungkin terjadi da­lam Singularity. Pertama, rutin instalasi sebuah driver harus menyertakan apa yang disebut sebagai manifest, yaitu sebuah dokumen XML yang menggam­barkan, hardware resource mana dibutuhkan driver. Dengan informasi ini, sebelum di-install, Singularity sudah menginformasikan, apa­kah driver bisa berfungsi dengan baik pada hardware dan apakah driver tersebut memiliki konflik dengan driver lain.

Kedua, driver tidak di-install di dalam ker­nel seperti sistem operasi umum­nya, tetapi  diperlakukan seperti aplikasi biasa dan dikemas dalam sebuah SIP. Apabila driver crash akibat kesalahan program, tidak ada efek apa pun pada kernel. Singularity me-restart driver dan menginformasikan peng­guna mengenai masalah. Ini adalah kelebihan desain microkernel yang “membersihkan” sebanyak mungkin resource sis­tem dan hanya men-start-nya saat diperlukan. Microkernel bukanlah konsep baru karena diusung oleh sistem operasi Minix sejak tahun 1987. Namun, realisasinya (sebelum Singularity) bermasalah karena performanya yang lambat.

Performa: melepas rem

Semua prosesor x86 memiliki empat level keamanan yang disebut Ring. Sistem operasi sendiri hanya memakai Ring0 dan Ring3. Proses dalam Ring0 memiliki akses pada semua perintah CPU dan area RAM, tetapi proses dalam Ring3 tidak memiliki akses langsung pada hardware mau pun pada Ring0. Pada Windows, Linux, dan MacOS, semua proses yang berisiko pada sistem berjalan dalam Ring0 (kernel mode). Sebaliknya, program, seperti Firefox berjalan pada Ring3 (user mode). Hardware memang mendapat prioritas yang lebih besar pada kernel monolithic (driver aktif pada kernel mode), tetapi hal inilah yang membuat sis­tem lebih “rentan”. Di sini, desain microkernel menawarkan solusinya dengan me­ninggalkan semua driver dalam Ring3. Dengan demikian, jika ada masalah, sistem tetap stabil. Hanya performa yang berkurang. Setiap permintaan sebuah aplikasi dalam Ring3 kepada sistem harus diajukan sekali lagi dalam Ring0, karena aplikasi tidak memiliki akses langsung. Hal inilah yang bisa menghambat performa sistem secara sig­nifikan. Permintaan lintas batas Ring 5 berakibat proses berjalan 10 kali lebih lambat daripada dalam Ring yang sama.

Oleh karena itu, kernel monolithic yang jarang berkomunikasi di luar Ring, akan lebih cepat daripada microkernel biasa. Adapun Singularity memproteksi dirinya de­ngan software (via SIP lain) dan tidak membutuhkan Ring. Dengan kata lain, Singularity menjalankannya dalam kernel mode sehingga berlangsung lebih cepat daripada sistem lainnya. Tim Microsoft Singularity mencoba meng­u­kur seberapa besar efeknya mengingat Singularity menawarkan proteksi hardware secara optional. Untuk itu, pengembang membagi komponen sistem Singularity pada berbagai Ring seperti Windows (meniru model kernel Windows). Hasilnya, Si­ngularity menjadi lebih lambat sekitar 30%.

Windows, Linux, dan lainnya kini bekerja 30% lebih cepat tanpa optimalisasi tambahan. Hanya proteksi hardware yang perlu dinonaktifkan dan mengabaikan stabilitas. Sebaliknya, Singularity tidak me­­merlukan proteksi, tetapi tetap bekerja “cerdas”. Kedua faktor inilah yang menggenjot performanya (lihat tabel benchmark) dan mengompensasi hambatan per­forma akibat penerapan bahasa pemrograman yang aman. Di sisi lain, Singularity bisa memakai proteksi hardware. De­ngan demikian, sistem memiliki sebuah fasilitas sandbox yang aman untuk memeriksa adanya sebuah malware code  sehingga Antivirus tidak lagi dibutuhkan.

Inovasi Microsoft ini patut direspon positif. Saat ini, Singularity masih belum memiliki GUI (hanya sebuah input prompt biru) dan lebih cocok bagi pengguna yang senang bereksperimen. Namun, sistem operasi “masa depan” ini bisa dijuluki sebagai sebagai prototipe Windows masa depan yang kelak bisa dinikmati oleh semua pengguna komputer.

sumber : http://chip.co.id/articles/featured/2010/03/16/singularity-sistem-operasi-paling-aman-dan-stabil/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s