Jelaskan Desain dari Singularity

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 garbage collector serta tidak memiliki pointer yang dideklarasikan sewenang-wenang, dan kode pun dapat diverfikasi untuk memenuhi sekumpulan kebijakan keamanan komputer.