Sistem terdistribusi adalah sekumpulan prosesor yang tidak saling berbagi memori atau clock dan terhubung melalui jaringan komunikasi yang bervariasi, yaitu melalui Local Area Network ataupun melalui Wide Area Network. Prosesor dalam sistem terdistribusi bervariasi, dapat berupa small microprocessor, workstation, minicomputer, dan lain sebagainya. Berikut adalah ilustrasi struktur sistem terdistribusi:
Karakteristik sistem terdistribusi adalah sebagai berikut:
- 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
- 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.
- Independent failures of components. Setiap komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat lain tetap berjalan dengan baik.
Ada empat alasan utama untuk membangun sistem terdistribusi, yaitu:
- 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 dimiliki situs B dan sebaliknya user di situs B dapat mengakses file yang terdapat di situs A.
- Computation Speedup. Apabila sebuah komputasi dapat dipartisi menjadi beberapa subkomputasi yang berjalan bersamaan, maka sistem terdistribusi akan mendistribusikan subkomputasi tersebut ke situs-situs dalam sistem. Dengan demikian, hal ini meningkatkan kecepatan komputasi (computation speedup).
- Reliability. Dalam sistem terdistribusi, apabila sebuah situs mengalami kegagalan, maka situs yang tersisa dapat melanjutkan operasi yang sedang berjalan. Hal ini menyebabkan reliabilitas sistem menjadi lebih baik.
- Communication. Ketika banyak situs saling terhubung melalui jaringan komunikasi, user dari situs-situs yang berbeda mempunyai kesempatan untuk dapat bertukar informasi.
Tantangan-tantangan yang harus dipenuhi oleh sebuah sistem terdistribusi:
- Keheterogenan perangkat/multiplisitas perangkat. Suatu sistem terdistribusi dapat dibangun dari berbagai macam perangkat yang berbeda, baik sistem operasi, H/W maupun S/W.
- Keterbukaan. Setiap perangkat memiliki antarmuka (interface) yang di-publish ke komponen lain. Perlu integrasi berbagai komponen yang dibuat oleh programmer atau vendor yang berbeda
- Keamanan. Shared resources dan transmisi informasi/data perlu dilengkapi dengan enkripsi.
- Penangan kegagalan. Setiap perangkat dapat mengalami kegagalan secara independen. Namun, perangkat lain harus tetap berjalan dengan baik.
- Concurrency of components. Pengaksesan suatu komponen/sumber daya secara bersamaan oleh banyak pengguna.
- Transparansi. Bagi pemakai, keberadaan berbagai perangkat (multiplisitas perangkat) dalam sistem terdistribusi tampak sebagai satu sistem saja.
Dalam sistem operasi terdistribusi, user mengakses sumber daya jarak jauh (remote resources) sama halnya dengan mengakses sumber daya lokal (local resources). Migrasi data dan proses dari satu situs ke situs yang lain dikontrol oleh sistem operasi terdistribusi.
Berikut ini adalah fitur-fitur yang didukung oleh sistem operasi terdistribusi:
- Data Migration. Misalnya, userdi situs A ingin mengakses data di situs B. Maka, transfer data dapat dilakukan melalui dua cara, yaitu dengan mentransfer keseluruhan data atau mentransfer sebagian data yang dibutuhkan untuk immediate task.
- Computation Migration. Terkadang, kita ingin mentransfer komputasi, bukan data. Pendekatan ini yang disebut dengan computation migration
- Process Migration. Ketika sebuah proses dieksekusi, proses tersebut tidak selalu dieksekusi di situs di mana ia pertama kali diinisiasi. Keseluruhan proses, atau sebagian daripadanya, dapat saja dieksekusi pada situs yang berbeda. Hal ini dilakukan karena beberapa alasan: Load balancing. Proses atau subproses-subproses didistribusikan ke jaringan untuk memeratakan beban kerja. Computation speedup. Apabila sebuah proses dapat dibagi menjadi beberapa subproses yang berjalan bersamaan di situs yang berbeda-beda, maka total dari process turnaround time dapat dikurangi. Hardware preference. Proses mungkin mempunyai karakteristik tertentu yang menyebabkan proses tersebut lebih cocok dieksekusi di prosesor lain.Misalnya, proses inversi matriks, lebih cocok dilakukan di array processor daripada di microprocessor Software preference. Proses membutuhkan software yang tersedia di situs lain, di mana software tersebut tidak dapat dipindahkan atau lebih murah untuk melakukan migrasi proses daripada software Data access.
Sistem operasi terdistribusi (distributed operating system) menyediakan semua fitur di atas dengan kemudahan penggunaan dan akses dibandingkan dengan sistem operasi jaringan (network operating system).
Berikut adalah dua tipe jaringan yang dipakai dalam sistem terdistribusi:
- Local Area Network (LAN). LAN muncul pada awal tahun 1970-an sebagai pengganti dari sistem komputer mainframe. LAN, didesain untuk area geografis yang kecil. Misalnya, LAN digunakan untuk jaringan dalam sebuah bangunan atau beberapa bangunan yang berdekatan. Umumnya, jarak antara situs satu dengan situs yang lain dalam LAN berdekatan. Oleh karena itu, kecepatan komunikasinya lebih tinggi dan peluang terjadi kesalahan (error rate) lebih rendah. Dalam LAN, dibutuhkan high quality cable supaya kecepatan yang lebih tinggi dan reliabilitas tercapai. Jenis kabel yang biasanya dipakai adalah twisted-pair dan fiber-optic. Berikut adalah ilustrasi dari Local Area Network:
- Wide Area Network. WAN muncul pada akhir tahun 1960-an, digunakan sebagai proyek riset akademis agar tersedia layanan komunikasi yang efektif antara situs, memperbolehkan berbagi hardware dansoftware secara ekonomis antar pengguna. WAN yang pertama kali didesain dan dikembangkan adalah Arpanet yang pada akhirnya menjadi cikal bakal dari Internet. Situs-situs dalam WAN tersebar pada area geografis yang luas. Oleh karena itu, komunikasi berjalan relatif lambat dan reliabilitas tidak terjamin. Hubungan antara link yang satu dengan yang lain dalam jaringan diatur oleh communication processor. Berikut adalah ilustrasi dari Wide Area Network