Arsitektur Sistem Operasi
Arsitektur perangkat lunak adalah merupakan struktur-struktur yang menjadikan landasan untuk menentukan keberadaan komponen-komponen perangkat lunak, metode atau cara untuk mengelola (organisasi) komponenkomponen tersebut untuk saling berinteraksi. Komponen tersebut merupakan program-program bagian (prosedur, fungsi) yang akan dieksekusi oleh program utama. Arsitektur system operasi adalah merupakan arsitektur perangkat lunak yang digunakan untuk membangun suatu perangkat lunak sistem operasi yang akan digunakan dalam sistem komputer. Perkembangan arsitktur system operasi modern ini semakin komplek dan rumit sehingga memerlukan sistem operasi yang dirancang dengan sangat hati-hati, cermat dan tepat agar dapat berfungsi secara optimum dan mudah untuk dimodifikasi. Sistem operasi merupakan kumpulan dari program-program (prosedur,fungsi, library) dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan”.
Sistem pemanggilan program untuk mendapatkan layanan dari sistem operasi tersebut dikenal dengan nama System Call atau API (aplication programming interface). Berbagai ragam Arsitektur system operasi moderen diantaranya adalah :
1) System Monolitik.
2) System Berlapis.
3) System Client/server.
4) System Virtual mesin.
5) System Berorientasi objek.
Sistem monolitik Sistem monolitik Merupakan struktur sistem operasi sederhana yang dilengkapi dengan operasi “dual” pelayanan {sistem call} yang diberikan oleh sistem operasi. Model sistem call dilakukan dengan cara mengambil sejumlah parameter pada tempat yang telah ditentukan sebelumnya, seperti register atau stack dan kemudian mengeksekusi suatu intruksi trap tertentu pada monitor mode.
tiap-tiap sistem call memiliki satu service procedure. Ulitity procedure mengerjakan segala sesuatu yang dibutuhkan oleh beberapa service procedure, seperti mengambil data dari user program. Mekanisme dan prinsip kerja model struktur monolitik sistem operasi ini adalah sebagai berikut: User program melakukan “trap” pada karnel
Intruksi berpindah dari user mode ke monitor modedan mentransfer control ke sistem operasi. Sistem operasi mengecek parameter-parameter dari pemanggilan tersebut, untuk menentukan sistem call mana yang memanggil.
Sistem operasi menunjuk ke suatu table yang berisi slot ke-k yang menunjuk sistem call K (Kontrol). Kontrol akan dikembalikan kepada user program, jika sistem call telah selesai mengerjakan tugasnya. Tatanan ini memberikan suatu struktur dasar dari sistem operasi sebagai berikut : - Program utama meminta service procedure. - Kumpulan service procedure yang dibaca oleh sistem call. - Kumpulan utility procedure yang membantu service procedure. Keunggulan dari system Monolitik ini adalah: layanan terhadap job-job yang ada bisa dilakukan dengan cepat karena berada pada satu ruang alamat memory.
Sementara itu kelemahan dari system Monolitik adalah: Pengujian dan penghilangan kesalahan sulit dilakukan karena tidak dapat dipisahkan dan dilokasikan, Sulit dalam menyediakan fasilitas pengamanan. Kurang efisien dalam penggunaan memori dimana setiap computer harus menjalankan kernel yang besar sementara tidak memerlukan seluruh layanan yang disediakan kernel. Kesalahan pemrograman di satu bagian kernel menyebakan matinya seluruh sistem
-Sistem berlapis
Teknik pendekatan struktur sistem berlapis sistem operasi pada dasarnya dibuat menggunakan pendekatan top-down, semua fungsi ditentukan dan dibagi menjadi komponen komponen. Modularisasi sistem dilakukan dengan cara memecah sistem operasi menajdi beberapa lapis (tingkat). Lapisan terendah (layer 0) adalah perangkat keras dan lapisan teratas (layer N) adalah user interface. Dengan system modularisasi, setiap lapisan mempunyai fungsi (operasi) tertentu dan melayani lapisan yang lebih rendah. System operasi pertama kali yang memakai system berlapis adalah THE. System operasi THE yang dibuat oleh Dijkstra dan mahasiswa-mahasiswanya.
Pada dasarnya system operasi berlapis dimaksudkan untuk mengurangi kompleknya rancangan dan implementasi dari suatu system operasi. Contoh sistem operasi yang menggunakan sistem ini adalah: UNIX termodifikasi, THE, Venus dan OS/2
Keuntungan dari model struktur sistem operasi berlapis adalah memiliki semua keunggulan rancangan modular. Sistem terbagi dalam beberapa modul, setiap modul dan lapisan bisa dirancang, di uji, secara independen sehingga jika terjadi suatu kesalahan mudah untuk menanganinya. Sementara kelemahan dari sistem ini adalah semua fungsi-fungsi dari sistem operasi harus terdapat di masing-masing lapisan, jika terjadi suatu kesalahan bisa jadi semua lapisan harus diprogram ulang.
-Sistem Mesin virtual
Konsep dasar dari mesin virtual ini tidak jauh berbeda dengan pendekatan sistem terlapis dengan tambahan berupa antarmuka yang menghubungkan perangkat keras dengan kernel untuk tiap-tiap proses. Mesin virtual menyediakan antar muka yang identik untuk perangkat keras yang ada. Sistem operasi ini membuat ilusi atau virtual untuk beberapa proses, masing-masing virtual proses mengeksekusi prosessornya dan memorinya (virtual) masing masing.
Meskipun konsep ini cukup baik, namun cukup komplek untuk diimplementasikan, karena system menggunakan metode dual-mode. Mesin virtual hanya dapat berjalan pada monitor-mode jika berupa sistem operasi, sedangkan mesin virtual itu sendiri berjalan dalam bentuk user-mode. Konsekuensinya, baik virtual monitor-mode maupun virtual user-mode harus dijalankan melalaui physical user mode. Hal ini menyebabkan adanya transfer dari usermode ke monitor-mode pada mesin nyata, yang juga akan menyebabkan adanya transfer dari virtual user-mode ke virtual monitor-mode pada mesin virtual. Sumber daya (resource) dari computer fisik dibagi untuk membuat mesin virtual. Penjadwalan CPU dapat membuat penampilan bahwa user mempunyai prosessor sendiri. Spooling dan system file dapat menyediakan card reader virtual dan line printer virtual. Terminal time sharing pada user melayani sebagai console operator mesin virtual. Contoh sistem operasi yang memakai mesin virtual adalah IBM S/370 dan IBM VM/370. Teknik ini berkembang menjadi sistem operasi emulator, shingga system operasi dapat menjalankan aplikasi-aplikasi untuk system operasi lain. Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2
mode teks dan aplikasi Win16. aplikasi tersebut dijalankan sebagai input bagi subsistem di MS-Windows NT yang mengemulasikan system calls yang dipanggil aplikasi dengan Win32 API ( Sistem Call di MS-Windows NT). Keuntungan dan kerugian konsep mesin virtual adalah sebagai berikut: Mesin virtual menyediakan proteksi yang lengkap untuk sumber daya system sehingga masing-masing mesin virtual dipisahkan mesin virtual yang lain. Isolasi ini tidak memperbolehkan pembagian sumber daya secara langsung. Sistem mesin virtual adalah mesin yang cocok untuk riset dan pengembangan system operasi. Pengembangan system dikerjakan pada mesin virtual, termasuk di dalamnya mesin fisik dan tidak mengganggu operasi system yang normal. Konsep mesin virtual sangat sulit untuk mengimplementasikan kebutuhan dan duplikasi yang tepat pada mesin yang sebenarnya.
-Sistem operasi client server
Sistem operasi modem memiliki kecendrungan untuk memindahkan kode ke lapisan yang lebih tinggi dan menghapus sebanyak mungkin, kode-kode tersebut dari sistem operasi sehingga akan meninggalkan keruel yang minimal. Konsep ini biasa diimplementasikan dengan dengan cara menjadikan fungsifungsi yang ada pada sistem operasi menjadi user proses. Jika satu proses minta untuk dilayani, misalnya satu blok file, maka user proses {disini dinamakan: Client proses} mengirim permintaan tersebut ke user proses. Server proses akan melayani permintaan tersebutkemudian mengirimkan jawabannya kembali. Semua pekerjaan keruel dilakukan pada pengendalian komunikasi antara client dan server. Dengan membagi sistem operasi menjadi beberapa lapisan, dimana tiap-tipa bagian mengendalikan satu segi sistem, seperti pelayanan file, pelayanan proses, pelayanan terminal, atau pelayanan memori, maka tiap-tiap bagian menjadi lebih sederhana dan dapat diatur selain itu, oleh karena semua server berjalan pada user mode proses, dan bukan merupakan monitor mode, maka server tidak dapat mengakses hardware secara lansung. Akibatnya, jika terjadi kerusakan pada file server, maka pelayanan file akan terganggu. Namun hal ini tidak akan sampai menganggu sistem lainnya.
Masalah yang sering terjadi pada system client –server adalah tidak semua tugas dapat dijalankan di tingkat pemakai, tapi kesulitan ini dapat di atas dengan: Proses server kritis tetap di kernel, yaitu proses yang biasanya berhubungan dengan hardware. Mekanisme ke kernel seminimal mungkin sehingga pengaksesan ruang pemakai dapat dilakukan secepat mungkin
Keuntungan dari model client server ini antara lain adalah sebagai berikut: Dapat diadaptasikan pada sistem terdistribusi. Jika suatu client berkomunikasi dengan server dengan cara mengirimkan pesan, maka server tidak perlu tahu apakah pesan itu dikirim oleh dan dari mesin itu sendiri {local} atau dikirim oleh mesin yang lain melalui jaringan. Pengembangan dapat dilakukan secara modular
Kesalahan pada suatu subsistem tidak menganggu subsistem lain sehingga tidak mengakibatkan system mati secara keseluruhan Sedangkan kelemahan dari system client-server adalah : Pertukaran pesan dapat menjadi bottleneck dan Layanan dilakukan secara “lambat” karena harus melalui pertukaran pesan antar client-server
-Sistem Berorientasi Obyek
Layanan Sistem operasi sebagai kumpulan proses untuk menyelesaikan pekerjaannya, yang sering disebut dengan system operasi bermodel proses, sedangkan layanan system operasi sebagai objek disebut dengan system operasi berorentasi objek. Pendekatan objek dimaksudkan untuk mengadopsi keunggulan dari teknolgi berorientasi objek. Pada system operasi berorientasi objek, layanan diimplementasikan sebagai kumpulan objek, masing-masing objek diberi tipe yang menandai property objek seperti proses, dirktori, berkas, dan sebagainya. Dengan memanggil operasi yang didefinisikan di objek, data yang berada dalam objek tersebut dapat diakses dan dimodifikasi Contoh dari system operasi berorentasi objek antara lain adalah: 1) Eden 2) Choices 3) X-kernel. 4) Medusa. 5) Clunds. 6) Amoeba. 7) Muse. 8) Sistem operasi MS-Windows NT mengadopsi beberapa teknologi berorientasi objek tapi tidak secara keseluruhannya.
Sistem pemanggilan program untuk mendapatkan layanan dari sistem operasi tersebut dikenal dengan nama System Call atau API (aplication programming interface). Berbagai ragam Arsitektur system operasi moderen diantaranya adalah :
1) System Monolitik.
2) System Berlapis.
3) System Client/server.
4) System Virtual mesin.
5) System Berorientasi objek.
Sistem monolitik Sistem monolitik Merupakan struktur sistem operasi sederhana yang dilengkapi dengan operasi “dual” pelayanan {sistem call} yang diberikan oleh sistem operasi. Model sistem call dilakukan dengan cara mengambil sejumlah parameter pada tempat yang telah ditentukan sebelumnya, seperti register atau stack dan kemudian mengeksekusi suatu intruksi trap tertentu pada monitor mode.
tiap-tiap sistem call memiliki satu service procedure. Ulitity procedure mengerjakan segala sesuatu yang dibutuhkan oleh beberapa service procedure, seperti mengambil data dari user program. Mekanisme dan prinsip kerja model struktur monolitik sistem operasi ini adalah sebagai berikut: User program melakukan “trap” pada karnel
Intruksi berpindah dari user mode ke monitor modedan mentransfer control ke sistem operasi. Sistem operasi mengecek parameter-parameter dari pemanggilan tersebut, untuk menentukan sistem call mana yang memanggil.
Sistem operasi menunjuk ke suatu table yang berisi slot ke-k yang menunjuk sistem call K (Kontrol). Kontrol akan dikembalikan kepada user program, jika sistem call telah selesai mengerjakan tugasnya. Tatanan ini memberikan suatu struktur dasar dari sistem operasi sebagai berikut : - Program utama meminta service procedure. - Kumpulan service procedure yang dibaca oleh sistem call. - Kumpulan utility procedure yang membantu service procedure. Keunggulan dari system Monolitik ini adalah: layanan terhadap job-job yang ada bisa dilakukan dengan cepat karena berada pada satu ruang alamat memory.
Sementara itu kelemahan dari system Monolitik adalah: Pengujian dan penghilangan kesalahan sulit dilakukan karena tidak dapat dipisahkan dan dilokasikan, Sulit dalam menyediakan fasilitas pengamanan. Kurang efisien dalam penggunaan memori dimana setiap computer harus menjalankan kernel yang besar sementara tidak memerlukan seluruh layanan yang disediakan kernel. Kesalahan pemrograman di satu bagian kernel menyebakan matinya seluruh sistem
-Sistem berlapis
Teknik pendekatan struktur sistem berlapis sistem operasi pada dasarnya dibuat menggunakan pendekatan top-down, semua fungsi ditentukan dan dibagi menjadi komponen komponen. Modularisasi sistem dilakukan dengan cara memecah sistem operasi menajdi beberapa lapis (tingkat). Lapisan terendah (layer 0) adalah perangkat keras dan lapisan teratas (layer N) adalah user interface. Dengan system modularisasi, setiap lapisan mempunyai fungsi (operasi) tertentu dan melayani lapisan yang lebih rendah. System operasi pertama kali yang memakai system berlapis adalah THE. System operasi THE yang dibuat oleh Dijkstra dan mahasiswa-mahasiswanya.
Pada dasarnya system operasi berlapis dimaksudkan untuk mengurangi kompleknya rancangan dan implementasi dari suatu system operasi. Contoh sistem operasi yang menggunakan sistem ini adalah: UNIX termodifikasi, THE, Venus dan OS/2
Keuntungan dari model struktur sistem operasi berlapis adalah memiliki semua keunggulan rancangan modular. Sistem terbagi dalam beberapa modul, setiap modul dan lapisan bisa dirancang, di uji, secara independen sehingga jika terjadi suatu kesalahan mudah untuk menanganinya. Sementara kelemahan dari sistem ini adalah semua fungsi-fungsi dari sistem operasi harus terdapat di masing-masing lapisan, jika terjadi suatu kesalahan bisa jadi semua lapisan harus diprogram ulang.
-Sistem Mesin virtual
Konsep dasar dari mesin virtual ini tidak jauh berbeda dengan pendekatan sistem terlapis dengan tambahan berupa antarmuka yang menghubungkan perangkat keras dengan kernel untuk tiap-tiap proses. Mesin virtual menyediakan antar muka yang identik untuk perangkat keras yang ada. Sistem operasi ini membuat ilusi atau virtual untuk beberapa proses, masing-masing virtual proses mengeksekusi prosessornya dan memorinya (virtual) masing masing.
Meskipun konsep ini cukup baik, namun cukup komplek untuk diimplementasikan, karena system menggunakan metode dual-mode. Mesin virtual hanya dapat berjalan pada monitor-mode jika berupa sistem operasi, sedangkan mesin virtual itu sendiri berjalan dalam bentuk user-mode. Konsekuensinya, baik virtual monitor-mode maupun virtual user-mode harus dijalankan melalaui physical user mode. Hal ini menyebabkan adanya transfer dari usermode ke monitor-mode pada mesin nyata, yang juga akan menyebabkan adanya transfer dari virtual user-mode ke virtual monitor-mode pada mesin virtual. Sumber daya (resource) dari computer fisik dibagi untuk membuat mesin virtual. Penjadwalan CPU dapat membuat penampilan bahwa user mempunyai prosessor sendiri. Spooling dan system file dapat menyediakan card reader virtual dan line printer virtual. Terminal time sharing pada user melayani sebagai console operator mesin virtual. Contoh sistem operasi yang memakai mesin virtual adalah IBM S/370 dan IBM VM/370. Teknik ini berkembang menjadi sistem operasi emulator, shingga system operasi dapat menjalankan aplikasi-aplikasi untuk system operasi lain. Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2
mode teks dan aplikasi Win16. aplikasi tersebut dijalankan sebagai input bagi subsistem di MS-Windows NT yang mengemulasikan system calls yang dipanggil aplikasi dengan Win32 API ( Sistem Call di MS-Windows NT). Keuntungan dan kerugian konsep mesin virtual adalah sebagai berikut: Mesin virtual menyediakan proteksi yang lengkap untuk sumber daya system sehingga masing-masing mesin virtual dipisahkan mesin virtual yang lain. Isolasi ini tidak memperbolehkan pembagian sumber daya secara langsung. Sistem mesin virtual adalah mesin yang cocok untuk riset dan pengembangan system operasi. Pengembangan system dikerjakan pada mesin virtual, termasuk di dalamnya mesin fisik dan tidak mengganggu operasi system yang normal. Konsep mesin virtual sangat sulit untuk mengimplementasikan kebutuhan dan duplikasi yang tepat pada mesin yang sebenarnya.
-Sistem operasi client server
Sistem operasi modem memiliki kecendrungan untuk memindahkan kode ke lapisan yang lebih tinggi dan menghapus sebanyak mungkin, kode-kode tersebut dari sistem operasi sehingga akan meninggalkan keruel yang minimal. Konsep ini biasa diimplementasikan dengan dengan cara menjadikan fungsifungsi yang ada pada sistem operasi menjadi user proses. Jika satu proses minta untuk dilayani, misalnya satu blok file, maka user proses {disini dinamakan: Client proses} mengirim permintaan tersebut ke user proses. Server proses akan melayani permintaan tersebutkemudian mengirimkan jawabannya kembali. Semua pekerjaan keruel dilakukan pada pengendalian komunikasi antara client dan server. Dengan membagi sistem operasi menjadi beberapa lapisan, dimana tiap-tipa bagian mengendalikan satu segi sistem, seperti pelayanan file, pelayanan proses, pelayanan terminal, atau pelayanan memori, maka tiap-tiap bagian menjadi lebih sederhana dan dapat diatur selain itu, oleh karena semua server berjalan pada user mode proses, dan bukan merupakan monitor mode, maka server tidak dapat mengakses hardware secara lansung. Akibatnya, jika terjadi kerusakan pada file server, maka pelayanan file akan terganggu. Namun hal ini tidak akan sampai menganggu sistem lainnya.
Masalah yang sering terjadi pada system client –server adalah tidak semua tugas dapat dijalankan di tingkat pemakai, tapi kesulitan ini dapat di atas dengan: Proses server kritis tetap di kernel, yaitu proses yang biasanya berhubungan dengan hardware. Mekanisme ke kernel seminimal mungkin sehingga pengaksesan ruang pemakai dapat dilakukan secepat mungkin
Keuntungan dari model client server ini antara lain adalah sebagai berikut: Dapat diadaptasikan pada sistem terdistribusi. Jika suatu client berkomunikasi dengan server dengan cara mengirimkan pesan, maka server tidak perlu tahu apakah pesan itu dikirim oleh dan dari mesin itu sendiri {local} atau dikirim oleh mesin yang lain melalui jaringan. Pengembangan dapat dilakukan secara modular
Kesalahan pada suatu subsistem tidak menganggu subsistem lain sehingga tidak mengakibatkan system mati secara keseluruhan Sedangkan kelemahan dari system client-server adalah : Pertukaran pesan dapat menjadi bottleneck dan Layanan dilakukan secara “lambat” karena harus melalui pertukaran pesan antar client-server
-Sistem Berorientasi Obyek
Layanan Sistem operasi sebagai kumpulan proses untuk menyelesaikan pekerjaannya, yang sering disebut dengan system operasi bermodel proses, sedangkan layanan system operasi sebagai objek disebut dengan system operasi berorentasi objek. Pendekatan objek dimaksudkan untuk mengadopsi keunggulan dari teknolgi berorientasi objek. Pada system operasi berorientasi objek, layanan diimplementasikan sebagai kumpulan objek, masing-masing objek diberi tipe yang menandai property objek seperti proses, dirktori, berkas, dan sebagainya. Dengan memanggil operasi yang didefinisikan di objek, data yang berada dalam objek tersebut dapat diakses dan dimodifikasi Contoh dari system operasi berorentasi objek antara lain adalah: 1) Eden 2) Choices 3) X-kernel. 4) Medusa. 5) Clunds. 6) Amoeba. 7) Muse. 8) Sistem operasi MS-Windows NT mengadopsi beberapa teknologi berorientasi objek tapi tidak secara keseluruhannya.
Komentar
Posting Komentar