Arsitektur perangkat lunak adalah struktur-struktur
yang menjadi landasan untuk menentukan keberadaan komponen-komponen perangkat lunak,
cara komponen-komponen saling berinteraksi dan organisasi komponen-komponen
dalam membentuk perangkat lunak. Arsitektur sistem operasi adalah
arsitektur perangkat lunak yang digunakan dalam membangun perangkat lunak sistem operasi.
Arsitektur
sistem operasi yang
terkenal antara lain :
- Sistem
monolitik
- Sistem
berlapis
- Sistem client / server
- Sistem
mesin maya
- Object
Oriented System/ Sistem berorientasi objek
- Sistem monolitik
Operating System/ Sistem operasi merupakan kumpulan
prosedur bahwa prosedur-prosedur di dalamnya dapat saling memanggil apabila
perlu. Semua layanan yang disediakan
sistem operasi berisi karnel. Seluruh komponen sistem operasi berada di satu
ruang alamat.
Kelemahan :
§ Karena tidak dapat dipisahkan dan dilokalisasikan maka
pengujian dan penghilangan kesalahan sulit, namun praktik pemrograman yang berdisiplin
bagus dapat mempermudah pengembangan.
§ Dalam menyediakan fasilitas pengamanan tergolong sulit
§ Pemborosan apabila setiap komputer harus menjalankan kernel monolitik sangat besar sementara
sebetulnya tidak membutuhkan semua layanan yang telah disediakan kernel. Tidak fleksibel.
§ Mengakibatkan matinya seluruh sistem karena
kekeliruan pemrograman di satu bagian kernel
Keunggulan :
§ Layanan dapat dilakukan sangat cepat karena ada di
suatu ruang alamat
- Sistem berlapis
Operating System/ Sistem operasi dibentuk secara
hirarki berdasarkan lapisan-lapisan , dalam hal ini lapisan-lapisan bawah
memberi layanan untuk lapisan lebih atas. Masing-masing lapisan di satu ruang
alamat tersendiri. Sistem operasi berlapis yang pertama kali memakai sistem
berlapis THE. THE dibuat oleh Dijkstra dan mahasiswa-mahasiswanya. Sistem
berlapis bertujuan untuk mengurangi implementasi sistem operasi dan
kompleksitas rancangan. Tiap lapisan memiliki antarmuka dan fungsional masukan
– keluaran dengan 2 lapisan bersebelahan dengan terdefinisi baik.
Kelemahan :
Fungsi – fungsi sistem operasi yang harus diberikan ke
masing-masing lapisan harus dilakukan secara hati-hati.
Keunggulan :
Sistem berlapis memiliki semua keunggulan rancangan
yang modular, yaitu sistem terbagi dalam beberapa modul. Masing-masing lapisan
atau modul itu dapat dirancang, dikode, dan diuji secar independen. Pendekatan
berlapis menyederhanakan rancangan, spesifikasi, dan implementasi sistem
operasi.
- Sistem client / server
Sistem operasi merupakan kumpulan proses, dalam hal
ini proses-proses dikategorikan menjadi server dan client. Server dan client
berinteraksi, saling melayani yaitu :
§ Server adalah proses yang menyediakan layanan
§ Client adalah
proses yang memerlukan / meminta layanan
Kelemahan :
§ Layanan dilakukan secara lambat karena harus melalui
pertukaran pesan
§ Pertukaran pesan dapat menjadi bottleneck
Kelebihan :
§ Pengembangan dapat dilakukan secara modular
§ Kesalahan (bugs)
di satu sub sistem (diimplementasikan sebagai satu proses tersendiri) tidak
merusak sub sistem-sub sistem lain sehingga tidak mengakibatkan satu sistem
mati secara keseluruhan.
- Sistem mesin maya
Awalnya struktur ini membuat seolah-olah semua pemakai
mempunyai seluruh komputer sendirian. Teknik yang digunakan adalah degnan atas
pemroses yang digunakan. Sistem operasi melakukan simulasi banyak mesin nyata.
Mesin maya hasil simulasi digunakan pemakai. Mesin maya ini merupakan tiruan
seratus persen atas mesin nyata. Satu pemakai diberi satu mesin maya. Semua
pemakai diberi ilusi mempunyai satu mesin nyata(maya) yang sama-sama canggih.
Kelemahan :
Implementasi yang efisien merupakan masalah yang sulit
karena sistem menjadi besar dan kompleks
Keunggulan :
Sistem mesin maya memberikan fleksibilitas tinggi
sehingga sampai memungkinkan sistem operasi-sistem operasi berbeda dapat
dijalankan di mesin maya – mesin maya berbeda oleh pemakai-pemakai yang
berbeda.
- Sistem berorientasi objek
Sistem
operasi yang merealisasikan layanan sebagai kumpulan proses disebut sistem
operasi bermodel proses. Pendekatan lain implementasi layanan adalah sebagai
objek-objek. Sistem operasi yang diinstruksikan berdasarkan paradigma objek
disebut sistem operasi berorientasi objek. Pendekatan ini dimaksudkan untuk
mengadopsi keunggulan teknologi berorientas objek.