Nama : I Kt Dedi Kusuma Rena Nim : 0805021077 Kelas : VC Tugas

advertisement
Nama : I Kt Dedi Kusuma Rena
Nim
: 0805021077
Kelas : VC
Tugas Pemrograman Tersebar
1. Contoh Dari Penerapan Hardware Terdistribusi
Sistem operasi terdistribusi pada umumnya memerlukan hardware secara
spesifik. Komponen utama dalam sistem ini adalah : workstation, LAN, gateway, dan
processor pool. 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.
Prosesor pool mengambil alih semua proses yang lain. Tiap unit ini biasanya
terdiri dari prose 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 :
File server: 16 MB RAM, 300MB HD, Ethernet card.
Workstation: 8 MB RAM, monitor, keyboard, mouse
Pool processor: 4 MB RAM, 3.5” floppy drive
2. Contoh Dari Penerapan Program/Sistem Operasi Terdistribusi
Sistem operasi terdistribusi adalah salah satu implementasi dari sistem
terdistribusi, di mana sekumpulan komputer dan prosesor yang heterogen terhubung
dalam satu 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:
–
file system
–
name space
–
Waktu pengolahan
1
–
Keamanan
–
Akses ke seluruh resources, seperti prosesor, memori, penyimpanan sekunder, dan
perangakat keras.
Sistem operasi terdistribusi bertindak sebagai sebuah infrastruktur/rangka dasar
untuk network-transparent resource management. Infrastruktur mengatur low-level
resources (seperti Processor, memory, network interface dan peripheral device yang
lain) untuk menyediakan sebuah platform untuk pembentukan/penyusunan higherlevel resources(seperti Spreadsheet, electronic mail messages, windows). 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:
1. Amoeba (Vrije Universiteit).
Amoeba adalah sistem berbasis mikro-kernel yang tangguh yang menjadikan
banyak workstation personal menjadi satu sistem terdistribusi secara transparan.
Amoeba adalah tujuan umum dari sistem operasi terdistribusi. Ini dirancang untuk
mengambil koleksi mesin-mesin dan membuat mereka bertindak bersama sebagai satu
sistem terpadu. Di umum, pengguna tidak mengetahui jumlah dan lokasi dari prosesor
yang menjalankan perintah, maupun jumlah dan lokasi dari file server yang
menyimpan file. Untuk pengguna biasa, sebuah sistem Amoeba terlihat seperti satu
kuno time-sharing sistem.
Amoeba adalah sebuah proyek penelitian yang sedang berlangsung. Itu harus
dianggap sebagai platform untuk melakukan penelitian dan pengembangan di
terdistribusi dan sistem paralel, bahasa, protokol dan aplikasi. Meskipun memberikan
beberapa UNIX emulasi, dan pasti UNIX-seperti rasa (termasuk lebih dari 100 UNIXseperti utilitas), itu adalah TIDAK plug-compatible pengganti UNIX. Harus menarik
bagi pendidik dan peneliti yang ingin kode sumber sistem operasi terdistribusi untuk
memeriksa dan bermain-main dengan, serta untuk mereka yang membutuhkan basis
untuk menjalankan aplikasi terdistribusi dan paralel.
Amoeba ini ditujukan untuk komputasi terdistribusi baik (beberapa pengguna
independen bekerja pada proyek-proyek yang berbeda) dan komputasi paralel
(misalnya, satu pengguna menggunakan CPU 50 untuk bermain catur secara paralel).
Amoeba menyediakan mekanisme yang diperlukan untuk melakukan keduanya
2
aplikasi terdistribusi dan paralel, tetapi kebijakan sepenuhnya ditentukan oleh userlevel program.

Tujuan Desain
Tujuan desain dasar Amoeba adalah:
-
Distribution

Connecting bersama banyak mesin
-
Parallelism

Allowing
pekerjaan
individu
untuk
menggunakan beberapa CPU dengan mudah
-
Transparency 
Having koleksi komputer bertindak seperti
sistem tunggal
-
Performance

Achieving semua di atas dalam cara yang efisien
Amoeba adalah sebuah sistem terdistribusi, di mana beberapa mesin dapat
dihubungkan bersama. Mesin-mesin ini tidak perlu semua akan dari jenis yang sama.
Mesin dapat ditularkan sekitar bangunan pada sebuah LAN. Amoeba menggunakan
performa tinggi protokol jaringan FLIP untuk LAN komunikasi. Jika sebuah mesin
Amoeba memiliki lebih dari satu antarmuka jaringan itu akan secara otomatis
bertindak sebagai router FLIP antara berbagai jaringan dan dengan demikian
menghubungkan berbagai LAN bersama.
Amoeba juga merupakan sistem paralel. Ini berarti bahwa satu pekerjaan atau
program dapat menggunakan beberapa prosesor untuk mendapatkan kecepatan.
Sebagai contoh, sebuah cabang dan boundproblem seperti Traveling Salesman
Problem dapat menggunakan puluhan atau bahkan ratusan CPU, jika tersedia, semua
bekerja sama untuk memecahkan masalah lebih cepat.
Large back end
Multiprocessors, misalnya, bisa dimanfaatkan dengan cara ini sebagai mesin
menghitung besar.
Tujuan utama lainnya adalah transparansi. Pengguna tidak perlu tahu nomor
atau lokasi dari CPU, maupun tempat di mana file tersebut disimpan. Demikian pula,
masalah-masalah seperti file replikasi ditangani sebagian besar secara otomatis, tanpa
campur tangan pengguna bythe. Dimasukkan ke dalam istilah yang berbeda, seorang
pengguna tidak login ke mesin tertentu, tetapi ke dalam sistem secara keseluruhan.
Tidak ada konsep mesin rumah. Setelah log in, pengguna tidak harus memberikan
perintah remote login khusus untuk mengambil keuntungan dari beberapa prosesor
atau melakukan operasi mount remote khusus untuk mengakses file jauh. Untuk
pengguna, seluruh sistem seperti satu sistem operasi time sharing konvensional.
3
Kinerja dan kehandalan selalu isu kunci dalam sistem operasi, jadi upaya
substansial telah pergi ke dalam berurusan dengan mereka. Secara khusus, dasar
mekanisme komunikasi telah dioptimalkan untuk memungkinkan pesan yang akan
dikirim dan balasan diterima dengan penundaan yang minimum, dan untuk
memungkinkan blok besar data yang akan dikirimkan dari mesin mesin bandwidth
tinggi. Blok bangunan ini berfungsi sebagai dasar untuk pelaksanaan kinerja tinggi
subsistem dan aplikasi onAmoeba.

Sistem Arsitektur
Sejak komputasi terdistribusi dan paralel berbeda dari komputer pribadi, itu
pertama bermanfaat menggambarkan jenis konfigurasi hardware yang Amoeba adalah
dirancang. Amoeba tipikal sistem akan terdiri dari tiga kelas fungsional mesin.
Pertama, setiap pengguna memiliki workstation untuk menjalankan antarmuka
pengguna, sistem jendela X. Workstation ini bisa menjadi teknik khas workstation,
atau terminal X khusus. Hal ini sepenuhnya didedikasikan untuk menjalankan
antarmuka pengguna, dan tidak perlu melakukan lain komputasi.
Kedua, terdapat sebuah kolam prosesor yang secara dinamis dialokasikan untuk
pengguna sebagai diperlukan. Prosesor ini dapat menjadi bagian dari sebuah
multiprosesor atau multicomputer, menjadi koleksi komputer papan tunggal atau
menjadi kelompok dialokasikan untuk workstation tujuan. Biasanya, setiap kolam
prosesor memiliki beberapa megabyte memori swasta, yaitu, renang prosesor tidak
perlu memiliki memori bersama (tetapi tidak dilarang). Komunikasi dilakukan dengan
mengirimkan paket-paket di atas LAN. Semua berat komputasi prosesor yang terjadi
di kolam.
Ketiga, ada server khusus, seperti direktori file server dan server yang
dijalankan sepanjang waktu. Mereka dapat berjalan di kolam prosesor prosesor, atau
pada hardware khusus, seperti yang diinginkan.
Semua komponen ini harus terhubung dengan LAN cepat. Saat ini hanya
Ethernet didukung, tapi port LAN lain yang mungkin.

Konsep Dasar dalam Amoeba
Bagian berikut memberikan pengenalan Amoeba dan sebagian karakteristiknya.
5.1.
Mikrokernel + Server Arsitektur
Amoeba ini dirancang dengan apa yang saat ini disebut sebagai arsitektur
mikrokernel. Ini berarti bahwa setiap mesin dalam sebuah sistem berjalan Amoeba
kecil, identik sepotong software yang disebut kernel. Kernel mendukung proses dasar,
4
komunikasi, dan objek primitif. Mentah ini juga menangani perangkat I / O dan
memori manajemen. Segalanya lain yang dibangun ontop fundamental ini, biasanya
byuser-ruang server proses.
Dengan demikian sistem terstruktur sebagai kumpulan proses independen.
Beberapa ini adalah proses pengguna, menjalankan program aplikasi. Proses tersebut
disebut klien. Proses server lainnya, seperti file Bullet server atau direktori server.
Fungsi dasar dari mikrokernel adalah untuk menyediakan sebuah lingkungan di mana
klien dan server dapat berjalan dan berkomunikasi dengan satu sama lain.
Desain modular ini membuat lebih mudah untuk memahami, menjaga, dan
memodifikasi sistem. Sebagai contoh, karena file server adalah sebuah server
terisolasi, bukan menjadi seorang bagian integral dari sistem operasi, adalah mungkin
bagi pengguna untuk mengimplementasikan file baru server untuk tujuan-tujuan
khusus (misalnya NFS, database). Dalam sistem konvensional, seperti UNIX,
menambahkan tambahan yang ditetapkan pengguna sistem file infeasible.
5.2. Threads
Dalam banyak sistem operasi tradisional, suatu proses terdiri dari sebuah ruang
alamat dan benang tunggal kontrol. Dalam Amoeba, masing-masing proses memiliki
ruang alamat sendiri, tetapi mungkin berisi beberapa kontrol benang (benang). Setiap
thread memiliki programnya sendiri counter dan stack sendiri, tetapi kode saham dan
data global dengan semua benang lainnya dalam proses.
Setelah beberapa benang di dalam setiap proses yang nyaman untuk berbagai
tujuan dan sesuai dengan model komputasi terdistribusi dan paralel dengan sangat
baik. Sebagai contoh, sebuah file server mungkin memiliki beberapa benang, masingmasing thread awalnya menunggu permintaan masuk Ketika permintaan datang,
diterima oleh beberapa thread, yang kemudian mulai memproses itu. Jika itu thread
blok kemudian menunggu untuk disk I / O, benang lain dapat melanjutkan. Meskipun
mereka kontrol independen Namun, semua benang dapat mengakses blok Common
cache, menggunakan Semaphore untuk menyediakan sinkronisasi antar thread. Desain
ini membuat pemrograman server dan aplikasi paralel jauh lebih mudah.
Tidak hanya proses pengguna terstruktur sebagai koleksi benang berkomunikasi
dengan RPC, tapi kernel juga. Secara khusus, benang di kernel menyediakan akses ke
jasa manajemen memori.
5
5.3. Remote Procedure Call
Threads sering perlu untuk berkomunikasi dengan satu sama lain. Threads
dalam satu proses hanya dapat berkomunikasi melalui memori bersama, tetapi benang
yang terletak di berbagai proses memerlukan mekanisme yang berbeda. Amoeba dasar
mekanisme komunikasi prosedur remote panggilan (RPC). Komunikasi terdiri dari
benang klien mengirimkan pesan ke server benang, kemudian menghalangi sampai
server mengirimkan kembali benang kembali pesan, dan pada saat klien diblokir.
Untuk melindungi pengguna dari naif rincian ini, prosedur perpustakaan khusus,
yang disebut Rintisan bertopik, disediakan untuk mengakses layanan terpencil.
Amoeba memiliki bahasa khusus yang disebut Amoeba Interface Language (AIL)
untuk secara otomatis menghasilkan tulisan rintisan ini prosedur. Mereka marshal
parameter dan menyembunyikan rincian komunikasi dari para pengguna.
5.4. Komunikasi kelompok
Untuk banyak aplikasi, satu-ke-banyak komunikasi dibutuhkan, di mana satu
pengirim ingin mengirim pesan ke beberapa penerima. Sebagai contoh, sekelompok
kerjasama server mungkin perlu melakukan ini ketika struktur data diperbarui. Juga
sering dibutuhkan untuk pemrograman paralel. Amoeba menyediakan fasilitas dasar
untuk dapat dipercaya, benar-benar-kelompok memerintahkan komunikasi, di mana
semua penerima dijamin untuk kelompok mendapatkan semua pesan dalam urutan
yang sama persis. Mekanisme ini menyederhanakan banyak terdistribusi dan
pemrograman paralel masalah.
5.5. Objek dan Kemampuan
Ada dua konsep dasar di Amoeba : objek dan kemampuan. Semua layanan dan
komunikasi yang dibangun di sekitar mereka.
Sebuah objek konseptual tipe data abstrak. Itu adalah, sebuah objek adalah
sebuah struktur data di mana operasi tertentu didefinisikan. Sebagai contoh, sebuah
direktori adalah obyek yang operasi tertentu dapat diterapkan, seperti nama masukkan
dan melihat upname.
Amoeba terutama perangkat lunak mendukung objek, tetapi objek hardware
juga ada. Tiap objek ini dikelola oleh proses server yang dapat dikirim RPCs. Setiap
RPC menentukan objek yang akan digunakan, operasi harus dilakukan, dan setiap
parameter yang akan berlalu.
Ketika sebuah objek dibuat, server melakukan penciptaan membangun sebuah
128-bit disebut kemampuan dan mengembalikannya ke pemanggil. Operasi
6
berikutnya pada objek meminta user untuk mengirimkan kemampuan server untuk
kedua menentukan objek dan membuktikan pengguna memiliki izin untuk
memanipulasi objek. Kemampuan terlindungi cryptographically untuk mencegah
gangguan. Semua benda di seluruh sistem diberi nama dan dilindungi menggunakan
satu ini sederhana, transparan skema.
5.6. Memory Management
Amoeba model memori yang sederhana dan efisien. Sebuah ruang alamat proses
terdiri dari satu atau lebih segmen pengguna dipetakan ke alamat virtual yang
ditentukan. Ketika proses pelaksanaan, semua segmen dalam memori. Ada swapping
atau paging di sekarang, dengan demikian Amoeba hanya dapat menjalankan program
yang cocok di memori fisik. Keuntungan utama dari skema ini adalah kesederhanaan
dan kinerja tinggi. Kekurangan utama adalah bahwa tidak mungkin untuk
menjalankan program lebih besar daripada memori fisik.
5.7. Input / Output
I / O juga ditangani oleh kernel benang. Untuk membaca mentah blok dari disk,
misalnya, proses pengguna memiliki otorisasi yang tepat, apakah RPCs dengan disk I
/ O thread di kernel. Pemanggil tidak menyadari bahwa server benar-benar sebuah
kernel thread, sejak antarmuka pengguna kernel benang dan benang adalah identik.
Secara umum, hanya file server dan sistem serupa seperti proses berkomunikasi
dengan kernel I / O benang.
2. 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.
3. 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
7
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.
4. 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.
3.
Contoh Dari Penerapan Procedure Terdistribusi
Adapun Beberapa contoh dari Procedure terdistribusi ini diantaranya :
1. RMI
Remote Method Invocation (RMI) merupakan cara programer java untuk
membuat program aplikasi java / java yag terdistribusi. Dimana RMI pada bahasa
pemograman Java memungkinkan objek Java yang satu untuk berkomunikasi dengan
objek Java lainnya menggunakan pemanggilan method seperti pada objek yang sama.
Walaupun objek yang satu berada pada jarak yang cukup jauh.
Dengan adanya teknologi RMI ini maka paraprogrammer dapat menghindari
protokol komunikasi yang kompleks antara aplikasi yang dikembangkan, sebagai
gantinya dapat digunakan protokol yang berbasis method. Secara garis besar RMI ini
adalah metode komunikasi antar objek Java hanya dengan menggunakan pemanggilan
method seperti memanggil method pada kelas yang sama. Untuk menguji teknologi
RMI ini, maka dirancang dan dibuatlah sebuah aplikasi permainan kartu
Client/Server. Dengan adanya aplikasi ini diharapkan RMI dapat digunakan untuk
aplikasi Client/Server lainnya.
 Arsitektur RMI
Sesuai dengan penjelasan di atas, untuk membuat sebuah kelas yang methodmethod-nya dapat diakses secara remote, pertama-tama kita harus membuat sebuah
interface, di mana interface-interface ini harus mendeklarasikan method-method
tersebut. Sementara untuk pengiriman dan penerimaan data sudah pun ditangani
8
secara otomatis oleh objek stream. Kelas ini nantinya harus mengimplementasikan
interface tersebut. Stub dan skeleton adalah objek yang berfungsi untuk melakukan
proses pengiriman dan penerimaan data dari suatu aplikasi RMI. Skeleton adalah
sebuah kelas yang merupakan pasangan dari kelas stub yang berada pada mesin yang
sama dengan objek remote. Kelas ini juga yang akan menerima koneksi dari kelas
stub dan menerjemahkannya ke dalam pemanggilan method pada objek remote. Untuk
lebih jelasnya mengenai proses ini ditunjukkan oleh Gambar 2.
Gambar 2. Arsitektur RMI
Untuk memanggil objek remote, pertama-tama client harus mencari objek
tersebut dengan layangan naming. Layanan ini akan menginformasikan objek remote
bahwa ada sebuah client yang melakukan koneksi.
 Metode Dalam Pembuatan Aplikasi RMI
Ketika menggunakan RMI untuk membuat sebuah aplikasi, ada beberapa
langkah yang harus diikuti. Adapun langkah-langkah tersebut seperti berikut:
1. Desain dan implementasi komponen-komponenaplikasi dalam hal ini adalah
Interface remote, objek Remote dan Client;
2. Langkah selanjutnya adalah proses kompilasi semua kode program dan
menghasilkan stubs serta skeleton.
3. Membuat kelas-kelas yang berhubungan dengan jaringan dapat diakses oleh
client.
4. Menjalankan aplikasi.
2. RPC
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 ).Protokol
RPC digunakan untuk membangun aplikasi klien-server yang terdistribusi. Protokol
9
ini didasarkan pada memperluas konsep konvensional dari suatu prosedur dimana
nantinya prosedur ini dapat dipanggil, dimana pemanggil tidak harus mempunyai
alamat yang sama dengan yang lokasi dimana prosedur ini dipanggil. Dimana proses
ini dapat dilakukan pada sistem yang sama atau system yang berbeda namun
terhubung pada jaringan. Namun terdapat kelemahan didalam bagian dari RPC yang
berhubungan dengan pertukaran message melalui TCP/IP. Kegagalan terjadi
dikarenakan karena penanganan kesalahan pada message yang berisi informasi yang
salah. Hasil dari kelemahan ini berakibat pada bagian antar-muka RPC, yaitu bagian
yang mendengarkan port RPC yang di-enable. Bagian antar-muka ini menangani
objek aktivasi dari DCOM ( Distributed Component Object Model ) yang dikirimkan
oleh mesin klien ke server. Kelemahan ini umumnya dimanfaatkan oleh seorang
penyerang untuk dapat menjalankan suatu kode dengan kewenangan Administrator
sistem lokal pada sistem yang terinfeksi. Dengan demikian, maka sistem yang
diserang ini dapat diubah-ubah termasuk pengkopian dan penghilangan data sampai
pembuatan user baru dengan hak tidak terbatas.
 Kelebihan RPC
Relatif mudah digunakan :
Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local
procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak
perlu memikirkan low level details seperti soket, marshalling & unmarshalling.
Robust (Sempurna):
Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical
application yg memerlukan scalability, fault tolerance, & reliability.
 Kekurangan RPC
Tidak fleksibel terhadap perubahan :
- Static relationship between client & server at run-time.
- Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman
dibandingkan OOP.
Kurangnya location transparency :
- Misalnya premrogram hanya boleh melakukan pass by value, bukan pass by
reference.
- Komunikasi hanya antara 1 klien & 1 server (one-to-one at a time).
- Komunikasi antara 1 klien & beberapa server memerlukan beberapa koneksi yg
10
terpisah.
Prinsip RPC dalam program klien server
 Fitur dalam RPC
RPC memiliki fitur - fitur sebagai berikut : batching calls, broadcasting calls,
callback procedures dan using the select subroutine.
1. Batching Calls
Fitur Batching calls mengijinkan klien untuk mengirim message calls ke server
dalam jumlah besar secara sequence ( berurutan ). Batching menggunakan protokol
streaming byte seperti TCP / IP sebagai mediumnya. Pada saat melakukan batching,
klien tidak menunggu server untuk memberikan reply terhadap tiap messages yang
dikirim, begitu pula dengan server yang tidak pernah mengirimkan messages reply.
Fitur inilah yang banyak digunakan klien,karena arsitektur RPC didesain agar pada
tiap call message yang dikirimkan oleh klien harus ada proses menunggu balasan dari
server. Oleh karena itu maka pihak klien harus dapat mengatasi error yang
kemungkinan terjadi karena pihak klien tidak akan menerima peringatan apabila
terjadi error pada message yang dikirim.
2. Broadcasting Calls
Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data ke jaringan
dan menunggu balasan dari network. FItur ini menggunakan protokol yang
berbasiskan paket data seperti UDP/IP sebagai mediumnya. Broadcast RPC
membutuhkan layanan port mapper RPC untuk mengimplementasikan fungsinya.
3. Callback Procedures
Fitur Callback Procedures mengijinkan server untuk bertindak sebagai klien dan
melakukan RPC callback ke proses yang dijalankan oleh klien.
11
4. Menggunakan select Subrutin
Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam antrian
untuk melihat apakah mereka siap untuk dibaca (diterima) atau ditulis (dikirim), atau
mereka dalam kondisi ditahan sementara. Prosedur ini mengijinkan server untuk
menginterupsi suatu aktivitas, memeriksa datanya, dan kemudian melanjutkan proses
aktivitas tersebut.
12
Download