MAKALAH MAKALAH SISTEM TERDISTRUBUSI SISTEM TERDISTRUBUSI Disusun Oleh : Disusun Oleh : Rizki Apriliyandi Rizki Apriliyandi 10108823 10108823 IF-15 IF-15
1.
1. Konsep Dasar Sistem TerdistribusiKonsep Dasar Sistem Terdistribusi
Sistem terdistribusi berasal dari dua kata, Sistem dan Terdistribusi. Sistem Sistem terdistribusi berasal dari dua kata, Sistem dan Terdistribusi. Sistem merupakan sekumpulan elemen yang saling tergantung satu sama lain dan membentuk merupakan sekumpulan elemen yang saling tergantung satu sama lain dan membentuk suatu kesatuan untuk menyelesaikan suatu tujuan secara spesifik menjalankan suatu suatu kesatuan untuk menyelesaikan suatu tujuan secara spesifik menjalankan suatu fungsi. Terdistribusi berasal dari kata “sebar/distribusi” yang merupakan kebalikan dari fungsi. Terdistribusi berasal dari kata “sebar/distribusi” yang merupakan kebalikan dari kata “sentralisasi”, yang artinya penyebaran, sirkulasi, penyeraha
kata “sentralisasi”, yang artinya penyebaran, sirkulasi, penyerahan pembagian menjadin pembagian menjadi bagian-bagian yang lebih kecil.
bagian-bagian yang lebih kecil.
Jadi sistem terdistribusi merupakan sekumpulan komputer otonom Jadi sistem terdistribusi merupakan sekumpulan komputer otonom (elemen-elemen) yang saling berinteraksi secara sistematis dan teratur untuk mendistribusikan elemen) yang saling berinteraksi secara sistematis dan teratur untuk mendistribusikan data, informasi,
data, informasi, proses, objek proses, objek dan layanan dan layanan dari dan kepada dari dan kepada pengguna ypengguna yang terkaitang terkait didalamnya sehingga menghasilkan satu fasilitas
didalamnya sehingga menghasilkan satu fasilitas komputasi terpadu.komputasi terpadu.
Beberapa alasan diterapkan Sistem Terdistribusi antara lain: Beberapa alasan diterapkan Sistem Terdistribusi antara lain: a.
a. Berbagi pakai sumber daya, akses terhadap sumber daya jarak jauh sama denganBerbagi pakai sumber daya, akses terhadap sumber daya jarak jauh sama dengan sumber daya lokal.
sumber daya lokal.
Berbagi pakai printer dan file dari jarak jauh (remote site)Berbagi pakai printer dan file dari jarak jauh (remote site)
Pemrosesan informasi dalam sistem basis Pemrosesan informasi dalam sistem basis data tersebardata tersebar
Melakukan prose remote terhadap perangkat tertentu.Melakukan prose remote terhadap perangkat tertentu.
b.
b. Mengatasi bottleneck, untuk mempercepat proses Mengatasi bottleneck, untuk mempercepat proses komputasi.komputasi. c.
c. Reliability, melakukan proses penanganan dalam mendeteksi dan menanganiReliability, melakukan proses penanganan dalam mendeteksi dan menangani kesalahan pada lokasi tertentu, proses pengiriman, dan dan kegagalan re-integrasi kesalahan pada lokasi tertentu, proses pengiriman, dan dan kegagalan re-integrasi lokasi.
lokasi. d.
d. Komunikasi, dengan SisTer memungkinan mampu melakukan proses pengirimanKomunikasi, dengan SisTer memungkinan mampu melakukan proses pengiriman pesan jauh lebih baik.
Sistem Tersebar memiliki dua tipe : Sistem Tersebar memiliki dua tipe : a.
a. Network Operating SystemNetwork Operating System b.
b. Sistem Operasi TersebarSistem Operasi Tersebar
Tujuan Sistem terdistribusi adalah : Tujuan Sistem terdistribusi adalah :
-- Untuk memberikan askes bagi pengguna unruk dapat mengembangkan sumberUntuk memberikan askes bagi pengguna unruk dapat mengembangkan sumber daya sistem
daya sistem
-- Peningkatan kecepatan komputasiPeningkatan kecepatan komputasi
-- Meningkatkan ketersediaaMeningkatkan ketersediaan dan n dan reliabilitas data.reliabilitas data.
2.
2. Konsep Proses dan Komunikasi Sistem Terdistribusi pada LinuxKonsep Proses dan Komunikasi Sistem Terdistribusi pada Linux -- CORBACORBA (Common Object Request Broker Architecture)(Common Object Request Broker Architecture)
Dalam konteks sistem komputer terdistribusi, meskipun Dalam konteks sistem komputer terdistribusi, meskipun komponen-komponen aplikasi dibuat dengan bahasa pemrograman yang berbeda, komponen aplikasi dibuat dengan bahasa pemrograman yang berbeda, menggunakan development tools yang berbeda, dan beroperasi di lingkungan menggunakan development tools yang berbeda, dan beroperasi di lingkungan yang beragam, mereka tetap harus
yang beragam, mereka tetap harus dapat saling bekerjasama.dapat saling bekerjasama.
CORBA adalah sebuah arsitektur software yang berbasis pada teknologi CORBA adalah sebuah arsitektur software yang berbasis pada teknologi berorientasi obyek atau
berorientasi obyek atau Object Oriented Object Oriented (OO) dengan paradigma(OO) dengan paradigma client-server client-server .. Dalam terminologi OO, sebuah obyek berkomunikasi dengan obyek lain dengan Dalam terminologi OO, sebuah obyek berkomunikasi dengan obyek lain dengan cara pengiriman pesan (message passing). Konteks komunikasi ini kemudian cara pengiriman pesan (message passing). Konteks komunikasi ini kemudian dipetakan ke dalam model
dipetakan ke dalam model client-server client-server : satu obyek berperan sebagai: satu obyek berperan sebagai client client (si(si pengirim pesan) dan yang lain bertindak sebagai
pengirim pesan) dan yang lain bertindak sebagai server server (yang menerima pesan(yang menerima pesan dan memroses pesan yang bersangkutan). Sebagai contoh, dalam il
dan memroses pesan yang bersangkutan). Sebagai contoh, dalam il ustrasi di awalustrasi di awal tulisan ini, jika si pasien memerlukan obat tertentu, maka obyek aplikasi di tulisan ini, jika si pasien memerlukan obat tertentu, maka obyek aplikasi di tempat praktek dokter berlaku sebagai
tempat praktek dokter berlaku sebagai client client dan mengirim pesan ke obyek dan mengirim pesan ke obyek aplikasi di apotik guna mengetahui apakah obat yang diperlukan tersedia di
aplikasi di apotik guna mengetahui apakah obat yang diperlukan tersedia di sana.sana. Keunikan dari CORBA adalah kemampuannya dalam menangani Keunikan dari CORBA adalah kemampuannya dalam menangani heterogenitas antara
heterogenitas antara client client dandan server server (dalam terminologi CORBA,(dalam terminologi CORBA, obyek
obyek server server dinamakandinamakan implementasi implementasi obyekobyek (object (object implementation)implementation).. Keduanya dapat saja diimplementasikan dalam hardware, sistem operasi, bahasa Keduanya dapat saja diimplementasikan dalam hardware, sistem operasi, bahasa pemrograman, dan di lokasi yang berbeda, tetapi t
Kuncinya ada pada sebuah lapisan software yang disebut dengan
Kuncinya ada pada sebuah lapisan software yang disebut dengan ORBORB(Object (Object Request B
Request Broker)roker)..
Sistem terdistribusi merupakan sesuatu yang amat kompleks, apalagi jika Sistem terdistribusi merupakan sesuatu yang amat kompleks, apalagi jika ruang lingkupnya sangat luas (pada level
ruang lingkupnya sangat luas (pada level enterpriseenterprise misalnya). CORBAmisalnya). CORBA (Common Object Request Broker Architecture)
(Common Object Request Broker Architecture) membantu menyederhanakanmembantu menyederhanakan persoalan dengan menyembunyikan berbagai detail pekerjaan pada level rendah persoalan dengan menyembunyikan berbagai detail pekerjaan pada level rendah dan heterogenitas sistem dan
dan heterogenitas sistem dan platform platform. Lebih lanjut, arsitektur OMA. Lebih lanjut, arsitektur OMA menyediakan sebuah
menyediakan sebuah framework framework pengembangan sistem terdistribusi yangpengembangan sistem terdistribusi yang konsisten, sehingga heterogenitas tetap dapat dikelola dengan baik. Dengan konsisten, sehingga heterogenitas tetap dapat dikelola dengan baik. Dengan semakin banyaknya pemain teknologi informatika yang terjun ke dunia CORBA, semakin banyaknya pemain teknologi informatika yang terjun ke dunia CORBA, agaknya contoh ilustrasi di awal tulisan ini dalam waktu yang relatif tidak terlalu agaknya contoh ilustrasi di awal tulisan ini dalam waktu yang relatif tidak terlalu lama akan dapat direalisasikan.
lama akan dapat direalisasikan. -- CORBA di LinuxCORBA di Linux
Dewasa ini cukup banyak perangkat pengembangan berbasis CORBA yang Dewasa ini cukup banyak perangkat pengembangan berbasis CORBA yang dapat dijalankan di sistem
dapat dijalankan di sistem operasi Linux. Hampir semua paket hoperasi Linux. Hampir semua paket hanya mendukunganya mendukung satu pemetaan bahasa saja, kecuali paket
satu pemetaan bahasa saja, kecuali paket Inter-Language UnificationInter-Language Unification (ILU) dari(ILU) dari Xerox PARC yang mendukung beberapa bahasa sekaligus (ANSI C, C++, Xerox PARC yang mendukung beberapa bahasa sekaligus (ANSI C, C++, Python, Java, dsb). Tapi konsep ILU sendiri agak berbeda dengan CORBA, Python, Java, dsb). Tapi konsep ILU sendiri agak berbeda dengan CORBA, karena fokusnya adalah pada integrasi pada level
karena fokusnya adalah pada integrasi pada level bahasa pemrograman. Meskipunbahasa pemrograman. Meskipun demikian, pendekatannya mirip, bahkan interface pada ILU dapat pula demikian, pendekatannya mirip, bahkan interface pada ILU dapat pula dispesifikasikan dengan menggunakan IDL.
dispesifikasikan dengan menggunakan IDL.
Beberapa contoh perangkat pengembangan berbasis CORBA yang berjalan Beberapa contoh perangkat pengembangan berbasis CORBA yang berjalan di Linux antara lain:
di Linux antara lain: MICOMICO dari mico.org (bahasa yang didukung:dari mico.org (bahasa yang didukung: C++),
C++), FnorbFnorb dari DSTC, Australia (Python),dari DSTC, Australia (Python), JacORBJacORB oleh Gerard Brose darioleh Gerard Brose dari Freie Universitat, Berlin (Java),
Freie Universitat, Berlin (Java), OmniORB2OmniORB2 dari AT&T (C++), serta tak dari AT&T (C++), serta tak ketinggalan pula
ketinggalan pula ORBitORBit keluaran laboratorium riset RedHat (mendukung bahasakeluaran laboratorium riset RedHat (mendukung bahasa C) yang dipakai dalam proyek Gnome.
C) yang dipakai dalam proyek Gnome.
TAO
TAO (The ACE ORB) dari Washington University adalah implementasi(The ACE ORB) dari Washington University adalah implementasi ORB yang dikembangkan dengan pendekatan yang berbeda. TAO tidak ORB yang dikembangkan dengan pendekatan yang berbeda. TAO tidak semata-mata merupakan sistem ORB sederhana, tetapi ia dirancang untuk bekerja pada mata merupakan sistem ORB sederhana, tetapi ia dirancang untuk bekerja pada lingkungan
lingkungan real-timereal-time dengan dengan batasan-batasanbatasan-batasan (constraints)(constraints) yang lebih ketatyang lebih ketat dibandingkan dengan sistem terdistribusi biasa. Konsekuensinya TAO lebih dibandingkan dengan sistem terdistribusi biasa. Konsekuensinya TAO lebih
memfokuskan diri pada dukungan terhadap aspek
memfokuskan diri pada dukungan terhadap aspek real-timereal-time dan koneksidan koneksi berkecepatan tinggi, yang diimplementasikan ke dalam arsitektur inti ORB dan berkecepatan tinggi, yang diimplementasikan ke dalam arsitektur inti ORB dan modul-modul
modul-modul pendukungnypendukungnya.a.
Jika anda memiliki lingkungan komputasi terdistribusi di rumah, di kantor, Jika anda memiliki lingkungan komputasi terdistribusi di rumah, di kantor, atau di sekolah, anda bisa mencoba melakukan pemrograman sistem terdistribusi atau di sekolah, anda bisa mencoba melakukan pemrograman sistem terdistribusi berbasis CORBA. Yang perlu anda lakukan adalah
men-berbasis CORBA. Yang perlu anda lakukan adalah men- download download salah satusalah satu perangkat pengembangan di atas, memasangnya di sistem anda, dan mengikuti perangkat pengembangan di atas, memasangnya di sistem anda, dan mengikuti petunjuk/ tutorial pemrograman yang diberikan. Jika petunjuk yang ada belum petunjuk/ tutorial pemrograman yang diberikan. Jika petunjuk yang ada belum cukup memadai, anda bisa mencari tutorial pemrograman CORBA melalui cukup memadai, anda bisa mencari tutorial pemrograman CORBA melalui Internet.
Internet.
-- Proses pada LinuxProses pada Linux
Locking yang paling umum digunakan dalam Linux adalah spin lock. Spin Locking yang paling umum digunakan dalam Linux adalah spin lock. Spin lock adalah lock yang hanya dapat dilakukan oleh satu thread. Ketika sebuah lock adalah lock yang hanya dapat dilakukan oleh satu thread. Ketika sebuah thread yang akan dijalankan meminta spin lock yang sedang digunakan, maka thread yang akan dijalankan meminta spin lock yang sedang digunakan, maka thread ini akan loops menunggu sampai spin lock tersebut selesai digunakan oleh thread ini akan loops menunggu sampai spin lock tersebut selesai digunakan oleh thread yang seda
thread yang sedang berjalan. ng berjalan. Semafor dalam Linux adalaSemafor dalam Linux adalah sleeping locks. Ketikah sleeping locks. Ketika sebuah thread meminta semafor yang sedang digunakan, maka semafor akan sebuah thread meminta semafor yang sedang digunakan, maka semafor akan meletakkan thread tersebut dalam wait queue dan menyebabkan thread tersebut meletakkan thread tersebut dalam wait queue dan menyebabkan thread tersebut masuk status sleep.
masuk status sleep.
Symmetrical multiprocessing (SMP) mendukung adanya pengeksekusian Symmetrical multiprocessing (SMP) mendukung adanya pengeksekusian secara paralel dua atau lebih thread oleh dua atau lebih processor. Kernel Linux secara paralel dua atau lebih thread oleh dua atau lebih processor. Kernel Linux 2.0 adalah kernel Linux pertama yang memperkenalkan konsep SMP.