Labels

Thursday, January 24, 2013

STRUKTUR DASAR SISTEM OPERASI



1.      Sistem monolitik (monolithic system)
   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. Sistem operasi ditulis sebagai sekumpulan prosedur (a collection of procedures), yang dapat dipanggil setiap saat oleh pemakai saat dibutuhkan.

   Kelemahan :
·          Pengujian dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dilokalisasi.
·          Sulit dalam menyediakan fasilitas pengamanan.
·          Merupakan pemborosan bila setiap komputer harus menjalankan kernel monolitik sangat besar sementara sebenarnya tidak memerlukan seluruh  layanan yang disediakan kernel.
·          Tidak fleksibel.
·          Kesalahan pemograman satu bagian dari kernel menyebabkan matinya seluruh sistem.

   Keunggulan :
·          Layanan dapat dilakukan sangat cepat karena terdapat di satu ruang alamat.

Kebanyakan UNIX sampai saat ini berstruktur monolitik. Meskipun monolitik yaitu seluruh komponen/subsistem sistem operasi terdapat di satu ruang alamat tetapi secara rancangan adalah berlapis. Rancangan adalah berlapis yaitu secara logik satu komponen/subsistem merupakan lapisan lebih bawah dibanding lainnya dan menyediakan layanan-layanan untuk lapisan-lapisan lebih atas. Komponen-komponen tersebut kemudia dikompilasi dan dikaitkan  (di-link) menjadi satu ruang alamat. Untuk mempermudah dalam pengembangan terutama pengujian dan fleksibilitas, kebanyakan UNIX saat ini menggunakan konsep kernel loadable modules,yaitu:
   · 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).

2.      Sistem lapis (layered system)
   Sistem operasi dibentuk secara hirarki berdasar lapisan-lapisan, dimana lapisan-lapisan bawa memberi layanan lapisan lebih atas. Struktur berlapis dimaksudkan untuk mengurangi kompleksitas rancangan dan implementasi sistem operasi. Tiap lapisan mempunyai fungsional dan antarmuka masukan-keluaran antara dua lapisan bersebelahan yang terdefinisi bagus.

   Lapis-lapis dalam sistem operasi ada 6 lapis, yaitu :
   · Lapis 5 - The operator
     Berfungsi untuk pemakai operator.
   · Lapis 4 - User programs
     Berfungsi untuk aplikasi program pemakai.
   · Lapis 3 - I/O management
     Berfungsi untuk menyederhanakan akses I/O pada level atas.
   · Lapis 2 - Communication operators
     Berfungsi untuk mengatur komunikasi antar proses.
   · Lapis 1 -Memory and drum management
     Berfungsi untuk mengatur alokasi ruang memori atau drum magnetic.
   · Lapis 0 -Processor allocation and multiprogramming
Berfungsi untuk mengatur alokasi pemroses dan switching, multiprogramming dan pengaturan prosessor.

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. Pendekatan berlapis menyederhanakan rancangan, spesifikasi dan implementasi sistem operasi.

Kelemahan :
Fungsi-fungsi sistem operasi harus diberikan ke tiap lapisan secara hati-hati.

3.      Virtual machines
Awalnya struktur ini membuat seolah-olah pemakai mempunyai seluruh komputer dengan simulasi atas pemroses yang digunakan. Sistem operasi melakukan simulasi mesin nyata. Mesin hasil simulasi digunakan pemakai, mesin maya merupakan tiruan seratus persen atas mesin nyata. Semua pemakai diberi iluasi mempunyai satu mesain yang sama-sama canggih.
Pendekatan ini memberikan fleksibilitas tinggi sampai memungkinkan sistem operasi-sistem operasi berbeda dapat dijalankan dimesin-mesin maya berbeda. Implementasi yang efisien merupakan masalah sulit karena sistem menjadi besar dan kompleks. Teknik ini mulanya digunakan pada IBM S/370. VM/370 menyediakan mesin maya untuk tiap pemakai. Bila pemakai log (masuk) sistem, VM/370 menciptakan satu mesin maya baru untuk pemakai itu.
Teknik ini berkembang menjadi operating system emulator sehingga sistem operasi dapat menjalankan aplikasi-aplikasi untuk sistem operasi lain.

Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2 mode teks dan aplikasi Win16. Aplikasi tersebut dijalankan sebagai masukan bagi subsistem di MS-Windows NT yang mengemulasikan system calls yang dipanggil aplikasi dengan Win32 API (system calls di MS-Windows NT).

IBM mengembangkan WABI yang mengemulasikan Win32 API sehingga diharapkan sistem operasi yang menjalankan WABI dapat menjalankan aplikasi-aplikasi untuk MS-Windows.
Para sukarelawan pengembang Linux telah membuat DOSEMU agar aplikasi-aplikasi untuk MS-DOS dapat dijalankan di Linux, WINE agar aplikasi untuk MS-Windows dapat dijalankan di Linux, iBCS agar aplikasi-aplikasi untuk SCO-UNIX dapat dijalankan di Linux, dan sebagainya.

4.      Client-server model
Sistem operasi merupakan kumpulan proses dengan proses-proses dikategorikan sebagai server dan client, yaitu :
   · Server, adalah proses yang menyediakan layanan.
   · Client, adalah 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 hasil dalam bentuk pesan jawaban ke proses client. Server hanya menanggapi permintaan client dan tidak memulai dengan percakapan client. Kode dapat diangkat ke level tinggi, sehingga kernel dibuat sekecil mungkin dan semua tugas diangkat ke bagian proses pemaka. Kernel hanya mengatur komunikasi antara client dan server. Kernel yang ini popular dengan sebutan mikrokernel.
   · Permintaan pelayanan, seperti membaca sebuah blok file, sebuah user process (disebut client process) mengirimkan permintaan kepada sebuah server process, yang kemudian bekerja dan memberikan jawaban balik.
Masalah :
   · Tidak semua tugas dapat dijalankan di tingkat pemakai (sebagai proses pemakai).
Kesulitan ini diatasi dengan :
   · Proses server kritis tetap di kernel, yaitu proses yang biasanya berhubungan dengan perangkat keras.
   · Mekanisme ke kernel seminimal mungkin,sehingga pengaksesan ruang pemakai dapat dilakukan dengan cepat. Untuk sistem-sistem besar dengan banyak server dikehendaki supaya client transparan dalam meminta layanan sehingga tidak menyulitkan pemogram.

   Keunggulan :
   · Pengembangan dapat dilakukan secara modular.
   · Kesalahan (bugs) di satu subsistem (diimplementasikan sebagai satu proses) tidak merusak subsistem-subsistem lain, sehingga tidak mengakibatkan satu sistem mati secara keseluruhan.
   · Mudah diadaptasi untuk sistem tersebar.

   Kelemahan :
   · Layanan dilakukan lambat karena harus melalui pertukaran pesan.
   · Pertukaran pesan dapat menjadi bottleneck.

5.      Sistem Berorientasi Objek
Sistem operasi merealisasikan layanan sebagai kumpulan proses disebut sistem operasi bermodel proses. Pendekatan lain implementasi layanan adalah sebagai objek-objek. Sistem operasi yang distrukturkan menggunakan objek disebut sistem operasi berorientasi objek. Pendekatan ini dimaksudkan untuk mengadopsi keunggulan teknologi berorientasi objek.
Pada sistem yang berorientasi objek, layanan diimplementasikan sebagai kumpulan objek. Objek mengkapsulkan struktur data dan sekumpulan operasi pada struktur data itu. Tiap objek diberi tipe yang menandadi properti objek seperti proses, direktori, berkas, dan sebagainya. Dengan memanggil operasi yang didefinisikan di objek, data yang dikapsulkan dapat diakses dan dimodifikasi.
Model ini sungguh terstruktur dan memisahkan antara layanan yang disediakan dan implementasinya. Conoh sistem operasi yang berorientasi objek, antara lain : eden, choices, x-kernel, medusa, clouds, amoeba, muse, dan sebagainya. Sistem operasi MS Windows NT telah mengadopsi beberapa teknologi berorientasi objek tetapi belum keseluruhan.


0 comments:

Post a Comment