Struktur sistem operasi
Secara konsep, sistem computer dibuat berdasarkan lapisan. Hardware atau perangkat lunak merupakan tingkatan terbawah dari keseluruhan sistem. Kernel yang berjalan ditingkatan berikutnya menggunakan instruksi-intruksi perangkat keras untuk membuat kumpulan sistem call yang digunakan oleh lapisan luarnya.
Program di atas kernel dapat menggunakan sistem call atau instruksi-instruksi perangkat keras. Dalam beberapa hal, program sistem tidak membedakan kedua lapisan tersebut. Program sistem memperlakukan sistem call dan perangkat keras di lapisan yang sama, meskipun program beberapa sistem pada tingkat yang lebih tinggi dari rutin-rutin program aplikasi yang lain, program-program aplikasi akan melihat semua yang berada di bawahnya.
Pendekatan sistem lapisan ini menjadi konsep dari mesin virtual. Dengan menggunakan penjadwalan CPU dan teknik virtual memori, sebuah sistem operasi dapat membuat bayangan proses dalam jumlah banyak, yang masing-masing dieksekusi oleh prosesornya sendiri dengan memori (virtual) sendiri. Pada mesin virtual tidak tersedia fungsi-fungsi tambahan tetapi interface yang identik dengan perangkat keras yang mendasarinya. Setiap proses dilengkapi dengan salinan dari computer yang mendasarinya.