Struktur Sistem Operasi

     Sebuah sistem yang besar dan kompleks seperti sistem operasi modern harus diatur dengan membagi task kedalam komponen-komponen kecil agar dapat berfungsi dengan baik dan mudah dimodifikasi. Kita akan membahas cara komponen-komponen ini dihubungkan satu sama lain. Menurut Avi Silberschatz, Peter Galvin dan Greg Gagne ada tiga cara, yaitu :
  • Struktur Sederhana
  • Pendekatan Layer
  • Mikrokernel
      Sedangkan menurut William Stallings, kita bisa memandang sistem sebagai seperangkat lapisan atau layer. Tiap layer menampilkan bagian fungsi yang dibutuhkan oleh sistem operasi. Bagian yang terletak pada layer yang lebih rendah akan menampilkan fungsi yang lebih primitif dan menyimpan detail fungsi tersebut :

Struktur Sederhana

      Banyak sistem yang tidak terstruktur dengan baik, sehingga sistem operasi seperti ini dimulai dengan sistem yang lebih kecil, sederhana, dan terbatas. Kemudian berkembang dengan scope yang original. Contoh sistem seperti ini adalah MS-DOS, yang disusun untuk mendukung fungsi yang banyak pada space yang sedikit karena keterbatasan hardware untuk menjalankannya. Contoh sistem lainnya adalah UNIX, yang terdiri dari dua bagian yang terpisah, yaitu kernel dan program sistem. Kernel selantunya dibagi dua bagian, yaitu interface dan device drivers. Kernel mendukung sistem berkas, penjdawalan CPU, manajemen memori, dan fungsi sistem operasi lainnya melalui system calls.

Pendekatan Layer

    Sistem operasi dibagi menjadi sejumlah layer yang masing-masing dibangun diatas layer yang lebih rendah. Layer yang lebih rendah menyediakan layanan untuk layer yang lebih tinggi. Layer yang paling bawah adalah hardware, dan yang paling tinggi adalah user-interface. Sebuah layer adalah implementasi dari object abstract yang merupakan enkapsulasi dari data dan operasi yang bisa memanipulasi data tersebut. Keuntungan utama dengan sistem ini adalah modularitas. Pendekatan ini mempermudah debug dan verifikasi sistem. Layer pertama bisa di debug tanpa mengganggu sistem yang lain karena hanya menggunakan hardware dasar untuk implementasi fungsinya. Bila terjadi error saat debugging sejumlah layer , error pasti pada layer terbaru di debug, karena layer dibawahnya sudah di debug.

Adapun model tingkatan sistem operasi yang mengaplikasikan prinsip ini, terdiri dari level-level sebagai berikut ini :
Klik Show Level 1
Terdiri dari electronic circuit, dimana objek yang ditangani adalah register memory cell, dan logic gates. Operasi pada objek ini seperti membersihkan register atau membaca lokasi memori.
Klik Show Level 2
Pada level ini adalah set instruksi pada processor. Operasinya adalah instruksi bahasa-mesin, seperti menambah, mengurangi, load dan store.
Klik Show Level 3
Tambahan konsep prosedur atau subroutine, ditambah operasi call atau return.
Klik Show Level 4
Mengenalkan interrupt yang menyebabkan processor harus menyimpan perintah yang baru dijalankan dan memanggil interrupt-handling routine Empat level pertama bukan bagian sistem operasi tetapi bagian hardware. Meskipun demikian beberapa elemen sistem operasi mulai tampil pada level-level ini, seperti interrupt-handling routine. Pada level 5, kita mulai masuk kebagian sistem operasi dan konsepnya berhubungan dengan multi-programming.
Klik Show Level 5
Level ini mengenalkan ide proses dalam mengeksekusi program. Kebutuhan-kebutuhan dasar pada sistem operasi untuk mendukung proses ganda termasuk kemampuan men suspend dan me resume proses. Hal ini membutuhkan register hardware untuk menyimpan agar eksekusi bisa ditukar antara satu proses ke proses lainnya.
Klik Show Level 6
Mengatasi secondary-storage dari komputer. Level ini untuk menjadwalkan operasi dan menanggapi permintaan proses dalam melengkapi suatu proses.
Klik Show Level 7
Membuat alamat logic untuk proses. Level ini mengatur alamat virtual ke dalam block yang bisa dipindahkan antara memori utama dan memory tambahan. Cara-cara yang sering dipakai adalah menggunakan ukuran page yang tetap, menggunakan segmen sepanjang variabelnya, dan menggunakan cara keduanya. Ketika block yang dibutuhkan tidak ada dimemori utama, alamat logic pada level ini meminta transfer dari level 6. Sampai point ini, sistem operasi mengatasi sumber daya dari single-processor. Mulai level 8, sistem operasi mengatasi objek eksternal seperti device bagian luar, jaringan, dan sisipan komputer kepada jaringan.
Klik Show Level 8
Mengatasi komunikasi informasi dan pesan-pesan antar proses. Dimana pada level 5 disediakan mekanisme penanda yang kuno yang memungkinkan untuk sinkronisasi proses, pada level ini mengatasi pembagian informasi yang lebih banyak. Salah satu device yang paling sesuai adalah pipe yang menerima output suatu proses dan memberi input ke proses lain.
Klik Show Level 9
Mendukung penyimpanan jangka panjang yang disebut file (berkas). Pada level ini, data dari secondary-storage ditampilkan pada tingkat abstrak, panjang variabel yang terpisah. Hal ini bertentangan tampilan hardware-oriented dari secondary-storage.
Klik Show Level 10
Menyediakan akses ke device eksternal menggunakan interface standar.
Klik Show Level 11
Bertanggung jawab mempertahankan hubungan antara internal dan eksternal identifier dari sumber daya dan objek sistem. Eksternal identifier adalah nama yang bisa dimanfaatkan oleh aplikasi atau user. Internal identifier adalah alamat atau indikasi lain yang bisa digunakan oleh level yang lebih rendah untuk meletakkan dan mengontrol objek.
Klik Show Level 12
Menyediakan suatu fasilitator yang penuh tampilan untuk mendukung proses. Hal ini merupakan lanjutan dari yang telah disediakan padalevel 5. Pada level 12, semua info yang dibutuhkan untuk manajemen proses dengan berurutan disediakan, termasuk alamat virtual di proses, daftar objek dan proses yang berinteraksi dengan proses tersebut serta batasan interaksi tersebut, parameter yang harus dipenuhi proses saat pembentukan, dan karakteristik lain yang muangkin digunakan sistem operasi untuk mengontrol proses.
Klik Show Level 13
Menyediakan interface dari sistem operasi dengan user yang dianggap sebagai shell atau dinding karena memisahkan user dengan sistem operasi dan menampilkan sistem operasi dengan sederhana sebagai kumpulan servis atau pelayanan. Salah satu kesulitan besar dalam sistem layer disebabkan sebuah karena layer hanya bisa menggunakan layer-layer dibawahnya, misalnya : backing-store driver , normalnya diatas CPU scheduler, sedangkan pada sistem yang besar /CPU Scheduler punya informasi tentang proses yang aktif yang ada di memori. Oleh karena itu, info ini harus dimasukkan dan dikeluarkan dari memori, sehingga membutuhkan backing-store driver dibawah CPU scheduler . Kesulitan lainnya adalah paling tidak efisien dibandingkan tipe lain. Ketika user mengeksekusi I/O , akan mengeksekusi I/O layer , memory-management layer , yang memanggil CPU Scheduler layer.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar

Diberdayakan oleh Blogger.

Pengikut