Monday, September 19, 2011

RPC vs RMI

Categories: ,

Sebenernya iseng aja sih posting mengenai materi kuliah Sistem Operasi (SO), itung2 sambil belajar buat persiapan UTS… hehehe

  • Context Switch
  • Context Switch bertugas pada saat CPU beralih ke proses lain. Jadi Sistem harus menyimpan state dari proses lama dan mengambil state dari proses yang baru. Ketika context switch terjadi kernel menyimpan data dari proses lama kedalam PCB nya dan mengambil data dari proses baru yang telah dijadwalkan untuk running.

  • RPC (Remote Procedure Call)
  • RPC adalah suatu protokol yang menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode pada sistem yang jauh (remote system). Definisi lain dari RPC, adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah procedure yang berada di komputer lain. Nah, untuk melakukan hal ini sebuah server harus menyediakan layanan remote procedure. Cara kerja dari RPC ini adalah server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me-request kepada sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client.

    Berikut ini adalah diagram yang akan menjelaskan secara rinci mengenai proses yang terjadi pada klien dan server dalam eksekusi prosedur RPC:

    so

    Tahapan dari gambar diatas:

    1. Klien memanggil prosedur stub lokal. Prosedur Stub akan memberikan parameter dalam suatu paket yang akan dikirim ke jaringan. Proses ini disebut sebagai marshalling.
    2. Fungsi Network pada O/S (Operating system – Sistem Operasi) akan dipanggil oleh stub untuk mengirim suatu message.
    3. Kemudian Kernel ini akan mengirim message ke sistem remote. Kondisi ini dapat berupa connectionless atau connection-oriented.
    4. Stub pada sisi server akan melakukan proses unmarshals pada paket yang dikirim pada network.
    5. Stub pada server kemudian mengeksekusi prosedur panggilan lokal.
    6. Jika eksekusi prosedur ini telah selesai, maka eksekusi diberikan kembali ke stub pada server.
    7. Stub server akan melakukan proses marshals lagi dan mengirimkan message nilai balikan ( hasilnya ) kembali ke jaringan.
    8. Message ini akan dikirim kembali ke klien.
    9. Stub klien akan membaca message ini dengan menggunakan fungsi pada jaringan.
    10. Proses unmarshalled kemudian dilakukan pada message ini dan nilai balikan aka diambil untuk kemudian diproses pada proses lokal.

    Proses diatas akan dilakukan berulang-ulang ( rekursif ) dalam pengeksekusian RPC dalam suatu remote sistem.

  • RMI (Remote Method Invoaction)
  • RMI adalah sebuah teknik pemanggilan method remote yang secara umun lebih baik daripada RPC. Jika RPC masih menggunakan cara primitif dalam pemrograman yaitu paradigma prosedural programming, RMI menggunakan paradigma pemrograman berorientasi objek (Object Oriented Programming). RMI memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method. Dengan adanya program Java yang memanggil method pada remote obyek, RMI membuat pengguna dapat mengembangkan aplikasi Java yang terdistribusi pada jaringan. Cara kerjanya adalah proses memanggil method dari objek yang terletak pada suatu host/computer remote. Penyedia layanan mendaftarkan dirinya dengan server direktori pada jaringan. Proses yang menginginkan suatu layanan mengontak server direktori saat runtime, jika layanan tersedia, maka referensi ke layanan akan diberikan. Dengan menggunakan referensi ini, proses dapat berinteraksi dengan layanan tsb. Paradigma ini ekstensi penting dari paradigma RPC. Perbedaannya adalah objek yang memberikan layanan didaftarkan (diregister) ke suatu layanan direktori global, sehingga memungkinkan untuk ditemukan dan diakses oleh aplikasi yang meminta layanan tersebut.

Spread The Love, Share Our Article

Related Posts

No Response to "RPC vs RMI"

Post a Comment