Singularity

**Singularity** adalah sebuah proyek riset yang dilakukan oleh Microsoft Corporation yang dimulai pada tahun 2003 untuk membangun sebuah sistem operasi yang sangat andal, di mana *[[kernel]]* sistem operasi, *[[device driver]]*, dan semua aplikasi yang berjalan di atasnya ditulis dalam *[[managed code]]*.

Kode *[[interupsi perangkat keras|interrupt]] dispatch code* milik Singularity dibangun dengan menggunakan bahasa rakitan dan bahasa pemrograman C. Setelah kode tersebut melakukan tugasnya, maka ia akan memanggil *kernel*, yang *runtime* dan *[[pengumpulan sampah (ilmu komputer)|garbage collector]]*-nya dibangun dengan menggunakan bahasa C# dan berjalan di dalam modus tidak aman. Lapisan abstraksi perangkat kerasnya dibangun dengan menggunakan bahasa pemrograman C++ dan berjalan di dalam modus aman. Memang ada beberapa kode yang ditulis dalam bahasa C yang digunakan untuk menangani proses *[[debugging]]*. BIOS komputer hanya akan dipanggil pada saat proses booting memasuki tahap modus real 16-bit. Setelah masuk ke dalam modus terproteksi 32-bit, Singularity tidak akan memanggil BIOS lagi, tapi ia akan memanggil semua device driver yang ditulis di dalam bahasa pemrograman C#. Selama instalasi, *[[opcode]]* Common Intermediate Language (CIL) dari *kernel* C# akan diubah ke dalam *[[opcode]]* x86 dengan menggunakan kompiler Bartok.

Singularity versi 1.0 telah diselesaikan pada tahun 2007. Beberapa universitas menerima salinan Singularity 1.0 Research Development Kit (RDK) untuk tujuan riset. Sayangnya tidak disebutkan apakah Microsoft hendak merilis kode sumber atau binernya kepada publik. Versi saat ini yang sedang dikembangkan adalah Singularity versi 2.0.

## Desain
Singularity merupakan sebuah sistem operasi yang berbasis kepada *[[microkernel]]*. Akan tetapi, tidak seperti sistem-sistem operasi yang berbasis microkernel sebelumnya, komponen-komponen berbeda tidak berjalan di dalam ruangan alamat (proses) yang berbeda. Akan tetapi, hanya ada satu buah ruang alamat di mana ***Software-Isolated Processes*** (SIP) berada. Setiap SIP memiliki data dan kodenya masing-masing, dan bersifat mandiri terhadap SIP-SIP lainnya. SIP-SIP tersebut memiliki kelakukan seperti halnya proses yang normal, tapi tidak membutuhkan *[[task-switching]]* yang memboroskan kinerja. Proteksi di dalam sistem inipun disedaiakan oleh sekumpulan invariant, seperti *memory-invariant* yang menyatakan bahwa tidak ada referensi silang antara dua SIP yang berbeda. Komunikasi antar SIP dilakukan dengan menggunakan saluran komunikasi yang memiliki ordo tinggi yang diatur oleh sistem operasi. Peraturan tersebut akan dicek ketika fase instalasi aplikasi dan harus dipenuhi agar instalasi aplikasi diizinkan oleh sistem operasi, karena memang dalam Singularity, instalasi akan diatur oleh sistem operasi.

Sebagian besar *[[invariant]]* mengandalkan penggunaan bahasa pemrograman yang lebih aman, seperti C# di mana bahasa tersebut memiliki *[[pengumpulan sampah (ilmu komputer)|garbage collector]]* serta tidak memiliki pointer yang dideklarasikan sewenang-wenang, dan kode pun dapat diverfikasi untuk memenuhi sekumpulan kebijakan keamanan komputer.
## Lihat pula
* Spec#, programming language, Eiffel-like design by contracts added to C#.
* Sing#, programming language, channels and low level constructs added to Spec#, used for building singularity.
* Inferno, an operating system from Bell Labs, some concepts of which Singularity uses.
* GNU Hurd, Userspace drivers, GNU Operating System kernel.
* Mach (kernel) Original Micro-kernel, with userspace drivers.
## Catatan kaki

## Pranala luar
* Situs resmi Singularity
* [ftp://ftp.research.microsoft.com/pub/tr/TR-2004-105.pdf *Singularity Design Motivation (pdf)*]
* [ftp://ftp.research.microsoft.com/pub/tr/TR-2005-135.pdf *An Overview of the Singularity Project (pdf)*]
* ''Singularity: A research OS written in C#'' Sebuah video wawancara yang dilakukan oleh tim Channel 9 terhadap Jim Larus dan Galen Hunt (keduanya adalah peneliti sistem operasi Singularity)
* ''Singularity Revisited'', sebuah video wawancara yang dilakukan oleh para anggota Channel 9 terhadap 4 orang peneliti proyek sistem operasi Singularity.
* ''Singularity III: Revenge of the SIP'', Sebuah video wawancara yang dilakukan oleh para anggota Channel 9 terhadap tiga orang peneliti proyek sistem operasi Singularity.
* ''Singularity IV: Return of the UI'', sebuah video dalam Channel 9 yang mendemonstrasikan Singularity ketika berjalan.
* ''Channel9 debate started by the Niner Eagle'' 
* ''Dalam program internship tahun 2006'', tim Singularity merekrut seorang mahasiswa Indonesia, ''Haryadi Gunawi'', pelajar S3 di University of Wisconsin - Madison.