Pendekatan  yang  umum  suatu  sistem  yang  besar  dan  kompleks  adalah  dengan  memecah  tugas-tugas  (task)  ke  bentuk  komponen-komponen  kecil  dibandingkan  dalam  bentuk  sistem  tunggal 
(monolithic). Komponen-komponen tersebut akan akan di bahas pada bagian berikut ini. 
Struktur Sederhana  
Banyak sistem operasi komersial yang tidak terstruktur dengan baik. Kemudian sistem operasi dimulai 
dari yang terkecil, sederhana dan terbatas lalu berkembang dengan ruang lingkup originalnya. Contoh 
dari  sistem  operasi  ini  adalah  MS-DOS  dan  UNIX.  MS-DOS  merupakan  sistem  operasi  yang 
menyediakan  fungsional  dalam  ruang  yang  sedikit  sehingga  tidak  dibagi  menjadi  beberapa  modul, 
sedangkan  UNIX  menggunakan  struktur  monolitik  dimana  prosedur  dapat  saling  dipanggil  oleh 
prosedur  lain  di  sistem  bila  diperlukan  dan  kernel  berisi  semua  layanan  yang  disediakan  sistem 
operasi  untuk  pengguna  [Bambang2002].  Inisialisasi-nya  terbatas  pada  fungsional  perangkat  keras 
yang terbagi menjadi dua bagian yaitu kernel dan sistem program. Kernel terbagi menjadi serangkaian 
interface dan device driver dan menyediakan sistem file, penjadwalan CPU, manajemen memori, dan 
fungsi-fungsi sistem operasi lainnya melalui system call 
  Kelemahan struktur monolitik adalah: 
•  Pengujian dan penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dialokasikan 
•  Sulit dalam menyediakan fasilitas pengamanan 
•  Merupakan  pemborosan  memori  bila  setiap  komputer  harus  menjalan  kernel  monolitik,  karena 
semua layanan tersimpan dalam bentuk tunggal sedangkan tidak semua layanan diperlukan. 
•  Kesalahahan sebagian fungsi menyebabkan sistem tidak berfungsi. 
  
Keuntungan  struktur  monolitik  adalah  layanan  dapat  dilakukan  dengan  cepat  karena  terdapat  dalam 
satu ruang. 
 
Pendekatan Berlapis (Layer Approach) 
Sistem  operasi  dibagi  menjadi  beberapa  lapisan.  Lapisan  terbawah  (layer  0)  adalah  hardware  dan 
yang  tertinggi  (layer  N)  adalah  user  interface.  Lapisan  N  memberi  layanan  untuk  lapisan  N+1 
sedangkan  proses-proses  di  lapisan  N  dapat  meminta  layanan  lapisan  N-1  untuk  membangun 
layanan  lapisan  N+1.  Lapisan  N  dapat  meminta  layanan  lapisan  N-1  namun  lapisan  N  tidak  dapat 
meminta layanan lapisan N+1. Masing-masing berjalan pada lapisannya sendiri
[MDGR2006] Menurut Tanenbaum dan Woodhull, sistem terlapis terdiri dari enam lapisan, yaitu: 
•  Lapisan 0. Mengatur alokasi prosesor, pertukaran antar proses ketika interupsi terjadi atau waktu 
habis dan lapisan ini mendukung dasar multi-programming pada CPU. 
•  Lapisan  1.  Mengalokasikan  ruang  untuk  proses  di  memori  utama  dan  pada  512  kilo  word  drum 
yang digunakan untuk menahan bagian proses ketika tidak ada ruang di memori utama. 
•  Lapisan 2. Menangani komunikasi antara masing-masing proses dan operator console. Lapisan 
ini masing-masing proses secara efektif memiliki operator console sendiri. 
•  Lapisan 3. Mengatur peranti I/O dan menampung informasi yang mengalir dari/ke proses 
tersebut. 
•  Lapisan 4. Tempat program pengguna. Pengguna tidak perlu memikirkan tentang proses, 
memori, console, atau manajemen I/O. 
•  Lapisan 5. Merupakan operator sistem. 
 
Contoh sistem operasi yang menggunakan pendekatan berlapis adalah THE yang dibuat oleh Djikstra 
dan mahasiswa-mahasiswanya, serta sistem operasi MULTICS. 
  
[Bambang2002]  Kelemahan  struktur  ini  adalah  fungsi-fungsi  sistem  operasi  harus  diberikan  ke  tiap 
lapisan  secara  hati-hati.  Sedangkan  keunggulannya  adalah  memeliki  semua  kelebihan  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. 
 
Microkernels 
 
Metode struktur ini adalah menghilangkan komponen-komponen yang tidak diperlukan dari kernel dan 
mengimplementasikannya sebagai sistem dan program-program level user. Hal ini akan menghasilkan 
kernel yang kecil. Fungsi utama dari jenis ini adalah menyediakan fasilitas komunikasi antara program 
client  dan  bermacam  pelayanan  yang  berjalan  pada  ruang  user.  Contoh  sistem  operasi  yang 
menggunakan metode ini adalah TRU64 UNIX, MacOSX dan QNX 
 
Keuntungan  dari  kernel  ini  adalah  kemudahan  dalam  memperluas  sistem  operasi,  mudah  untuk 
diubah ke bentuk arsitektur baru, kode yang kecil dan lebih aman. Kelemahannya adalah kinerja akan 
berkurang selagi bertambahnya fungsi-fungsi yang digunakan. 
Modular (Modules) 
 
Kernel  mempunyai  kumpulan  komponen-komponen  inti  dan  secara  dinamis  terhubung  pada  
penambahan  layanan  selama  waktu  boot  atau  waktu  berjalan.  Sehingga  strateginya  menggunakan 
pemanggilan modul secara dinamis (Loadable Kernel Modules). Umumnya sudah diimplementasikan  
oleh sistem operasi modern seperti Solaris, Linux dan MacOSX. 
Sistem  Operasi  Apple  Macintosh  Mac  OS  X  menggunakan  struktur  hybrid.  Strukturnya 
menggunakan teknik berlapis dan satu lapisan diantaranya menggunakan Mach microkernel
Virtual Machine 
 
Dalam  struktur  ini  user  seakan-akan  mempunyai  seluruh  komputer  dengan  simulasi  atas  pemroses 
yang digunakan. Sistem operasi melakukan simulasi mesin nyata yang digunakan user, mesin virtual 
ini merupakan tiruan seratus persen atas mesin nyata [Bambang2002].  
  
Teknologi ini awalnya digunakan pada IBM S/370. VM/370 menyediakan mesin virtual untuk tiap user 
dengan membuat mesin virtual baru pada saat user tersebut melakukan log sistem. Kemudian teknik 
ini  berkembang  menjadi  operating  system  emulator  sehingga  sistem  operasi  dapat  menjalankan 
aplikasi-aplikasi untuk sistem operasi lain.  
 Dalam  lingkungan  ini  terdapat  proteksi  berbagai  sumber  daya  sistem.  Setiap  virtual-machine  secara 
lengkap mengisolasi dari semua virtual-machine yang lain, sehingga tidak ada masalah proteksi. Ada 
dua  pendekatan  dalam  penyediaan  sharing  yang  diimplementasikan,  pertama  hal  ini  memungkinkan 
share  minidisk  dan  share  files.  Kedua,  memungkinkan  pendefinisian  jaringan  virtual-machine, 
sehingga dapat mengirim informasi melalui virtual jaringan komunikasi.  
 
Contoh dari pengembangan itu adalah sebagai berikut: 
•  Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2 mode teks dan 
aplikasi WIN16. 
•  IBM  mengembangkan  WABI  untuk  meng-emulasikan  Win32  API  sehingga  sistem  operasi  yang 
menjalankan WABI dapat menjalankan aplikasi-aplikasi untuk MS-Windows. 
•  Para  pengembang  Linux  membuat  DOSEMU  untuk  menjalankan  aplikas-aplikasi  DOS  pada 
sistem operasi Linux, WINE untuk menjalankan aplikasi-aplikasi MS-Windows. 
•  VMWare  merupakan  aplikasi  komersial  yang  meng-abstraksikan  perangkat  keras  intel  80x86 
menjadi  virtual  mesin  dan  dapat  menjalan  beberapa  sistem  operasi  lain  (guest  operating 
system)  di  dalam  sistem  operasi  MS-Windos  atau  Linux  (host  operating  system).  VirtualBox 
merupakan salah satu aplikasi sejenis yang opensource. 
    


 08.19
08.19
 
 Posted in:
 Posted in:   







0 komentar:
Posting Komentar