BAB IV

BAB 4. SISTEM OPERASI TERDISTRIBUSI

Sistem Operasi Terdistribusi

4.1 Apakah sistem operasi terdistribusi ?

     Sistem operasi terdistribusi adalah salah satu implementasi dari sistem terdistribusi, di mana sekumpulan komputer dan prosesor yang heterogen terhubung dalam suatu jaringan. Koleksi-koleksi dari objek-objek ini secara tertutup bekerja secara bersama-sama untuk melakukan suatu tugas atau pekerjaan tertentu.
Tujuan utamanya adalah untuk memberikan hasil secara lebih, terutama dalam:
  1.  file system
  2.  name space
  3.  waktu pengolahan
  4.  keamanan
  5.  akses ke seluruh resources, seperti prosesor, memori, penyimpanan sekunder, dan perangkat keras.




4.1.1 Sistem Operasi terdistribusi vs Sistem Operasi Jaringan

     Suatu sistem operasi terdistribusi yang sejati adalah yang berjalan pada beberapa buah mesin, yang tidak melakukan sharing memori, tetapi terlihat bagi user sebagai satu buah komputer single. Pengguna tidak perlu
memikirkan keberadaan perangkat keras yang ada, seperti prosesor. Contoh dari sistem seperti ini adalah Amoeba.
     Sistem operasi terdistribusi berbeda dengan sistem operasi jaringan. Untuk dapat membedakannya, sistem operasi jaringan memiliki ciri-ciri sebagai berikut:
  •  Tiap komputer memiliki sistem operasi sendiri
  •  Tiap personal komputer memiliki sistem file sendiri, di mana data-datadisimpan
  •  Sistem operasi tiap komputer dapat berbeda-beda atau heterogen
  •  Pengguna harus memikirkan keberadaan komputer lain yang terhubung, dan harus mengakses, biasanya menggunakan remote login (telnet)
  •  File system dapat digunakan dengan dukungan NFS
Contoh dari sistem ini adalah Unix dan Linux Server


                                                 Gambar~4.1: Skema Sistem Operasi Jaringan

4.2 Fungsi Sistem Operasi Terdistribusi
     Sistemoperasi terdistribusi memiliki manfaat dalam banyak sistemdan dunia komputasi yang luas. Manfaat-manfaat ini termasuk dalan sharing resource, waktu komputasi, reliabilitas, dan komunikasi.

4.2.1 Shared Resource
     Walaupun perangkat sekarang sudahmemiliki kemampuan yang cepat dalam proses-proses komputasi, atau misal dalam mengakses data, tetapi pengguna masih saja menginginkan sistem berjalan dengan lebih cepat. Apabila hardware terbatas, kecepatan yang diinginkan user dapat diatasi dengan menggabung perangkat yang ada dengan sistem DOS (Distributed Operating System).

4.2.2 Manfaat Komputasi
     Salah satu keunggulan sistem operasi terdistribusi ini adalah bahwa komputasi berjalan dalam keadaan pararel. Proses komputasi ini dipecah dalam banyak titik (nodes), yangmungkin berupa komputer pribadi, prosesor tersendiri, dan kemungkinan perangkat prosesor-prosesor yang lain. Sistem operasi terdistribusi
ini bekerja baik dalammemecah komputasi ini dan baik pula dalam mengambil kembali hasil komputasi dari titik-titik cluster untuk ditampilkan hasilnya.

4.2.3 Reliabilitas
     Fitur unik yang dimiliki oleh DOS ini adalah reliabilitas. Berdasarkan design dan implementasi dari design sistem ini, maka hilangnya suatu node tidak akan berdampak terhadap integritas system. Hal ini berbeda dengan komputer personal, apabila ada salah satu hardware yang mengalami kerusakan, maka system akan berjalan tidak seimbang, bahkan sistem bisa tidak dapat berjalan atau mati. Dalam sistem operasi terdistribusi tadi sebenarnya cara kerjanya mirip dengan personal computer, tetapi bedanya apabila ada node yangmati, maka akan terjadi proses halt terhadap node tersebut dan proses komputasi dapat dialihkan. Hal ini akan membuat sistem DOS selalu memiliki reliabilitas yang tinggi.

4.2.4 Komunikasi
     Sistem operasi terdistribusi biasanya berjalan dalam jaringan, dan biasanya melayani koneksi jaringan. Sistem ini biasanya digunakan user untuk proses networking. User dapat saling bertukar data, atau saling berkomunikasi antar titik baik secara LAN maupun WAN.

4.3 Komponen Sistem Operasi
Sistem operasi terdistribusi, yang saat ini akan dibahas sebagai titik tolak
adalah Amoeba, yang saat ini banyak digunakan sebagai salah satu implementasi
dari sistem operasi terdistribusi itu sendiri. Sistem Amoeba ini tumbuh
dari bawah hingga akhirnya tumbuhmenjadi sistemoperasi terdistribusi.


                                                      Design Sistem Operasi Amoeba
     Sistem operasi terdistribusi pada umumnya memerlukan hardware secara spesifik. Komponen utama dalam sistem ini adalah : workstation, LAN, gateway, dan processor pool, seperti yang diilustrasikan pada gambar di atas. Workstation atau komputer personal mengeksekusi proses yang memerlukan interaksi dari user seperti text editor atau manager berbasis window. Server khusus memiliki fungsi untuk melakukan tugas yang spesifik. Server ini mengambil alih proses yang memerlukan I/O yang khusus dari larikan disk. Gateway berfungsi untuk mengambil alih tugas untuk terhubung ke jaringan WAN. Procesor pool mengambil alih semua proses yang lain. Tiap unit ini biasanya terdiri dari prosesor, memori lokal, dan koneksi jaringan. Tiap prosesor mengerjakan satu buah proses sampai prosesor yang tidak digunakan habis. Untuk selanjutnya proses yang lain berada dalam antrian menunggu proses yang lain selesai. Inilah keunggulan sistem operasi terdistribusi
dalam hal reliabilitas. Apabila ada satu unit pemroses yang mati, maka proses yang dialokasikan harus di restart, tetapi integritas sistem tidak akan terganggu, apabila proses deteksi berjalan dengan baik. Desain sistem ini memungkinkan untuk 10 sampai 100 prosesor.
Spesifikasi perangkat keras yang harus disediakan pada tiap cluster minimalnya adalah :
  1.  File server: 16 MB RAM, 300MB HD, Ethernet card.
  2.  Workstation: 8 MB RAM, monitor, keyboard, mouse
  3.  Pool processor: 4 MB RAM, 3.5 ‡oppy drive
4.3.1 Arsitektur Software
     Sistem operasi terdistribusi sejati memiliki arsiitektur software yang unik. Arsitektur software ini dikarakterkan dalam objek di dalam hubungan antara klien dan server. Proses-proses yang terjadi di klien menggunakan remote procedure yang memanggil dan mengirimkan request ke server untuk memproses data atau objek yang dibawa. Tiap objek yang dibawa memiliki karakteristik yang disebut sebagai kapabilitas. Kapabilitas ini besarnya adalah 128 bits. 48 bits pertama menunjukkan servis mana yang memiliki objek tersebut. 24 bits berikutnya adalah nomor dari objek. 8 bits berikutnya menampilkan operasi yang diijinkan terhadap objek yang bersangkutan. Dan 48 bits terakhir merupakan check field yang merupakan field yang telah terenkripsi agar tidak dapat dimodifikasi oleh proses yang lain. Operasi diselesaikan oleh RPC (remote procedure calls) yang dibuat oleh klien di dalam proses yang kecil dan ringan. Proses dengan tipe seperti ini memiliki bidang alamat sendiri, dan bisa saja memiliki satu atau lebih hubungan. Hubungan ini ketika berjalan memiliki program counter dan stack sendiri, tetapi dapat saling berbagi kode dan data antara hubungan lain di dalam proses. Ada 3 macam basis panggilan sistem yang dapat digunakan dalam proses yang dimiliki user, yaitu do_operation, get_request, dan send_reply. Bagian yang pertama mengirimkan pesan ke server, setelah proses memblok sampai server mengirimkan balasan. Server menggunakan panggilan sistem ke dua untuk mengindikasikan bahwa server akan menerima pesan pada port tertentu. Server juga menggunakan panggilan sistem ke tiga untuk mengirimkan kembali informasi ke proses yang dipanggil. Dengan dibangun dari perintah sistem yang primitif, maka sistem ini menjadi antarmuka untuk program aplikasi. Hal ini diselesaikan oleh tingkat dari pengarahan yang mengijinkan pengguna untuk berfikir terhadap struktur ini sebagai objek dan operasi-operasi terhadap objek ini. Berhubungan dengan objek-objek adalah class. Kelas dapat berisi kelas
yang lain dan juga hierarki secara alami. Pewarisan membuat antarmuka objek untuk implementasi manipulasi objek seperti menghapus, membaca, menulis, dan sebagainya.

4.3.2 Manajemen Berkas
     Dalam sistem operasi terdistribusi ini sistem berkas dipetakan dengan baik dengan berorientasi pada objek yang ada dan kapabilitasnya. Hal ini akan menjadi berkesan abstrak, terutama untuk kelas pengguna. Ada tingkatan yang lebih ekstra dalam pemetaan berkas yang ada, mulai dari simbol, pengurutan nama path, dan kapabilitasnya. Melalui sistem ini objek lokal tidak ada bedanya dengan objek publik. Dalam sistem ini ada semacan tingkatan akses yang sebenarnya mirip UNIX. Setiap user dan group memiliki hak akses yang berbeda-beda pada setiap berkas atau folder yang ada pada sistem operasi terdistribusi. Dalam implementasi sistem Amoeba, terutama di negeri Belanda, hak akses yang dimiliki pengguna terbatas pada hak baca file, tulis/membuat file, dan hapus file. Dengan hal ini, maka keamanan server dapat terjaga. Pelayanan terhadap direktori yang ada dibuat sangat ketat dalam hal keamanan. Bahkan dibuat semacan kode acak yang akan menyandikan file tersebut sehingga tidak mudah dibaca oleh siapapun. Kode penyandinya akan digunakan lagi oleh sistem untuk mengembalikan file seperti semula kepada user. Kode ini hanya akan diberikan kepada pemilik file tersebut. Jadi ketika user mengakses file/berkas yang bersangkutan, maka kode penyandi akan
dibuat oleh sistem, agar pemilik file dapat membacanya. Pelayanan direktori ini juga bertanggungjawab dalam hal backup sistem. Hal ini akan menyebabkan file selalu berada dalam keadaan yang aman, dan lebih kebal tehadap gangguan yang terjadi di dalam sistem, karena pelayanan direktori ini menyimpan cache dari file atau direktori yang berada pada sistem.

4.4 Proses
     Dalam sistem operasi terdistribusi yang sejati, tiap proses berada pada alamat segmen-segmen virtual. Proses-proses ini dapat memiliki lebih dari satu hubungan. Kaitan-kaitan ini dialokasikan ke prosesor-prosesor sampai semua prosesor habis digunakan. Hasil dari manajemen proses seperti ini menghasilkan
utilisasi yang lebih baik, di mana tidak perlu switch apabila harus ada proses yang berat, karena satu proses dialokasikan ke satu prosesor. Sedangkan untuk proses yang tidak kebagian tempat, maka akan masuk ke
antrian. Kaitan-kaitan proses ini menggunakan semaphore untuk menunjukkan aktifitasnya Masing- masing proses memiliki kontrol sendiri pada spasi alamatnya. Masing-masing proses dapat menambah atau menghapus segmen dari spasi alamat virtualnya melalui operasi pemetaan. Objek seperti file yang berisi
kapabilitas, dan yang membaca adalah kernel, dan apabila proses diijinkan, maka ia dapat memetakan atau menghapus pemetaan segmen pada alamat virtualnya. Untuk membangun sebuah proses, maka pendekripsi proses mengirimkannya ke kernel. Hal ini diketahui sebagai pengiriman request untuk proses. Sebuah deskriptor proses dapat berisi deskriptor host, kapabilitas proses, penanganan kapabilitas, dan juga jumlah segmen. Deskriptor host berisi proses ini memiliki jenis apa, dan dapat berjalan di mana. Isinya adalah baris instruksi, kebutuhan memori, kelas mesin, informasi, dan sebagainya. Kernel harus memiliki deskriptor host yang sama untuk melanjutkan proses.Kapabilitas proses adalah memiliki tingkatan lebih tinggi dari proses, yang mengatur apa yang dapat dilakukan oleh proses, atau proses ini hanya dapat dilakukan oleh siapa. Pengatur kapabilitas mirip dengan hal ini, tetapi hanya bekerja untuk proses yang tidak normal. Alamat proses terenkapsulasi di dalam peta memori internal. Peta ini meiliki entri untuk setiap segmen dari alamat untuk proses yang potensial. Entri berisi alamat virtual, panjang segmen, pemetaan segmen, dan kapabilitas dari objek yang mengetahui dari mana objek tersebut diinisialisasifi Ada juga kaitan pemetaan yang mendeskripsikan atribut yang lain, termasuk di antaranya mendefinisikan inisial keadaan dari kaitan, status prosesor, program counter, stack pointer, stack base, nilai register, dan keadaan sistem pemanggil. Hal ini mengijinkan deskriptor untuk digunakan di proses. Proses memiliki dua macam keadaan, yaitu proses sedang berjalan atau sedang stunned. Stunned terjadi bila proses masih ada, tetapi tidakmelakukan eksekusi apapun, atau sedang dalam proses debug. Pada keadaan ini kernel memberitahu komunikator (kernel yang lain) adanya proses yang dalam keadaan stunned. Kernel yang lain tersebut berusaha berkomunikasi dengan proses itu sampai proses di-kill atau proses tersebut berjalan kembali. Debugging dan migrasi pada proses ini selesai setelah adanya stunning.

Tidak ada komentar:

Posting Komentar