Selasa, 09 April 2013

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.
Jenis Sistem Operasi Terdistribusi
Ada berbagai macam sistem operasi terdistribusi yang saat ini beredar dan banyak digunakan. Keanekaragaman sistem ini dikarenakan semakin banyaknya sistem yang bersifat opensource sehingga banyak yang membangun OS sendiri sesuai dengan kebutuhan masing-masing, yang merupakan pengembangan dari OS opensource yang sudah ada. Beberapa contoh dari sistem operasi terdistribusi ini diantaranya :
􀂃 Amoeba (Vrije Universiteit). Amoeba adalah sistem berbasis mikro-kernel yang tangguh yang menjadikan banyak workstation personal menjadi satu sistem terdistribusi secara transparan. Sistem ini sudah banyak digunakan di kalangan akademik, industri, dan pemerintah selama sekitar 5 tahun.
􀂃 Angel (City University of London). Angel didesain sebagai sistem operasi terdistribusi yang pararel, walaupun sekarang ditargetkan untuk PC dengan jaringan berkecepatan tinggi. Model komputasi ini memiliki manfaal ganda, yaitu memiliki biaya awal yang cukup murah dan juga biaya incremental yang rendah. Dengan memproses titik-titik di jaringan sebagai mesin single yang bersifat shared memory, menggunakan teknik distributed virtual shared memory (DVSM), sistem ini ditujukan baik bagi yang ingin meningkatkan performa dan menyediakan sistem yang portabel dan memiliki kegunaan yang tinggi pada setiap platform aplikasi.
􀂃 Chorus (Sun Microsystems). CHORUS merupakan keluarga dari sistem operasi berbasis mikro-kernel untuk mengatasi kebutuhan komputasi terdistribusi tingkat tinggi di dalam bidang telekomunikasi, internetworking, sistem tambahan, realtime, sistem UNIX, supercomputing, dan kegunaan yang tinggi. Multiserver CHORUS/MiX merupakan implementasi dari UNIX yang memberi kebebasan untuk secara dinamis mengintegrasikan bagian-bagian dari fungsi standar di UNIX dan juga service dan aplikasi-aplikasi di dalamnya.
􀂃 GLUnix (University of California, Berkeley). Sampai saat ini, workstation dengan modem tidak memberikan hasil yang baik untuk membuat eksekusi suatu sistem operasi terdistribusi dalam lingkungan yang shared dengan aplikasi yang berurutan. Hasil dari penelitian ini adalah untuk menempatkan resource untuk performa yang lebih baik baik untuk aplikasi pararel maupun yang seri/berurutan. Untuk merealisasikan hal ini, maka sistem operasi harus menjadwalkan pencabangan dari program pararel, mengidentifikasi idle resource di jaringan, mengijinkan migrasi proses untuk mendukung keseimbangan loading, dan menghasilkan tumpuan untuk antar proses komunikasi

Anggota Kelompok :

1. Raditya Pratam Putra
2. Nick Alexander
3. Muchamad jefri ardiansyah
4. Anissa Tri Larasati

Selasa, 19 Maret 2013

Protokol Sistem Terdistribusi Berbasis Internet

          Protokol diperlukan sebagai sebuah aturan baku agar komputer yang tergabung dalam jaringan dapat saling berkomunikasi. Setiap komputer dalam sebuah jaringan dapat berkomunikasi asal dapat menggunakan protokol yang sama.  Protokol yang banyak digunakan di internet adalah adalah protokol TCP/IP yang terdiri dari empat lapisan, yaitu lapisan application, transport, internet dan network accsess. Masing-masing lapisan memiliki fungsi yang berbeda-beda.

  1. lapisan application bertugas mengatur interaksi antara pengguna komputer dengan program aplikasi yang dipakai.
  2. lapisan transport berfungsi untuk memecah data dari lapisan application menjadi segmen-segmen dan membangun hubungan dari satu titik ke titik lainnya.
  3. Lapisan internet bertugas untuk mengirim packet atau datagram(sekelompok data) dari satu lokasi kelokasi lainnya.
  4. Lapisan network accsess bertanggung jawab untuk memindahkan data dari satu lokasi ke lokasi lainnya.

Alamat IP terdiri dari dua bagian, yaitu bagian alamat jaringan dan bagian alamat host. Yang disebut host adalah perangkat-perangkat yang ada di dalam sebuah jaringan seperti komputer (server dan client), router dan sebagainya. Perangakat-perangkat tersebut digabungkan menjadi satu jaringan. Setiap alamat IP memiliki alamat host sekaligus alamat jaringan. Alamat IP digunakan untuk pengalamatan komputer ataupun peralatan lain yang terhubung ke internet. Alamat IP memiliki format bilangan binner ukuran 32 bit (32 digit), namun untuk memudahkan pembacaan, alamat IP dibuat dalam membentuk empat angka desimal yang dipisahkan dengan titik. Masing-masing angka desimal tersebut disebut oktet karena terdiri dari delapan digit bilangan biner.

Saat ini banyak sekali peralatan yang terkoneksi ke internet sehingga alamat IP yang masih tersedia saat ini menjadi terbatas. Untuk itu, ada beberapa hal yang kemudian dilakukan untuk menghemat alamat IP, yaitu IP private dan subnetting.

A. Ip private.
Salah satu menghemat IP adalah dengan menggunakan IP private untuk host yang tidak secara langsung terkoneksi keinternet. Penggunaan IP private digabungkan dengan network address translation (NAT) dimana hanya satu buah alamat IP yang digunakan di internet di seluruh jaringan. Sebuah server NAT berfungsi sebagai jalan keluar masuk jaringan tersebut ke dan dari internet. Sering kali server ini di sebut server gateway. 

B. Subnetting.
Kadang-kadang dalam sebuah jaringan, tidak semua alokasi IP yang tersedia digunakan, hal ini sangat memboroskan alamat IP yang sifatnya terbatas. Untuk itu maka digunakan subnetting dimana ukuran besarnya jaringan tidak dibagi menurut kelas melainkan lebih bebas sesuai keperluan. IP ini sering juga disebut IP classless.

Saat ini, alamat IP yang banyak digunakan di internet adalah Ipv4 yang sebentar lagi hampir habis digunakan. Oleh karena itu, diciptakan Ipv6 yang memiliki daya tampung yang lebih besar. Ipv6 memiliki panjang 16 byte (128 bit/digit) dengan format penulisan dalam delapan bilangan heksa decimal yang masing-masing dipisahkan oleh titik dua.

Domain name Sistem (DNS) berfungsi menerjemahkan sebuah alamat yang berupa kata-kata alamat IP. Hal ini digunakan untuk memudahkan manusia untuk mengingat sebuah alamat di internet karena pada dasarnya manusia lebih mudah mengingat kata dari pada angka.

DNS bertugas menerjemahkan nama domain seperti www.gmail.com menjadi alamat IP yang di menegrti oleh komputer. Ketika DNS menerima sebuah permintaan, server DNS dapat melakukan salah satu dari empat hal berikut sesuai dengan kondisi yang ditemui:

  1. Menjawab permintaan tersebut karena server DNS sudah mengetahui alamat IP dari domain yang diminta.
  2. Menghubungkan server DNS lain untuk mencari alamat IP dari domain yang diminta.
  3. Mengirimkan pemberitahuan kepada pihak yang meminta bahwa ia tidak tahu domain yang dimaksud dan memberitahu alamat IP dari server DNS yang mengetahui domain tersebut.
  4. Mengembalikan pesan kesalahan bahwa domain yang dimaksud tidak valid.
aplikasi-aplikasi terdistribusi memiliki lebih dari satu komponen yang dapat saling berkomunikasi. Dalam sebuah aplikasi terdistribusi perlu adanya protokol atau standar supaya setiap aplikasi yang berlainan vendor atau pembuatan dapat saling berkomunikasi dengan baik.  Dalam membuat aplikasi terdistribusi, program yang dibuat perlu memiliki toleransi yang tinggi terhadap kesalahan.

Referensi :





Jumat, 08 Maret 2013

Permasalahan Sistem Terdistribusi

Sistem Terdistribusi adalah satu sistem dimana beberapa komputer pada jaringan saling berkomunikasi, berkoordinasi, dan bekerja sama dengan cara saling bertukar pesan (messages).
Karena didalam sistem terdistribusi mengandung beberapa komputer yang saling berkomunikasi satu sama lain. Maka pasti akan ada permasalahan yang terjadi pada sistem terdistribusi tersebut.
Masalah dengan sistem terdistribusi yang dapat dimunculkan antara lain berkaitan dengan :

  • Software - bagaimana merancang dan mengatur software dalam distribusi sistem.
  • Ketergantungan pada infrastruktur jaringan
  • Kemudahan akses ke data yang di share, memunculkan masalah keamanan.

Selain itu ada pula beberapa Kesulitan dan Ancaman dalam sistem terdistribusi  antara lain :
  • Model pemakaian variasi yang beragam terhadap karakteristik pemakaian. Contoh nya berapa banyak halaman yang di kunjungi.
  • Masalah Internal, yaitu masalah concurrency, masalah clock, mode kegagalan.
  • Lingkungan Sistem, yaitu sistem terdisribusi harus mengakomodasi heterogenitas hardware, sistem operasi dan jaringan. contoh nya berapa banyak versi SO?
  • Ancaman Eksternal yaitu serangan terhadap kesatuan data dan keamanannya.
Permasalahan dalam sistem terdistribusi :

  1. Keheterogenan komponen (heterogeneity)
  2. Keterbukaan (openness)
  3. Keamanan (security)
  4. scalability
  5. Penanganan kegagalan (failure handling)
  6. Concurrency of components 
  7. Transparansi

A. Keheterogenan
  • Suatu sistem terdistribusi dapat dibangun dari berbagai n/w, o/s, h/w & p/l yang berbeda.
  • IP dapat digunakan untuk mengatasi perbedaan jaringan
  • Middleware mengatasi perbedaan lainnya.

B. Keterbukaan
  • Mendukung extensibilitySetiap komponen memiliki antarmuka (interface), yang di publish ke komponen lain.
  • Perlu integrasi berbagai komponen yang dibuat oleh programmer atau vendor yang berbeda.

C. Keamanan 
  • Shared resources & transmisi informasi rahasia perlu dilengkapi dan enkripsi.

D. Scalability
  • Penambahan pemakai membutuhkan penambahan resource yang konstan.
  • Cegah bottleneck , jika perlu gunakan replikasi.

E. Penanganan Kegagalan 
  • Setiap proses (komputer atau jaringan) dapat mengalami kegagalan secara independen.
  • Komponen lain harus tetap berjalan baik dengan baik.

F. Concurrency
  • Setiap resource harus aman di lingkungan tersebut di atas.

G. Transparansi

  • Transparan : bagi pemakai, keberadaan beberapa komponen tampak sebagai satu sistem saja.
  • Local & remote resources dapat diakses dengan operasi yang sama.
  • Resource dapat diakses tanpa tahu di mana lokasinya