Ada beberapa cara untuk menghubungkan komponen-komponen
yang ada didalam suatu sistem operasi. Pertama, dengan menggunakan struktur
sederhana. Kedua, dengan pendekatan terlapis atau level. Lapisan yang lebih
rendah menyediakan layanan untuk lapisan yang lebih tinggi. Ketiga, dengan
pendekatan kernel mikro, yaitu sistem operasi disusun dalam bentuk kernel yang
lebih kecil.
Sistem berprosesor jamak mempunyai lebih dari satu CPU yang
mempunyai hubungan yang erat; CPU-CPU tersebut berbagi bus komputer, dan
kadang-kadang berbagi memori dan perangkat yang lainnya. Sistem seperti itu
dapat meningkatkan throughput dan reliabilititas.
Sistem hard real-time sering kali digunakan sebagai alat
pengontrol untuk applikasi yang dedicated/spesifik tugas tertentu. Sistem
operasi yang hard real-time mempunyai batasan waktu yang tetap yang sudah
didefinisikan dengan baik.Pemrosesan harus selesai dalam batasan-batasan yang
sudah didefinisikan, atau sistem akan gagal.
Sistem soft real-time mempunyai lebih sedikit batasan waktu
yang keras, dan tidak mendukung penjadwalan dengan menggunakan batas akhir.
Sistem ini menggunakan prioritas untuk memilih tugas-tugas mana yang harus
terlebih dahulu dikerjakan
Sistem terdistribusi adalah sistem yang menjalankan
bagian-bagian program di beberapa komputer yang berbeda. Komputer-komputer itu
terhubung dalam suatu jaringan. Sistem terdistribusi adalah salah satu bentuk
dari paralelisme
Sistem terkluster adalah sistem yang terdiri dari banyak
komputer yang disusun sedemikian rupa untuk menyatukan sumber daya yang ada dan
seolah-olah dapat dipandang sebagai satu komputer saja. Model seperti ini
sering digunakan untuk membangun super komputer.
Pengaruh dari internet dan WWW telah mendorong pengembangan
sistem operasi modern yang menyertakan web browser serta perangkat lunak
jaringan dan komunikasi sebagai satu kesatuan. Multiprogramming dan sistem
time-sharing meningkatkan kemampuan komputer dengan melampaui batas operasi
(overlap) CPU dan M/K dalam satu mesin. Hal seperti itu memerlukan perpindahan
data antara CPU dan alat M/K, ditangani baik dengan polling atau
interrupt-driven akses ke M/K port Agar komputer dapat menjalankan suatu
program, maka program tersebut harus berada di memori utama.