BAB I
PENDAHULUAN
1.1.
Latar Belakang
Perkembangan pesat teknologi informasi menyebabkan bertambahnya
permintaan suatu sistem, baik berupa perangkat keras maupun perangkat lunak
yang dapat digunakan dengan baik dan cepat.
Permintaan yang terus bertambah
ini tidak sebanding dengan kemampuan perangkat keras yang ada. Salah satu cara
untuk mengatasi hal itu dibuat pengembangan di sisi perangkat lunak dengan
membuat suatu sistem virtual di mana beberapa perangkat keras atau komputer
dihubungkan dalam jaringan dan diatur oleh sebuah sistem operasi yang mengatur
seluruh proses yang ada pada setiap komputer tersebut sehingga memungkinkan
proses berjalan dengan cepat. Sistem operasi yang mengatur proses ini sering
disebut sebagai sistem operasi terdistribusi.
Sistem operasi
terdistribusi ini sekarang menjadi trend, terutama untuk research yang
kadang membutuhkan cpu yang sangat cepat untuk melakukan perhitungan yang sangat
kompleks. Dalam makalah ini akan dibahas mengenai sistem operasi terdistribusi,
terutama untuk mengetahui apa dan bagaimana cara sistem ini bekerja.
1.2.Tujuan
Supaya lebih tahu
tentang apa yang dimaksud dengan system terdistribusi contoh system
terdistribusi dsb.
1.3.Perumusan Masalah
-Defenisi system terdistribusi
- Alasan Sistem
Terdistribusi
- Karakteristik
Sistem Terdistribusi
- Tujuam Sistem
Terdistribusi
- Konsep P/K
- Konsep P/L
- Layered Protocol
- Application Layer
-
RPC (Remote Procedure Call)
-
ROI (Remote Object Invocation)
BAB II
PEMBAHASAN
A.SISTEM TERDISTRIBUSI
1.Defenisi system terdistribusi
Sistem terdistribusi merupakan sekumpulan prosesor yang tidak
saling berbagi memori atau clock dan terhubung melalui jaringan komunikasi
yang bervariasi, yaitu melalui Local Area Network atau pun melalui Wide
Area Network dan dilengkapi dengan sistem software tedistribusi untuk
membentuk fasilitas komputer terintegrasi. Proses dalam sistem terdistribusi
dijalankan secara bersamaan (execute concurrently) dimana proses berinteraksi
untuk bekerjasama dalam mencapai tujuan yang sama dan mengkoordinasikan
aktifitas dan pertukaran informasi yaitu pesan yang dikirim melalui
jaringan komunikasi. Struktur sistem terdistribusi dapat dilihat dari gambar
dibawah ini:
Dalam sistem terdistribusi prosesor yang dimiliki
bervariasi, dapat berupa small microprocessor,work station,mini computer, dan lain sebagainya. Sebenarnya ada
beberapa hal mendasar yang membedakan antara jaringan komputer yang merupakan
dasar dari konsep system terdistribusi dengan sistem terdistribusi itu sendiri
yaitu komputer otonom yang secara eksplisit terlihat, sedangkan pada sistem
terdistribusi komputer otonom transparan dan juga memiliki lebih banyak masalah
dibanding dengan jaringan komputer. Ada beberapa contoh umum yang merupakan
aplikasi dari sistem terdistribusi, diantaranya :
Ø Internet, merupakan global jaringan
interkoneksi komputer yang berkomunikasi melaluiIP (Internet Protocol)
Ø Intranet, merupakan jaringan
teradministrasi terpisah dengan batasan pada kebijakankeamanan local.
Ø Mobile dan komputasi diberbagai
tempat, laptop, PDA, mobile phone, printer, peralatanrumah, dll
Ø World WideWeb (www), sistem untuk
publikasi dan akses sumber daya dan layananmelalui Internet.
2.Alasan
Sistem Terdistribusi
Ada empat alasan utama untuk membangun sistem terdistribusi,
yaitu:
1.Resource Sharing Dalam sistem terdistribusi, situs-situs
yang berbeda saling terhubung satu sama lain melalui jaringan sehingga situs
yang satu dapat mengakses dan menggunakan sumber daya yang terdapat dalam
situs lain. Misalnya,
user di
situs A dapat menggunakan laser printer yang di miliki situs B dan
sebaliknya user di situs B dapat mengakses
file yang terdapat di situs A.
2.Computation Speedup Apabila sebuah komputasi dapat
dipartisi menjadi beberapa sub komputasi yang berjalan bersamaan, maka
sistem terdistribusi akan mendistribusikan sub komputasi tersebut kesitus-situs
dalam sistem. Dengan demikian, hal ini meningkatkan kecepatan
komputasi(computation speedup).
3.Reliability Dalam sistem terdistribusi, apabila sebuah
situs mengalami kegagalan, maka situs yangtersisa dapat melanjutkan operasi
yang sedang berjalan. Hal ini menyebabkan reliabilitas sistem menjadi lebih baik
4.Communication Ketika banyak situs saling terhubung melalui
jaringan komunikasi,user dari situs-situs yang berbeda mempunyai
kesempatan untuk dapat bertukar informasi.Selain alasan-alasan utama diatas ada
beberapa alasan lain untuk sistem terdistribusi.
Yaitu:
Ø Distribusi fungsi Komputer memiliki
kemampuan fungsi yang berbeda-beda (client/server, Host/terminal,Data gathering
/ data processing)
Ø Distribusi beban/keseimbangan Pemberian
tugas ke prosesor secukup nya sehingga unjuk kerja seluruh sistem teroptimasi
Ø Replika KekuatanKumpulan PC memiliki
kekuatan yang lebih besar dari super komputer
Ø Pemisahan Fisik Untuk
kehandalan atau redundansi system.
Ø Ekonomis Kumpulan mikroprosesor memberikan
harga/unjuk kerja yang lebih baik dibandingkan dengan main frame.
3.Karakteristik
Sistem Terdistribusi
Karakteristik sistem terdistribusi adalah
sebagai berikut:
1.Concurrency of components Pengaksesan suatu komponen/sumber
daya (segala hal yang dapat digunakan bersama dalam jaringan komputer, meliputi
H/W dan S/W) secara bersamaan. Contoh: Beberapa pemakai browser
mengakses halaman web secara bersamaan
2.No global clock Hal
ini menyebabkan kesulitan dalam mensinkronkan waktu seluruh komputer/perangkat yang
terlibat. Dapat berpengaruh pada pengiriman pesan/data, seperti saat
beberapa proses berebut ingin masuk ke critical session.
3.Independent failures of components Setiap
komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat lain
tetap berjalan dengan baik.
4.Tujuam
Sistem Terdistribusi
Sistem terdistribusi dibangun untuk mencapai tujuan-tujuan
yang ingin dicapai,diantaranya :
Ø Untuk memberikan akses bagi pengguna
untuk dapat mengembangkan sumber daya sistem.
Ø Peningkatan kecepatan komputasi.
Ø meningkatkan availibilitas atau
ketersediaan dan reliabilitas data.
5.Konsep
P/K
5.1. Multiprosesor
Yaitu konsep dimana sebuah komputer dengan beberapa
prosesor. Beberapa prosesor- prosesor tersebut mengakses memori yang sama
sehingga konsep ini lebih sulit untuk dibuat,namun interkoneksi dari konsep
multiprocessor ini lebih cepat.Ada dua bentuk multiprocessor yaitu :
Ø Multiprosesor dengan Caching
Ø Multiprosesor dengan Switch
6.2Multicomputer
Konsep ini merupakan konsep dimana beberapa PC terhubung
dengan jaringan, yang mana setiap CPU memiliki memori sendiri-sendiri. Berbeda
dengan konsep multi prosesor tadi,konsep ini lebih mudah dibangun, akan tetapi
interkoneksinya lebih lambat. Gambar berikut menunjukkan multi computer berbasis
switch Sistem multi computer yang paling banyak digunakan dalam sistem
terdistribusi adalah sistem Multi computer Heterogen
dimana sistem ini memiliki perbedaan, yaitu baik dari prosesor,
memori, I/O bandwidth dan jaringan.
6.Konsep
P/L
6.1.DOS (Distributed
Operating System)
Merupakan
sistem yang dapat memanajemen komputer-komputer dan membuat mereka tampak
sebagai single komputer. Selain itu sistem ini pula dapat menjalankan proses di
komputer lain tanpa mengetahui siapa yang meresponnya serta mengatur sumber
daya pada sistem terdistribusi.
6.2.NOS (Network Operating System)
NOS merupakan sistem dimana setiap host
menjalankan sistem operasi untuk mengatur sumber daya yang dimilikinya
termasuk mengakses sumber daya di jaringan. Untuk mengakses resource jaringan
tersebut dengan menggunakan NFS (Network File System) serta Samba(implementasi
protokol SMB di Win & Linux).
Selain itu dengan NOS maka Pengguna dapat mengakses suatu
proses di komputer lain dengan login ke telnet/ssh.
6.3.Middle ware
Middleware ini Menyediakan
transparensi terhadap keaneka ragaman plat form dimana proses dan objek
pada sekumpulan mesin yang menerapkan protokol untuk aplikasi
terdistribusi.Contoh dari middle ware di antaranya :
Ø CORBA (OMG)
Ø DCOM (Microsoft)
Ø ODP (ITU-T/ISO)
Ø Java Remote Method Invocation (Sun)
7.Layered
Protocol
Model layer OSI (Open System Interconnection) merupakan
model layer protocol yang dibuat oleh ISO (International Organization for
Standar dization). OSI mengacu pada standar pertukaran informasi
diantara sistem-sistem yang terbuka yaitu sistem yang menerapkan standar OSI.
Model Layer OSI dibagi dalam dua group: upper layer dan lower layer.
Upper layer fokus pada aplikasi pengguna dan bagaimana
file direpresentasikan di komputer. Untuk Network Engineer, bagian utama yang
menjadi perhatiannya adalah pada lower layer.
Lower layer adalah intisari komunikasi data melalui
jaringan aktual.
8 Application Layer
Ø Application Layer Menyediakan
jasa untuk aplikasi pengguna. Layer ini bertanggung jawab atas pertukaran informasi
antara program komputer, seperti program e-mail, dan service lain yang jalan di
jaringan, seperti server printer atau aplikasi komputer lainnya. Contoh protocol
aplikasi yang banyak digunakan: hypertext transfer protocol (HTTP) yang
digunakan diworld wide web, file transfer protocol (FTP) untuk pengiriman file
antar komputer,simple mail transfer
protocol (SMTP) untuk email.
Ø Presentation Layer Bertanggung
jawab bagaimana data dikonversi dan diformat untuk transfer data. Contoh konversi
format text ASCII untuk dokumen, .gif dan JPG untuk gambar. Layer ini membentuk
kode konversi, translasi data, enkripsi dan konversi.
Ø Session Layer Menentukan
bagaimana dua terminal menjaga, memelihara dan mengatur
koneksi,- bagaimana mereka saling berhubungan satu sama lain. Koneksi di
layer ini disebut session.
Fungsi
dari layer ini adalah:
1.Pengendalian dialog: memantau giliran pengiriman
2.Pengelolaan token: mencegah dua pihak untuk melakukan
operasi yang sangat kritis dan penting secara bersamaan
3.Sinkronisasi: menandai bagian data yang belum terkirim
sesaat crash pengiriman terjadi, sehingga pengiriman bisa dilanjutkan tepat ke
bagian tersebut.
Ø Transport Layer Bertanggung
jawab membagi data menjadi segmen, menjaga koneksi logika end-to-end antar
terminal, dan menyediakan penanganan error (error handling). Fungsinya antara lain:
flow control, segmentation/desegmentation, dan error control. Contoh dari layer
ini di antaranya: Transmission Control Protocol (TCP), User Data gram Protocol
(UDP),Stream Control Transmission Protocol (SCTP).
Ø Network Layer Bertanggung jawab
menentukan alamat jaringan, menentukan rute yang harus diambilselama
perjalanan, dan menjaga antrian trafik di jaringan. Data pada layer ini
berbentuk paket. Contohnya adalah Internet Protocol (IP).
Ø Data Link Layer Menyediakan
link untuk data, memaketkannya menjadi frame yang berhubungan dengan hardware
kemudian diangkut melalui media. komunikasinya dengan kartu jaringan,mengatur
komunikasi layer physical antara sistem koneksi dan penanganan error.
Layer ini Memiliki address secara fisik yang sudah di-kode-kan secara
langsung ke network card pada saat pembuatan card tersebut (disebut MAC Address).
Contohnya
Ethernet,HDLC,
Aloha, IEEE 802, LAN, FDDI.
Ø Physical Layer Bertanggung jawab atas proses data menjadi bit
dan mentransfernya melalui media seperti kabel, dan menjaga koneksi
fisik antar system. Fungsi utama dari layer ini adalah untuk menentukan:
1.Berapa volt untuk bit
1 dan 0.
2.Berapa nanoseconds bit dapat bertahan di saluran
komunikasi.
3.kapan koneksi awal dibuat dan diputuskan ketika dua entiti
selesai melakukan pertukaran data.
4.Jumlah pin yang digunakan oleh network connector dan
fungsi dari setiap pin.Contoh dari dari layer ini diantaranya : token ring dan
IEEE 802.
9.RPC (Remote Procedure Call)
Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita
untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat
melakukan ini sebuah server harus menyediakan
layanan remote procedure Pendekatan yang dilakuan adalah sebuah 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 match maker pada sebuah RPC port yang
tetap.
Matchmaker akan
memberikan port apa yang digunakan oleh prosedur yang diminta client. RPC
ini merupakan 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 (remotesystem).
9.1.Fitur
RPC Fitur-fitur dalam RPC diantaranya :
Ø Batching calls Fitur Batching calls
mengijinkan client 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, client tidak menunggu server untuk memberikan reply terhadap
tiap messages yang dikirim, begitu pula dengan server yang tidak pernah
mengirimkan messages reply.
Ø 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.
Ø Callback Procedures Fitur Callback
Procedures mengijinkan server untuk bertindak sebagai klien dan melakukan RPC
callback ke proses yang dijalankan oleh klien.
Ø 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 menginterupsisuatu
aktivitas, memeriksa datanya, dan kemudian melanjutkan proses aktivitas
tersebut.
9.2.Model
dan Cara Kerja RPC
Prosedur call umumnya berkaitan dengan penggunaan stack,
penyimpanan para meter yang diterima dalam stack tersebut dan
pengalokasian ruang untuk lokal variabel.
namun
selain itu ada yang disebut dengan Prosedur Call remote, yang berarti
pelaksanaan proses diatas namun pada suatu sistem lain yang berhubungan
melalui suatu jaringan. Sistem prosedur remote ini memiliki cara kerja yang
sedikit banyak mirip, namun berbeda dengan prosedur call biasa.Tiap prosedur
yang dipanggil dalam RPC, maka proses ini harus berkoneksi dengan server remote
dengan mengirimkan semua parameter yang dibutuhkan, menunggu balasan dari server
dan melakukan proses kemudian selesai. Proses di atas disebut juga dengan stub
pada sisi klien. Sedangkan Stub pada sisi server adalah proses menunggu tiap
message yang berisi permintaan mengenai prosedur tertentu. Server harus
membaca tiap parameter yang diberikan,kemudian memberikan prosedur lokal yang
sesuai dengan permintaan dan parameter. Kemudian setelah eksekusi, server harus
mengirimkan hasil kepada pihak pemanggil proses.
9.3.Kelebihan
RPC
Ø Relatif mudah
digunakan Pemanggilan
remote procedure tidak jauh berbeda dibandingkan pemanggilan
local procedure. Sehingga pemrogram dapat berkonsentrasi pada software
logic, Komunikasi Hal. Sistem
Terdistribusi tidak perlu memikirkan low level details seperti socket, marshalling
& unmarshalling.
Ø Robust
(Sempurna) Sejak
th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical application
yg memerlukan scalability, fault tolerance, & reliability.
9.4.Kekurangan
RPC
Ø Tidak fleksibel terhadap perubahan Static
relationship between client & server at run-time.
Ø Berdasarkan prosedural/structured
programming yang sudah ketinggalan jaman dibandingkan OOP.
10. ROI (Remote Object Invocation)
Meskipun teknologi RPC ini relatif sudah memberikan
kenyamanan bagi developer, tapi perkembangan yang terjadi di bidang
pemrograman berorientasi objek akhirnya menuntut kehadiran teknologi baru. ROI
merupakan sebuah teknik pemanggilan method remote yang secara umum lebih baik
dari pada RPC. ROI ini merupakan teknologi berbasis object yang sudah terbukti
bagus untuk pengembangan aplikasi stand alone.
Ada
dua istilah dalam remote object yaitu:
1.Proxy Mirip dengan client stub dalam RPC dimana
implementasi interface object sesungguhnya berada di mesin yang lain.
Proxy berjalan di address space client.
2.Skeleton
Mirip dengan server stub dalam RPC.Implementasi
dari ROI sendiri adalah RMI (Remote Method Invocation). RMI merupakan teknologi
DS yang memungkinkan sebuah JVM memanggil metode sebuah object yang berjalan di JVM yang lain. RMI
memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method.
Dengan dibolehkannya program Java memanggil method padaremote obyek, RMI
membuat pengguna dapat mengembangkan aplikasi Java yang terdistribusi pada
jaringan. Aplikasi RMI sering terbagi menjadi dua bagian yaitu server dan
client. Server mempunyai beberapa remote objects, dan reference nya serta
menunggu jika client ingin memanggil remote object tersebut. Sedangkan Client
mendapatkan remote refernce untuk satu atau lebih remote object di dalam
server, dan kemudian memanggil metode di dalamnya. RMI menyediakan mekanisme
sehingga server dan client dapat berkomunikasi dan tukar menukar informasi
timbal balik. Aplikasi seperti ini disebut dengan distri buted object
application. Aplikasi terdistribusi dengan Java RMI terdiri atas interfaces and
classes. Interfaces mendifinisikan methods sedangkan class mengimplementasikan
metode yang di definisikan di dalam interfaces Objects (perwujudan dari class)
yang mempunyai metode tersebut (yang dapat dipanggil dari jauh) disebut dengan remote
objects. Suatu object akan menjadi remote jika mengimplementasikan suatu remote
interface, yang mempunyai karakteristik sbb :
1.RMI
memperlakukan remote object berbeda dengan yang non-remote object, ketika object
tersebut dikirim ke VM yang lain.
2.Selain
membuat copy object ke VM penerima, RMI mengirim satu remotes tub untuk satu
remote object.
ü Stub ini beraksi sebagai perwakilan
lokal, proxy, untuk remote object tsb, dan untuk pemanggilnya,
remote reference.
ü Remote reference memanggil metode
pada stub lokal, yang bertanggung jawab untuk memanggil ke remote object.
3.Stub
(untuk remote object) meng-implements remote interfaces yang remote object juga
meng-implements.
BAB III
PENUTUP
A.Kesimpulan
Dari pembahasan di atas dapat di
simpulkan bahwa sistem terdistribusi merupakan sekumpulan prosesor yang tidak
saling berbagi memori atau clock dan terhubung melalui jaringan komunikasi
yang bervariasi, yaitu melalui Local Area Network atau pun melalui Wide
Area Network dan dilengkapi dengan sistem software tedistribusi untuk
membentuk fasilitas komputer terintegrasi.
Sistem terdistribusi dibangun untuk
mencapai tujuan-tujuan yang ingin dicapai,diantaranya :
Ø Untuk memberikan akses bagi pengguna
untuk dapat mengembangkan sumber daya sistem.
Ø Peningkatan kecepatan komputasi.
Ø meningkatkan availibilitas atau
ketersediaan dan reliabilitas data.
B.Saran
Demikian pengantar yang dapat
penulis sampaikan dimana penulis pun sadar bawasannya penulis hanyalah seorang
manusia yang tidak luput dari kesalahan dan kekurangan, sedangkan kesempurnaan hanya milik Tuhan Azza
Wa’jala hingga dalam penulisan dan penyusununnya masih jauh dari kata sempurna.
Oleh karena itu, kritik dan saran yang konstruktif akan senantiasa penulis
nanti dalam upaya evaluasi diri.
DAFTAR PUSTAKA
0 komentar:
Posting Komentar