Secara umum, suatu sistem operasi dapat memiliki salah satu dari struktur berikut ini :

Struktur Monolitik

Struktur Monolitik pada dasarnya adalah konstruksi tanpa struktur. Jadi semua komponen sistem operasi bercampur jadi satu, dan semua rutin dapat mengakses rutin lainnya. MSDOS dan UNIX merupakan contoh sistem operasi yang bestruktur monolitik. Gambar dibawah menunjukkan struktur sistem operasi MSDOS dan UNIX

Struktur MSDOS
Struktur MSDOS
Operating System Structure UNIX
Operating System Structure UNIX

Pada sistem operasi MSDOS, antara aplikasi dan sistem operasi bahkan tidak ada pemisahan yang jelas. Ini menyebabkan mudahnya program-program virus memodifikasi dan merusak sistem operasi MSDOS. Pada sistem operasi MSDOS, program aplikasi memiliki akses untuk memodifikasi bagian sistem operasi (program resident, device driver MSDOS, maupun device driver BIOS). Pada sistem operasi UNIX, ada pemisahan antara program aplikasi dan sistem operasi. Program aplikasi hanya dapat mengakses rutin-rutin sistem operasi lewat system call. Tetapi rutin-rutin sistem operasinya, seperti algoritma penjadwalan prosesor, manajemen sistem berkas, driver disk dan tape, semuanya tercampur aduk jadi satu.

Struktur Berlapis (Layered)

Cara lain untuk mengorganisasi rutin-rutin sistem operasi adalah dengan pendekatan struktur berlapis. Contoh arsitektur perangkat lunak yang juga menggunakan struktur berlapis adalah protokol jaringan komputer. Pada strutur berlapis, rutin-rutin dikelompokkan dalam lapisan-lapisan. Setiap lapisan bersifat modular. Lapisan yang lebih awal bertugas menangani detil operasi perangkat keras, sedangkan lapisan yang lebih atas lebih fokus menangani antar muka ke pengguna ataupun program aplikasi. Satu ciri khas pada struktur berlapis adalah rutin-rutin pada suatu lapisan hanya boleh menggunakan rutin-rutin lapisan dibawahnya.

Contoh sistem operasi dengan struktur berlapis adalah THE, Venus dan OS/2. Gambar dibawah ini memberikan contoh struktur sistem operasi THE. Lapisan 0 sampai lapisan 3 berkaitan dengan rutin sistem operasi. Bagian paling bawah, lapisan 0, menangani alokasi prosesor dan  multiprogramming. Lapisan diatasnya menangani alokasi memori, lapisan berikutnya menangani komunikasi operator – proses. Lapisan 3 menangani manajemen peranti I/O.

Contoh struktur berlapis lainnya adalah OS/2 seperti ditunjukkan pada Gambar dibawah ini terlihat struktur OS/2 memisahkan antara rutin-rutin device driver yang menangani detil operasi peranti I/O, dengan bagian lainnya. Lapisan kernel berisi manajemen memori, penjadwalan proses, dan manajemen device. Lapisan diatasnya adalah lapisan subsistem yang berperan mendukung portabilitas dengan sistem lain dan memberikan layanan antarmuka ke program aplikasi dan pengguna.

Struktur Sistem Operasi OS2
Struktur Sistem Operasi OS2

Dari segi rancangan, struktur berlapis lebih mudah dipelihara dan diperluas funsionalitasnya. Tetapi permasalahannya adalah membagi rutin-rutin kedalam lapisan-lapisan secara tegas bukanlah sesuatu yang mudah dilakukan.

Struktur Client-Server (Microkernel)

Dengan begitu banyaknya tugas yang harus dilakukan oleh sistem operasi, ukuran dari sistem operasi cenderung besar dan kompleks. Hal demikian sangat tidak baik untuk pengembangan lebih lanjut pada sistem operasi bersangkutan.

Untuk mengatasi hal ini, trend pengembangan sistem operasi cenderung memindahkan sebagain besar kode instruksi sistem operasi sebagai blok modular yang berjalan dalam modus user seperti yang ditunjukkan gambar dibawah ini. Bagian yang tetap harus berjalan dalam modus kernel menjadi jauh lebih kecil dan kompak. Karena ukuran yang kompak bagian sistem operasi ini disebut dengan mikrokernel, yang pada intinya bertugas untuk memfasilitasi komunikasi proses program aplikasi (client process) dengan proses sistem operasi seperti server berkas, server memori, ataupun server proses. Selain itu, microkernel berisi kode-kode instruksi yang tidak aman jika dijalankan pada modus user, seperti kode-kode instruksi device driver.

Client Server Model
Client Server Model