BAB I PENGENALAN SISTEM TERDISTRIBUSI

BAB I PENGENALAN SISTEM TERDISTRIBUSI

A. Latar Belakag
            Sejak ditemukan hingga sampai pada tahun 2010 ini komputer telah mengalami perkembangan, dari sisi perangkat keras maupun perangkat lunaknya. Selain itu perkembangan teknologi informasi yang berkolaborasi dengan teknologi komunikasi melahirkan perangkat keras dan perangkat lunak yang digunakan dalam membangun jaringan komputer, sehingga kedua teknologi itu disatukan dalam istilah TIK ( Teknologi Informasi dan Komunikasi ).
          
Bentuk jaringan komputer yang diwakili dalam topologi merepresentasikan bahwa komputer tidak dapat terlepas dari komputer yang lainnya dalam sebuah jaringan komputer. Hal ini karena susunan setiap komputer yang terdiri dari Prosesor dan memori akan berhubungan dengan prosesor dan memori komputer yang lain dalam jaringan komputer, tergantung dari perangkat lunak yang digunakan dalam jaringan komputer tersebut.
            Ketergantungan perangkat lunak jaringan komputer ini akan membuahkan klasifikasi perangkat lunak dalam jaringan komputer, yang pertama adalah sistem  terpusat yang dimotori oleh teknologi WEB, dan yang kedua adalah sistem  terdistribusi yang dimotori oleh aplikasi dan sistem  operasi yang berbasis visual.
Gambar 1. 1 Kumpulan berbagai computer dalam sistem  terdistribusi
B.     Rumusan Masalah
1.      Mahasiswa dapat mengetahui pengertian dari Sistem Terdistribusi
2.      Mahasiswa dapat memahami dari tujuan Sistem Terdistribusi
3.      Mahasiswa dapat memahami konsep Hardware (Perangkat Keras) dalam sistem terdistribusi
4.      Mahasiswa dapat memahami konsep Software (Perangkat Lunak) dalam sistem terdistribusi
5.      Mahasiswa dapat mengenal dan memahami model Client-Server di dalam sistem terdistribusi.
BAB II
PEMBAHASAN
1.     Pengertian Sistem Terdistribusi
            Berbagai definisi sistem terdistribusi telah diberikan dalam beberapa literatur, tetapi tak satupun penjelasan itu memuaskan dan tidak ada sebuah kesepakatan dalam pengertian sistem  terdistribusi. Oleh sebab itu diifinisi sistem  terdistribusi memliki cakupan yang luas:
“Sebuah sistem terdistribusi adalah kumpulan komputer independen yang digunakan oleh pengguna sebagai satu kesatuan yang mempunyai fungsi yang sama.”

            Definisi ini mempunyai dua aspek. Yang pertama berhubungan dengan hardware: mesin-mesin bersifat otonom. Yang kedua berhubungan dengan software: pengguna sistem memikirkan sebagai satu komputer. Keduanya sangat penting. Kita akan kembali ke dalam bab ini, setelah beberapa materi berlatarbelakang pada kedua  hardware dan software.
            Alih-alih akan dengan definisi lebih lanjut, mungkin lebih bermanfaat memberikan beberapa contoh dari sistem  terdistribusi. Sebagai contoh pertama, pertimbangkan jaringan dari workstation di universitas atau departemen dalam perusahaan. Selain setiap  pengguna komputer pribadi, mungkin ada banyak prosesor dalam komputer yang tidak ditugaskan untuk melakukan hal tertentu namun dialokasikan secara dinamis sesuai dengan keperluan. Sistem seperti ini mungkin memiliki sistem berkas tunggal, dengan semua file yang dapat diakses dari semua mesin dengan cara yang sama dan menggunakan nama path yang sama. Terlebih lagi, ketika pengguna mengetik perintah, sistem bisa mencari tempat terbaik untuk mengeksekusi perintah, mungkin pada komputer milik sendiri, mungkin pada workstation yang idle milik orang lain, dan mungkin di salah satu unassigned prosesor di ruang mesin superkomputer. Jika sistem secara keseluruhan terlihat dan bertindak seperti halnya prosesor tunggal dengan sistem operasi yang time sharing, akan memenuhi syarat sebagai didistribusikan sistem.
            Contoh kedua, sebuah pabrik yang penuh dengan robot, masing-masing berisi komputer kuat untuk menangani tugas. Ketika robot di jalur perakitan pemberitahuan bahwa sebuah bagian mengalami kecacatan, ia akan meminta robot lain untuk membawa  penggantiannya. Jika semua bertindak seperti robot yang memiliki perangkat periferal yang sama, pusat komputer dan sistem dapat deprogram, hal ini juga dikatakan sebagai sistem terdistribusi.
            Contoh terakhir, pikirkan tentang sebuah bank besar dengan ratusan kantor cabang  seluruh dunia. Setiap kantor memiliki komputer master untuk menyimpan rekening lokal dan menangani transaksi lokal. Selain itu, setiap komputer memiliki kemampuan untuk berbicara untuk semua cabang lainnya komputer dan dengan komputer pusat di kantor pusat. Jika transaksi dapat dilakukan tanpa memperhatikan di mana seorang pelanggan atau account, dan para pengguna tidak akan melihat adanya perbedaan antara sistem ini dan terpusat mainframe, ini juga dianggap sebagai sistem terdistribusi.
2.     Tujuan Sistem Terdistribusi
            Setiap sistem  yang diciptakan pasti memeliki tujuan, begitupula dengan sistem  terdistribusi.
2.1.            Koneksi Antara Pengguna dan Sumber Daya
Tujuan utama sistem terdistribusi yaitu untuk memudahkan pengguna dalam mengakses sumber daya jarak jauh secara bersama-sama dengan terkontrol dan efisien. Dengan semakin meningkatnya konektivitas dan akses untuk dapat saling berbagi.
2.2.            Transparansi
Sistem terdistribusi bertujuan untuk menyembunyikan fakta bahwa proses dan sumber daya fisik didistribusikan ke banyak komputer. Anggapan pengguna bahwa aplikasi yang dilihatnya merupakan satu sistem komputer inilah yang disebut transparency.
*      Access transparency:
menyembunyikan perbedaan representasi data dan bagaimana sumber daya diakses.
Contohnya : pemetaan drive di samba, NFS, remote printer, dll. Sistem terdistribusi mungkin memiliki sistem komputer yang menjalankan sistem operasi yang berbeda, masing-masing memiliki konvensi sendiri penamaan file. Perbedaan dalam konvensi penamaan, serta bagaimana file dapat dimanipulasi, semua harus disembunyikan dari pengguna dan aplikasi.
*      Location transparency:
menyembunyikan dimana sumber daya berada.
Contoh : transaksi perbankan ATM, web pages, dll. Nama http://www.prenhall.com/index.html URL yang tidak memberikan petunjuk tentang lokasi server utama Web Prentice
Hall.
*      Migration transparency:
menyembunyikan bahwa sumber daya mungkin pindah ke tempat lain.
Contoh : web pages, NFS, dll. URL http://www.prenhall.com/index.html tidak memberikan petunjuk apakah index.html selalu berada di lokasi saat ini atau baru pindah ke lain tempat.
*      Replication transparency:
Menyembunyikan sumber daya direplikasi.
Contoh : distributed DBMS, mirroring web pages, dll. Sumber daya dapat direplikasikan untuk meningkatkan ketersediaan atau untuk meningkatkan kinerja dengan menempatkan salinan dekat ke tempat di mana ia diakses.
*      Concurrency transparency :
Menyembunyikan bahwa sumber daya mungkin dibagi kepada beberapa penggun Contoh : NFS, Automatic teller machine network, Database   Management System. Dua pengguna independen mungkin masing-masing memiliki file yang tersimpan di server file yang sama atau mungkin mengakses tabel yang sama dalam database bersama. Dalam kasus tersebut, adalah penting   bahwa setiap pengguna tidak menyadari bahwa yang lain  adalah memanfaatkan sumber yang sama.
*      Failure transparency :
menyembunyikan kegagalan dan pemulihan dari sumber daya.
Contoh : Database Management System. Contoh lain, saat menghubungi server web sibuk, browser akhirnya akan time out dan melaporkan bahwa halaman Web tidak tersedia .. Pada saat itu, pengguna tidak dapat menyimpulkan bahwa server benar-benar down.
*      Performance Transparency :
meminimalkan tambahan performance dalam menggunakan remote resourse, sehingga response time dan throughput sebanding dengan ketika mengakses resource secara lokal.
                            
2.3.            Keterbukaan (Oppennes)
Openness (Keterbukaan). Sistem distribusi terbuka adalah suatu sistem yang menawarkan layanan sesuai dengan aturan standar yang menjelaskan sintak dan semantik dari layanan. Dalam sistem terdistribusi, layanan spesifikasi secara umum dalam tampilan antarmuka, yang sering disebut Interface Definition Languaga (IDL). Kunci aspek openness adalah antarmuka standar dan protokol serta mendukung keberagaman.
2.4.            Skalabilitas
Bertambahnya kebutuhan terhadap sistem terdistribusi, memungkinkan untuk memperbesar dan memperkecil infrastruktur dari sistem terdistribusi itu sendiri. Perubahan ukuran ini tidak mempengaruhi sistem yang sedang berjalan. Perubahan skalabilitas ini pengguna dan perangkat keras serta lunak sistem terdistribusi.
3.     Konsep Perangkat Keras (Hardware Concepts)
          Meskipun semua sistem terdistribusi terdiri dari beberapa CPU, ada beberapa cara berbeda dengan mengatur hardware, terutama dalam hal bagaimana mereka saling berhubungan dan bagaimana mereka berkomunikasi. Pada bagian ini kita akan mengambil sekilas perangkat keras sistem terdistribusi, khususnya, bagaimana mesin terhubung antara satu dengan yang lainnya. Pada bagian berikutnya kita akan meneliti beberapa isu perangkat lunak yang berkaitan dengan sistem terdistribusi.
            Berbagai skema klasifikasi untuk beberapa CPU dari komputer telah pernah diusulkan selama bertahun-tahun, namun tak satu pun dari mereka sudah benar-benar dapt diadopsi secara luas. Mungkin yang paling sering dikutip adalah penggolongan  taksonomi Flynn (1972), meskipun cukup mendasar. Flynn mengambil dua ciri dari CPU yang dianggap penting yaitu: jumlah aliran instruksi dan jumlah aliran data . Sebuah komputer dengan satu aliran instruksi dan aliran data tunggal adalah disebut SISD (single instruction stream and a single data stream). Semua komputer Uniprocessor tradisional (yaitu, mereka hanya memiliki satu CPU) termasuk dalam kategori ini, dari komputer pribadi ke mainframe besar.
            Kategori berikutnya adalah SIMD, single instruction stream multiple data stream. Jenis ini mengacu pada array prosesor dengan satu unit instruksi yang mengambil suatu instruksi, dan kemudian menginstruksikan banyak data untuk melaksanakannya secara paralel, masing-masing dengan data sendiri. Mesin ini berguna untuk perhitungan yang berulang.

Gambar 1. Taksonomi terdistribusi dan paralel sistem komputer

Kategori berikutnya adalah MISD, multiple instruction stream, single data stream. Dan kategori terakhir adalah MIMD, yang pada dasarnya berarti sekelompok komputer independen, masing-masing dengan program counter, program, dan data. Semua sistem terdistribusi menggunakan MIMD
Meskipun Flynn berhenti di sini, kita akan lebih jauh. Dalam Gambar 1, kita membagi semua MIMD komputer menjadi dua kelompok: Tightly coupled yang share memori, biasanya disebut Multiprocessors, dan mereka yang tidak, kadang-kadang disebut multicomputers. Perbedaan yang esensial adalah: dalam multiprosesor, ada virtual address yaitu satu ruang yang digunakan bersama-sama oleh semua CPU. Jika ada CPU menulis, misalnya, nilai 44 menjadi alamat 1000, CPU lain kemudian membaca dari alamat 1000 akan mendapatkan nilai 44. Semua mesin memiliki memori yang sama.
            Sebaliknya, dalam multicomputer, setiap mesin memiliki memori pribadi. Jika satu CPU menulis nilai 44 menjadi alamat 1000, ketika CPU lain reads 1000 alamat tidak akan mendapatkan nilai apa pun yang ada di sana sebelumnya. Sebuah contoh umum adalah sebuah komputer pribadi yang dihubungkan dengan jaringan membentuk multicomputer.
            Masing-masing kategori ini dapat dibagi lagi berdasarkan arsitektur jaringan interkoneksi. Dalam Gambar 1 kita menggambarkan dua kategori sebagai bus dan switched. Dengan bus kami maksud bahwa ada jaringan tunggal, backplane, bus, kabel, atau media lain yang menghubungkan semua mesin.
Sistem switched tidak memiliki satu backbone seperti televisi kabel. Sebaliknya, ada kabel individu dari mesin ke mesin, dengan berbagai pola kabel digunakan. Pesan bergerak sepanjang kabel, dengan eksplisit keputusan switching yang dibuat pada setiap langkah untuk rute pesan di sepanjang salah satu jalur kabel. Telepon umum diseluruh dunia sistem ini disusun dengan cara ini.
Dimensi lain penggolongan / taksonomi kita adalah bahwa dalam beberapa sistem mesin tightly coupled dan lainnya loosely coupled. Dalam tightly coupled, mengalami penundaan ketika pesan dikirim dari satu komputer ke komputer lain, dan data rate tinggi, yaitu jumlah bit per detik yang dapat ditransfer adalah besar. Dalam loosely coupled, kebalikannya adalah pesan dari satu jomputer ke computer yang dikirimkan mengalami penundaan dan data rate rendah. Untuk Misalnya, dua CPU sama chip pada printed circuit board dan dihubungkan oleh kabel seperti  tightly coupled, sedangkan dua komputer terhubung dengan modem 2400 bit/sec melalui sistem telepon tertentu adalah loosely coupled.
Sistem Tightly-coupled digabungkan untuk digunakan sebagai sistem paralel (bekerja pada satu masalah) dan loosely coupled yang cenderung digunakan sebagai sistem terdistribusi (bekerja pada banyak masalah yang tidak berkaitan), meskipun hal ini tidak selalu benar. Salah satu yang terkenal adalah proyek  di mana ratusan komputer semua dunia bekerja bersama-sama mencoba untuk mencari faktor dengan jumlah besar (sekitar 100 digit). Setiap computer ditugaskan dalam kisaran yang berbeda pembagi untuk melakukannya, dan mereka semua bekerja tidak serempak dan melaporkan hasil ketika mereka selesai.
            Secara keseluruhan, Multiprocessors cenderung lebih Tightly-coupled daripada multicomputers, karena mereka dapat bertukar data pada memori yang cepat, tetapi beberapa fiberoptic berbasis multicomputers juga dapat bekerja pada memori yang cepat. Meskipun ketidak jelasan dari istilah "tightly coupled" dan "loosely coupled" mereka konsep yang berguna, seperti mengatakan "Jack is fat and Jill is thin" menyampaikan informasi tentang kegemukan meskipun salah satu dapat masuk ke cukup banyak berdiskusi tentang konsep-konsep dari "fatness" and "thinness."
            Dalam empat bagian berikut, kita akan melihat empat kategori pada Gambar 1, secara lebih rinci, yaitu bus Multiprocessors, switched Multiprocessors, bus multicomputers, dan switched multicomputers. Walaupun topik ini tidak berkaitan langsung dengan perhatian utama kami, sistem operasi terdistribusi, mereka titik terang pada subjek karena seperti yang akan kita lihat, berbagai kategori mesin menggunakan berbagai jenis sistem operasi.
                        Bus-based multiprocessors terdiri dari beberapa jumlah CPU yang semua terhubung menggunakan bus, bersama dengan sebuah modul memori.
Konfigurasi sederhana seperti terlihat di gambar, sebuah bus berkecepatan tinggi menghubungkan CPU dan memori. Tipikal bus memiliki 32 atau 64 jalur alamat, 32 atau 64 jalur data, dan mungkin 32 atau lebih banyak kontrol jalur, yang semuanya beroperasi secara paralel. Proses membaca (read) dari memori, dengan cara,  CPU menempatkan alamat dari kata/data yang diinginkan pada bus yang berisi alamat, kemudian meletakkan sinyal pada bus kontrol yang tepat untuk menunjukkan bahwa akan terjadi proses read. Memori merespon dengan menempatkan data pada bus data untuk agar CPU yang meminta dapat membacanya dengan cara yang sama.
                        Karena hanya ada satu memori, jika CPU A menulis (write) data ke memori dan kemudian CPU B membaca data itu  satu mikrodetik kemudian, B akan mendapatkan nilai yang dituliskan (proses real time). Sebuah memori yang memiliki properti ini dikatakan koheren. Koheren memainkan peran penting dalam sistem operasi terdistribusi dalam berbagai cara yang akan kita bahas nanti.
                        Masalahnya dengan skema ini adalah bahwa dengan jumlah CPU sebanyak  4 atau 5, akan membuat bus kelebihan beban dan menyebabkan kinerja akan menurun drastis. Solusi adalah menambahkan kecepatan memori yang tinggi (cache memory) antara CPU dan bus, seperti yang ditunjukkan pada gambar diatas. Cache memiliki data yang paling baru diakses dan semua memori melakukan permintaan melalui cache. Jika ada permintaan dalam cache, cache sendiri menanggapi ke CPU, dan tidak pada bus. Jika cache cukup besar, kemungkinan keberhasilan, yang disebut hit rate, akan tinggi, dan jumlah bus traffic per CPU akan turun drastis, sehingga memungkin penambahan CPU dalam sistem menjadi banyak lagi. Ukuran cache 64Kb untuk 1Mb memori adalah sebuah kewajaran, dan akan memberikan  hit rate 90 persen atau lebih.
Namun, pengenalan cache juga membawa masalah serius. Misalkan dua CPU, A dan B, masing-masing membaca data yang sama ke dalam masing-masing cache. Maka A akan menimpa data. B berikutnya ketika membaca data itu, ia mendapatkan nilai lama dari cache, bukan nilai yang baru saja dituliskan dan sistem ini sulit untuk diprogram.
                        Banyak peneliti telah mempelajari masalah ini, dan berbagai solusi diketahui. Anggaplah bahwa cache memori  dirancang sedemikian rupa agar setiap kali data yang ditulis ke cache, tertulis melalui memori juga. Seperti cache, disebut writethrough cache. Dalam desain ini, cache hits untuk membaca bus tidak menyebabkan macetnya trafik data, tapi cache yang tidak dapat membaca dan menulis yang menyebabkan macetnya trafik data pada bus.
Selain itu, semua cache selalu memantau bus. Cache setiap kali melihat  alamat memori yang ada dalam cache, hal ini untuk menghapus yang entri dari cache, atau entri cache update dengan nilai baru. Seperti cache disebut snoopy cache (atau kadang-kadang, sebuah mengintai cache) karena selalu "mengintip" (menguping) di bus. Sebuah desain yang terdiri dari snoopy write-through cache adalah koheren dan ini tidak terlihat oleh programmer. Hampir semua bis Multiprocessors berbasis gunakan arsitektur atau satu ini berkaitan erat dengan hal itu,  untuk menempatkan sekitar 32 atau mungkin 64 CPU pada satu bus. Untuk lebih lanjut tentang Multiprocessors berbasis bus, lihat Lilja (1993).
            Membangun multiprosesor dengan lebih dari 64 prosesor, diperlukan metode yang berbeda untuk menghubungkan CPU dengan memori. Satu kemungkinan adalah untuk membagi memori ke dalam modul dan menghubungkan mereka ke CPU dengan crossbar switch, seperti ditunjukkan pada gambar (a). 
                        Setiap CPU dan memori masing-masing memiliki sambungan input/ output. Di setiap persimpangan adalah Crosspoint elektronik kecil yang dapat dibuka dan ditutup dengan hardware. Ketika CPU ingin mengakses memori tertentu, switch menghubungkan mereka Crosspoint ditutup sementara, untuk memungkinkan akses berlangsung. Keutamaan crossbar switch adalah bahwa banyak CPU dapat mengakses memori pada saat yang sama, walaupun jika dua CPU mencoba akses memori yang sama secara bersamaan, salah satu dari mereka harus menunggu.
Kelemahan dari crossbar switch  adalah bahwa dengan n CPU dan n memori, n kuadrat Crosspoint switch diperlukan. Untuk besarnya n, jumlah ini dapat menjadi penghalang. Akibatnya, orang-orang yang telah mencari, dan menemukan, alternatif switching yang memerlukan lebih sedikit switch. Jaringan omega gambar (b) adalah satu contoh. Jaringan ini berisi empat (2 x 2) switch, masing-masing mempunyai dua input dan dua output. Setiap switch dapat rute baik baik input ke output. Switch ini dapat diatur dalam nanodetik atau kurang.
Dalam kasus umum, dengan n CPU dan n memori, jaringan omega log2 n switching memerlukan tahap, masing-masing berisi n/2 switch, dengan total (n log2 n) / 2 switch. Walaupun untuk n besar ini jauh lebih baik daripada n kuadrat.
                        Selain itu, ada masalah lain: penundaan. Sebagai contoh, untuk n = 1024, ada 10 tahap beralih dari CPU ke memori, dan 10 untuk kata diminta untuk datang kembali. Anggaplah bahwa CPU RISC chip modem berjalan pada 100 MIPS, yaitu waktu eksekusi instruksi adalah 10 nsec. Jika  Permintaan memori untuk melewati total 20 switching tahap (10 outbound dan 10 belakang) dalam 10 nsec, waktu switching harus 500 picosec (0,5 nsec). Multiprosesor memerlukan 5120 500-picosec switch. 
                        Orang, telah berusaha untuk mengurangi biaya dengan beralih ke sistem hirarkis. Beberapa memori dikaitkan dengan masing-masing CPU. Setiap CPU dapat mengakses local sendiri memori dengan cepat, tetapi orang lain mengakses memori yang lebih lambat. Desain ini dikenal sebagai NUMA (Non Uniform Memory Access) mesin. Meskipun mesin NUMA memiliki waktu akses rata-rata lebih baik daripada mesin didasarkan pada jaringan omega, mereka memiliki komplikasi baru bahwa penempatan program dan data menjadi penting untuk membuat kebanyakan akses ke memori lokal.
                        Ringkasnya, bus berbasis Multiprocessors, bahkan dengan snoopy cache, adalah dibatasi oleh jumlah kapasitas bus  untuk sekitar 64 CPU paling banyak. Melampaui yang membutuhkan jaringan switching, seperti crossbar switch, jaringan omega switching, atau sesuatu yang serupa. crossbar switch besar sangat mahal, dan jaringan omega besar yang baik mahal dan lambat. Mesin NUMA memerlukan kompleks algoritma untuk penempatan perangkat lunak yang baik. Kesimpulannya jelas: building a large, tightly-coupled, shared memory multiprocessor adalah mungkin, meski sulit dan mahal.
 Dalam membangun multicomputer (yakni, tidak menggunakan mekanisme    shared memory) akan lebih mudah. Setiap CPU memiliki koneksi langsung ke memori lokal sendiri. Meskipun begitu tetap saja ada masalah  yaitu cara CPU berkomunikasi dengan satu sama lain. Jelas, beberapa skema interkoneksi dibutuhkan di sini, karena hanya untuk komunikasi CPU-ke-CPU, dapat menyebabkan trafik jaringan komputer akan beberapa kali lebih sibuk. 
                        Dalam Gambar diatas kita melihat bus berbasis multicomputer. Secara topologi tampak/mirip dengan bus yang berbasis multiprosesor, tetapi karena lalu lintas datanya lebih sedikit, tidak memerlukan bus berkecepatan tinggi. Bahkan, kecepatan yang jauh lebih rendah dari LAN. Mengacu gambar diatas,  4 kumpulan workstation pada sebuah LAN lebih efisien daripada kumpulan CPU dimasukkan ke bus yang cepat(backplane).
4.     Konsep Software (Software Concepts)
 Meskipun hardware penting, software bahkan lebih penting. Gambaran yang sistem berikan kepada para penggunanya, dan bagaimana mereka berpikir tentang sistem, sangat ditentukan oleh sistem operasi dan perangkat lunak, bukan perangkat keras. Dalam bagian ini kita akan memperkenalkan berbagai jenis sistem operasi untuk Multiprocessors dan multicomputers yang baru saja kita mempelajari, dan mendiskusikan jenis perangkat lunak yang berjalan pada perangkat keras.
            Sistem operasi tidak dapat dimasukkan ke dalam computer secara assembling seperti perangkat keras. Secara alamiah perangkat lunak yang samar dan tak berbentuk. Namun, lebih-atau-kurang mungkin untuk membedakan dua jenis sistem operasi untuk beberapa sistem CPU: loosely coupled dan tightly coupled. Sebagaimana akan kita lihat, loosely coupled dan tightly coupled software secara analog berbeda dengan loosely coupled dan tightly coupled.
            Perangkat lunak Loosely-coupled memungkinkan komputer dan pengguna dari suatu sistem terdistribusi secara mendasar independen satu sama lain, tetapi tetap untuk berinteraksi dengan terbatas tingkat mana yang diperlukan. Pertimbangkan sekelompok personal komputer, masing-masing yang memiliki CPU, memori sendiri, hard disk sendiri, dan sistem operasi sendiri, tetapi  berbagi beberapa sumber daya, seperti laser printer dan database, menggunakan LAN. Sistem ini longgar digabungkan, karena individu mesin jelas dibedakan, masing-masing dengan tugas untuk dilakukan.
Untuk menunjukkan betapa sulitnya  membuat definisi di daerah ini, sekarang mempertimbangkan sistem yang sama seperti di atas, tetapi tanpa jaringan. Untuk mencetak file, user menulis file di floppy disk, membawa ke mesin dengan printer, membacanya dan kemudian mencetaknya. Apakah ini masih suatu sistem terdistribusi, hanya sekarang bahkan lebih loosely coupled? Sulit untuk dijelaskan. Dari sudut pandang fundamental, benar-benar tidak ada perbedaan teori antara berkomunikasi melalui LAN dan berkomunikasi dengan membawa disket. Pada kebanyakan orang dapat mengatakan bahwa penundaan dan kecepatan data yang lebih buruk.
Pada keadaan ekstrem yang lain kita mungkin menemukan multiprosesor didedikasikan untuk menjalankan program secara paralel. Software untuk sistem ini, baik aplikasi program dan sistem operasi yang dibutuhkan untuk mendukung itu, jelas banyak lebih erat digabungkan daripada contoh sebelumnya.
            Kita telah melihat empat jenis hardware dan didistribusikan dua jenis. Secara teori, seharusnya ada delapan kombinasi hardware dan software. Pada kenyataannya, hanya empat bernilai pembeda, karena bagi pengguna, teknologi interkoneksi tidak terlihat. Bagi sebagian besar tujuan, sebuah multiprosesor adalah multiprosesor, apakah itu menggunakan bus dengan snoopy cache atau menggunakan jaringan omega. Pada bagian berikut, kita akan melihat beberapa yang kombinasi paling baik dari hardware dan software.
5.     Model Client-Server
            Bagaimana cara kerja sistem terdistribusi antara komponen-komponen sistem dan bagaimana komponen tersebut berada pada sistem terdistribusi :
  • Client - Server Model
            Sistem yang terdiri dari kumpulan - kumpulan proses disebut dengan server, dan memberikan layanan kepada user yang disebut dengan client.
Model client-server biasanya berbasiskan protokol request/reply. Contoh implementasinya antara lain: RPC (Remote Procedure Calling) dan RMI (Remote Method Invocation).
Client              :Proses akses data, melakukan operasi pada komputer lain.
Server             :Proses mengatur data, proses mengatur resources, proses komputasi.
Interaksi         :Invocation/result

·         Karakteristik Client-Server
1.      Service : menyediakan layanan terpisah yang berbeda
2.      Shared Resource : server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource
3.      Asymmetrical Protocol : antara client dan server merupakan hubungan one to many
4.      Mix and Match : tidak tergantung pada platform
5.      Encapsulation of Service : message memberitahu server apa yang akan dikerjakan
6.      Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client
7. Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message
8.      Scalability : sistem client/server dapat dimekarkan baik vertikal maupun horisontal
9.  Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer sendiri
·         Kelebihan jaringan client server:     
ü  Mendukung keamanan jaringan yang lebih baik
ü  Kemudahan administrasi ketika jaringan bertambah besar
ü  Manajemen jaringan terpusat
ü  Semua data bisa disimpan dan di backup terpusat di satu lokasi
·         Kekurangan jaringan client server:
ü  Butuh administrator jaringan yang profesional
ü  Butuh perangkat bagus untuk digunakan sebagai komputer server
ü  Butuh software tool operasional untuk mempermudah manajemen jaringan
ü  Anggaran untuk manajemen jaringan menjadi besar
ü  Bila server down, semua data dan resource diserver tidak bisa diaks
BAB III
PENUTUP
a.      Kesimpulan
          Sebenarnya definisi dari sebuah Sistem Terdistribusi sangat luas, akan tetapi di sini kami mencoba mengutarakan bahwa : 
Sebuah sistem terdistribusi adalah kumpulan komputer independen yang digunakan oleh pengguna sebagai satu kesatuan yang mempunyai fungsi yang sama.
            Dan Definisi tersebut pun mempunyai dua aspek. Yang pertama berhubungan dengan hardware: mesin-mesin bersifat otonom. Yang kedua berhubungan dengan software: pengguna sistem memikirkan sebagai satu komputer. Keduanya sangat penting.
            Setiap sistem  yang diciptakan pasti memeliki tujuan, begitupula dengan sistem terdistribusi.
            Berikut adalah beberapa tujuan dari sistem terdistribusi;
ü  Koneksi Antara Pengguna dan Sumber Daya (Connecting User and Resources)
ü  Transparansi (Transparency)
*      Access transparency
*      Location transparency
*      Migration transparency
*      Replication transparency
*      Concurrency transparency 
*      Failure transparency 
*      Performance Transparency 
ü  Keterbukaan (Oppennnes)
ü  Skalabilitas (Scalability)
            Adapun konsep hardware yang akan dibahas pada sistem distribusi yaitu adalah, dimana hardware ini yang bertujuan untuk mengkoordinir seluruh perangkat-perangkat yang terdapt pada mainframes, server, workstation, ataupun Personal Computer.
            Nah selain itu software juga berperan penting terhadap sistem terdistribusi, disini yang akan di utarakan adalah pemakaian sistem operasi yang diterapkan atau digunakan pada sistem terdistribusi.
            Kemudian adalah client-server , dimana client  didefinisikan sebagai proses akses data, melakukan operasi pada komputer lain, dan server di definisikan sebagai proses mengatur data, proses mengatur resources, proses komputasi. Dan clinet-server ini pula saling berhubungan dan saling melengkapi satu sama lain dalam menjalankan tugas nya.
  Daftar Pustaka

Kategori

Kategori