Sekilas
Arsitektur perangkat lunak merupakan 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.
Struktur sistem operasi merupakan komponen-komponen sistem operasi yang dihubungkan dan dibentuk di dalam kernel
SISTEM MONOLITIK
¨ Sistem operasi sebagai kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan. Kernel berisi semua layanan yang disediakan sistem operasi untuk pemakai.
Kelemahan :
a) pengujian dan penghilangan kesalahan sulit karena tak dapat dipisahkan dan dilokalisasi
b) sulit dalam menyediakan fasilitas pengamanan
c) merupakan pemborosan bila setiap komputer harus menjalankan kernel monolitik sangat besar sementara sebenarnya tidak memerlukan seluruh layanan yang disediakan kernel. Tidak fleksibel
d) kesalahan pemrograman satu bagian dari kernel menyebabkan matinya seluruh sistem
¨ Keunggulan :
Layanan dapat dilakukan sangat cepat karena terdapat di satu ruang alamat
UNIX sampai saat ini berstruktur monolitik. Meskipun monolitik, yaitu seluruh komponen/subsistem sistem operasi terdapat di satu ruang alamat tetapi secara rancangan adalah berlapis. Untuk mempermudah dalam pengembangan, pengujian & fleksibilitas UNIX menggunakan konsep kernel loadable modules, yaitu :
a) bagian-bagian kernel terpenting berada di memori utama secara tetap
bagian-bagian esensi lain berupa modul yang dapat ditambahkan ke kernel saat diperlukan dan dicabut begitu tidak digunakan lagi di waktu jalan (run-time).
SISTEM BERLAPIS
Sistem operasi dibentuk secara hirarki berdasar lapisan-lapisan, dimana lapisan-lapisan bawah memberi layanan lapisan lebih atas. Jadi lapisan n memberi layanan untuk lapisan n+1. Proses-proses di lapisan n dapat meminta layanan lapisan n – 1untuk membangun layanan bagi lapisan n+1. Lapisan n dapat meminta layanan lapisan n – 1. Kebalikan tidak dapat, lapisan n tidak dapat meminta layanan n + 1. Masing-masing berjalan di ruang alamatnya sendiri.
¨ Keunggulan :
Memiliki semua keunggulan rancangan modular, yaitu sistem dibagi menjadi beberapa modul dan tiap modul dirancang secara independen. Tiap lapisan dapat dirancang, dikode, dan diuji secara independen.
¨ Kelemahan
Fungsi – fungsi sistem operasi harus diberikan ke tiap lapisan secara hati-hati
¨ Sistem operasi dapat menjalankan aplikasi-aplikasi untuk sistem operasi lain à konsep operating system emulator.
¨ Contoh :
a. MS Windows NT dapat menjalankan aplikasi untuk MS-DOS. Aplikasi tersebut dijalankan sebagai masukan bagi subsistem di MS-Windows NT yang mengemulsikan system calls yang dipanggil aplikasi dengan Win32API (system calls di MS Windows NT).
Pengembang Linux membuat DOSEMU agar aplikasi untuk MS-DOS dapat dijalankan di Linux, WINE agar aplikasi untuk MS-Windows dapat dijalankan di Linux, iBCS agar aplikasi untuk Unix dapat dijalankan di Linux, dll
SISTEM dengan CLIENT-SERVER
¨ Sistem operasi merupakan kumpulan proses dengan proses-proses dikategorikan sebagai server dan client.
Server : proses yang menyediakan layanan
Client : proses yang memerlukan/meminta layanan.
¨ Proses client yang memerlukan layanan mengirim pesan ke server dan menanti pesan jawaban.
¨ Proses server setelah melakukan tugas yang diminta, mengirim pesan jawaban ke proses client.
¨ Server hanya menanggapi permintaan client dan tidak memulai percakapan dengan client.
Keunggulan :
1. pengembangan dapat dilakukan secara modular
2. kesalahan (bugs) di satu subsistem (diimplementasikan sebagai satu proses) tidak merusak subsistem-subsitem lain sehingga tidak mengakibatkan satu sistem mati secara keseluruhan.
3. mudah diadaptasi untuk sistem tersebar
Kelemahan :
1. layanan dilakukan lambat karena harus melalui pertukaran pesan
2. pertukaran pesan dapat menjadi bottleneck
SISTEM BERORIENTASI OBJEK
¨ layanan diimplementasikan sebagai kumpulan objek. Objek mengkapsulkan struktur data dan sekumpulan operasi pada struktur data itu. Tiap objek diberi tipe yang menandai properti objek seperti proses, direktori, berkas, dsb. Dengan memanggil operasi yang didefinisikan di objek, data yang dikapsulkan dapat diakses dan dimodifikasi. Model ini terstruktur dan memisahkan antara layanan yang disediakan dan implementasinya. Contoh sistem operasi berorientasi objek, antara lain : Eden, Choices, X-kernel, Medusa, Clouds, Amoeba, Muse, dsb.
¨ Sistem operasi MS Windows NT telah mengadopsi beberapa teknologi berorientasi objek tapi belum
Tidak ada komentar:
Posting Komentar