BAB IV
SISTEM OPERASI TERDISTRIBUSI
1. Definisi Sistem Operasi Terdistribusi
Sistem operasi terdistribusi adalah salah satu implementasi dari sistem terdistribusi, di mana sekumpulan komputer dan prosesor yang heterogen terhubung dalam suatu jaringan. Koleksi-koleksi dari objek-objek ini secara tertutup bekerja secara bersama-sama untuk melakukan suatu tugas atau pekerjaan tertentu.
2. Fungsi Sistem Operasi terdistribusi
a. Shared resource
Walaupun perangkat sekarang sudahmemiliki kemampuan yang cepat dalam proses-proses komputasi, atau misal dalam mengakses data, tetapi pengguna masih saja menginginkan sistem berjalan dengan lebih cepat. Apabila hardware terbatas, kecepatan yang diinginkan user dapat diatasi dengan menggabung perangkat yang ada dengan sistem DOS (Distributed Operating System).
b. Manfaat komputasi
Salah satu keunggulan sistem operasi terdistribusi ini adalah bahwa komputasi berjalan dalam keadaan pararel. Proses komputasi ini dipecah dalam banyak titik (nodes), yangmungkin berupa komputer pribadi, prosesor tersendiri, dan kemungkinan perangkat prosesor-prosesor yang lain. Sistem operasi terdistribusi ini bekerja baik dalammemecah komputasi ini dan baik pula dalam mengambil kembali hasil komputasi dari titik-titik cluster untuk ditampilkan hasilnya.
c. Reliabilitas
Fitur unik yang dimiliki oleh DOS ini adalah reliabilitas. Berdasarkan design dan implementasi dari design sistem ini, maka hilangnya suatu node tidak akan berdampak terhadap integritas system. Hal ini berbeda dengan computer personal, apabila ada salah satu hardware yang mengalami kerusakan, maka system akan berjalan tidak seimbang, bahkan sistem bisa tidak dapat berjalan atau mati. Dalam sistem operasi terdistribusi tadi sebenarnya cara kerjanya mirip dengan personal computer, tetapi bedanya apabila ada node yangmati, maka akan terjadi proses halt terhadap node tersebut dan proses komputasi dapat dialihkan. Hal ini akan membuat sistem DOS selalu memiliki reliabilitas yang tinggi.
d. Komunikasi
Sistem operasi terdistribusi biasanya berjalan dalam jaringan, dan biasanya melayani koneksi jaringan. Sistem ini biasanya digunakan user untuk proses networking. User dapat saling bertukar data, atau saling berkomunikasi antar titik baik secara LAN maupun WAN.
Sabtu, 15 Januari 2011
BAB VI
BAB VI
NAME SERVICE
1. Pengenalan
Pengaksesan resource pd sistem terdistribusi memerlukan:
a. Nama resource (untuk pemanggilan).
b. Alamat (lokasi resource tsb).
c. Rute (bagaimana mencapai lokasi tsb).
Konsentrasi pada aspek penamaan, dan pemetaan antara nama & alamat, bukan pada masalah rute, yg dibahas di Jaringan Komputer. Yang dimaksud dengan resource adalah : komputer, layanan, remote object, berkas, pemakai.
Berikut contoh naming pd aplikasi sistem terdistribusi:
• URL utk mengakses suatu halaman web.
• Alamat e-mail utk komunikasi antar pemakai.
Naming sering dianggap remeh, tapi mendasar dlm sistem terdistribusi. Karena dalam hal ini name berfungsi sebagai identifier (pengenal) pada system.
2. Tujuan penamaan
• Identifikasi:
Seorang pemakai menginginkan obyek/layanan A, bukan obyek/layanan B.
• Memungkinkan terjadinya sharing
Lebih dari satu pemakai dapat mengindentifikasikan resource dengan nama yang sesuai (tidak harus nama yang sama).
• Memungkinkan location independence:
Perubahan lokasi tidak menuntut perubahan nama, asalkan lokasi tidak menjadi bagian dari nama resource tsb.
• Memberikan kemampuan keamanan (security)
Jika sebuah nama dipilih secara acak dari himpunan besar interger, maka nama tsb hanya bisa diketahui dari legitimate source, bukan dari menebak.
Jadi jika seseorang mengetahui nama obyek tsb, maka dia memang diberitahu, karena sulit sekali menebak nama tsb.
3. Jenis nama
User names:
• Dibuat oleh pemakai (user).
• Merujuk pada suatu obyek atau layanan.
• Terdiri dari strings of characters.
Contoh: hp201 untuk pencetak, ~bettyp/tmp/test.c untuk berkas.
System names:
Terdiri dari bit string.
Internal untuk sistem, tidak ditujukan untuk manusia.
Lebih compact dari user names, shg dapat dibandingkan dengan lebih efisien.
4. Struktur nama
Primitive/‡at names (Unique Identi…ers = UIDs)
a. Tanpa struktur internal, hanya string of bits.
b. Digunakan utk perbandingan dengan UID lain.
c. Tidak membawa informasi lain -> pure names.
d. Sangat berguna & banyak digunakan karena:
• Location & application independent, shg tidak menjadi masalah bagi mobilitas obyek.
• Seragam, fixed size.
• Compact: mudah disimpan, di-pass, & jika cukup besar menjadi sulit ditebak.
a) Partitioned Names (PN)
Komposisi dari beberapa nama primitif, biasanya disusun secara hirarkis. Contoh: www.gunadarma.ac.id/cs/docs/akademik/SisDis/naming.ppt.
Membawa informasi -> impure names.
Biasanya tidak secara unik mengidenti…kasikan obyek, beberapa nama bisa dipetakan ke satu obyek (e.g. UNIX file links).
b) Descriptive names (DN)
Daftar atribut yang secara bersama-sama mengidentifikasikan obyek secara unik.
Membawa informasi -> impure names.
DN adalah superset dari PN.
5. Tujuan fasilitas Penamaan
a. Efisien, karena fasilitas penamaan merupakan dasar pada sisdis & digunakan secara terus menerus.
b. Terdistribusi. Renungkan jika UIDs dibangkitkan oleh centralized generator.
• Bottleneck.
• Node tempat generator tsb mengalami kegagalan.
c. Tampak seperti global space, tidak tergantung konekti…tas, topologi, dan lokasi obyek.
d. Mendukung pemetaan 1:many antara nama & obyek, untuk memungkinkan multicast.
e. Mendukung dynamic relocation of objects, jika obyek/proses potensial untuk mobile (berpindah-pindah). Jadi diperlukan dynamic binding antara nama & alamat, juga antara alamat & rute.
f. Memungkinkan local aliases, shg pemakai dapat mengekspresikan interpretasi semantik mereka thdp suatu obyek. Tentu saja diperlukan pemetaan antara aliases dan full names.
NAME SERVICE
1. Pengenalan
Pengaksesan resource pd sistem terdistribusi memerlukan:
a. Nama resource (untuk pemanggilan).
b. Alamat (lokasi resource tsb).
c. Rute (bagaimana mencapai lokasi tsb).
Konsentrasi pada aspek penamaan, dan pemetaan antara nama & alamat, bukan pada masalah rute, yg dibahas di Jaringan Komputer. Yang dimaksud dengan resource adalah : komputer, layanan, remote object, berkas, pemakai.
Berikut contoh naming pd aplikasi sistem terdistribusi:
• URL utk mengakses suatu halaman web.
• Alamat e-mail utk komunikasi antar pemakai.
Naming sering dianggap remeh, tapi mendasar dlm sistem terdistribusi. Karena dalam hal ini name berfungsi sebagai identifier (pengenal) pada system.
2. Tujuan penamaan
• Identifikasi:
Seorang pemakai menginginkan obyek/layanan A, bukan obyek/layanan B.
• Memungkinkan terjadinya sharing
Lebih dari satu pemakai dapat mengindentifikasikan resource dengan nama yang sesuai (tidak harus nama yang sama).
• Memungkinkan location independence:
Perubahan lokasi tidak menuntut perubahan nama, asalkan lokasi tidak menjadi bagian dari nama resource tsb.
• Memberikan kemampuan keamanan (security)
Jika sebuah nama dipilih secara acak dari himpunan besar interger, maka nama tsb hanya bisa diketahui dari legitimate source, bukan dari menebak.
Jadi jika seseorang mengetahui nama obyek tsb, maka dia memang diberitahu, karena sulit sekali menebak nama tsb.
3. Jenis nama
User names:
• Dibuat oleh pemakai (user).
• Merujuk pada suatu obyek atau layanan.
• Terdiri dari strings of characters.
Contoh: hp201 untuk pencetak, ~bettyp/tmp/test.c untuk berkas.
System names:
Terdiri dari bit string.
Internal untuk sistem, tidak ditujukan untuk manusia.
Lebih compact dari user names, shg dapat dibandingkan dengan lebih efisien.
4. Struktur nama
Primitive/‡at names (Unique Identi…ers = UIDs)
a. Tanpa struktur internal, hanya string of bits.
b. Digunakan utk perbandingan dengan UID lain.
c. Tidak membawa informasi lain -> pure names.
d. Sangat berguna & banyak digunakan karena:
• Location & application independent, shg tidak menjadi masalah bagi mobilitas obyek.
• Seragam, fixed size.
• Compact: mudah disimpan, di-pass, & jika cukup besar menjadi sulit ditebak.
a) Partitioned Names (PN)
Komposisi dari beberapa nama primitif, biasanya disusun secara hirarkis. Contoh: www.gunadarma.ac.id/cs/docs/akademik/SisDis/naming.ppt.
Membawa informasi -> impure names.
Biasanya tidak secara unik mengidenti…kasikan obyek, beberapa nama bisa dipetakan ke satu obyek (e.g. UNIX file links).
b) Descriptive names (DN)
Daftar atribut yang secara bersama-sama mengidentifikasikan obyek secara unik.
Membawa informasi -> impure names.
DN adalah superset dari PN.
5. Tujuan fasilitas Penamaan
a. Efisien, karena fasilitas penamaan merupakan dasar pada sisdis & digunakan secara terus menerus.
b. Terdistribusi. Renungkan jika UIDs dibangkitkan oleh centralized generator.
• Bottleneck.
• Node tempat generator tsb mengalami kegagalan.
c. Tampak seperti global space, tidak tergantung konekti…tas, topologi, dan lokasi obyek.
d. Mendukung pemetaan 1:many antara nama & obyek, untuk memungkinkan multicast.
e. Mendukung dynamic relocation of objects, jika obyek/proses potensial untuk mobile (berpindah-pindah). Jadi diperlukan dynamic binding antara nama & alamat, juga antara alamat & rute.
f. Memungkinkan local aliases, shg pemakai dapat mengekspresikan interpretasi semantik mereka thdp suatu obyek. Tentu saja diperlukan pemetaan antara aliases dan full names.
Jumat, 14 Januari 2011
BAB V
File Sistem Terdistribusi ( Distributed File System , disingkat DFS - penulis akan
menggunakan kata ini selanjutnya) adalah file sistem yang mendukung sharing files dan
resources dalam bentuk penyimpanan persistent di sebuah network. File server pertama kali
didevelop pada tahun 1970 dan Sun NFS (Network File System) menjadi DFS pertama yang
banyak digunakan setelah awal pemunculannya di tahun 1985. DFS yang terkenal selain NFS
adalah AFS (Andrew File System) dan CIFS (Common Internet File System).
Sebuah file server menyediakan file service ke client. Dari sisi client terdapat interface
untuk file service dalam hal operasi primitif file, seperti membuat file (create), menghapus
(delete) dan read / write file. Komponen perangkat keras utama yang mana file server
mengontrolnya adalah sebuah local storage (umumnya disk drive / HDD). Ditempat itulah
file-file tersimpan dan dari tempat tersebut request client meretrive file. Pada DFS client,
server dan juga perangkat penyimpanan merupakan mesin terpisah dalam sebuah lingkungan
terdistribusi (Intranet). Jadi, aktifitas layanan (service) dibawa melewati jaringan (network),
jadi selain sistem memiliki satu data terpusat, sistem memiliki beberapa perangkat
penyimpanan independent. Konfigurasi konkret dan juga implementasi dari sebuah DFS dapat
beragam bentuknya. Dalam beberapa konfigurasi, server berjalan sebagai dedicated machine
(layanan terpusat) atau juga menjadi server dan client. DFS dapat diimplementasikan sebagai
bagian dari Sistem Operasi Terdistribusi dengan sebuah layer software yang tugasnya
mengatur komunikasi antara sistem operasi konvensional dan file system.
Parameter untuk mancapai DFS adalah transparansi. Secara ideal, DFS terlihat sebagai
bentuk file system terpusat, faktor keseragaman (multiplicity) dan penyebaran server serta
perangkat penyimpanan tidak terlihat oleh user. Oleh karena itu interface client yang
digunakan program tidak akan membedakan antara file local dan remote. Semuanya
tergantung dari implementator DFS untuk mengalokasikan file-file dan menyusun transportasi
data. Kelebihan lain dari DFS adalah peningkatan performa. Yang menjadi tolak ukur
pengukuran performa DFS adalah waktu yang dibutuhkan untuk merespon request layanan.
Saling berbagi media penyimpanan informasi sudah menjadi sesuatu hal yang penting
dalam resource sharing. Desain service file terdistribusi yang baik adalah menyediakan akses
distribusi file dengan performansi dan realibilitas yang sama atau lebih baik dari penyimpanan
file-file dalam disk local dalam bentuk transparent.
Desain skala besar dari proses sistem penyimpanan baca tulis file pada wide area
menimbulkan masalah pada load balancing, reliabilitas, avaibility dan security. File sistem
yang terdistribusi mengemulasikan fungsionalitas dari file sistem tak terdistribusi untuk
program client yang berjalan pada komputer remote. File sistem terdistribusi juga
menyediakan hal-hal pokok untuk pengorganisasian komputer yang berbasiskan jaringan
intranet.
Pengenalan File Service
File service adalah suatu perincian atau pelayanan dari file system yang ditawarka
pada komputer client. Suatu file server adalah implementasi dari file service dan berjalan pada
satu atau lebih mesin. File itu sendiri berisi dari nama, data dan atribut file seperti
kepemilikan file, ukuran, waktu pembuatan file dan hak akses file. File sistem merupakan
mekanisme penyimpanan on-line serta untuk akses, baik data maupun program yang berada
dalam sistem operasi.
Karakteristik dari File System
File Sistem adalah bertanggung jawab untuk pengorganisasian, penyimpanan,
pencarian keterangan, penamaan, sharing atau pembagian dan protection atau perlindungan
dari file-file. File berisi dari dua bagian penting yaitu data dan atribut. File sistem didesain
untuk menyimpan dan mengatur banyak dan besar file dengan fasilitas untuk membuat,
memberi nama dan menghapus file. File system juga bertanggung jawab untuk pengontrolan
dari akses file, akses terbatas ke file oleh user yang berhak dan tipe-tipe dari akses yang
diminta.
- Operasi pada file (=data + atribut)
Create / delete
Query / Modifikasi Atribut
Open / Close
Read / Write
Akses Kontrol
- Organisasi penyimpanan
Struktur direktori (hirarki, pathname)
Metadata (pengaturan informasi file) : atribut file, informasi struktur direktori,
dll
Atribut File
File adalah kumpulan informasi berkait yang diberi nama dan direkam pada
penyimpanan sekunder. Atribut file terdir dari :
1. Nama
Merupakan satu-satunya informasi yang tetap dalam bentuk yang bisa dibaca oleh
manusia (human readable form)
2. Type
Dibutuhkan untuk sistem yang mendukung beberapa tipe berbeda
3. Lokasi
Merupakan pointer atau penunjuk ke device dan lokasi file pada device tersebut berada
menggunakan kata ini selanjutnya) adalah file sistem yang mendukung sharing files dan
resources dalam bentuk penyimpanan persistent di sebuah network. File server pertama kali
didevelop pada tahun 1970 dan Sun NFS (Network File System) menjadi DFS pertama yang
banyak digunakan setelah awal pemunculannya di tahun 1985. DFS yang terkenal selain NFS
adalah AFS (Andrew File System) dan CIFS (Common Internet File System).
Sebuah file server menyediakan file service ke client. Dari sisi client terdapat interface
untuk file service dalam hal operasi primitif file, seperti membuat file (create), menghapus
(delete) dan read / write file. Komponen perangkat keras utama yang mana file server
mengontrolnya adalah sebuah local storage (umumnya disk drive / HDD). Ditempat itulah
file-file tersimpan dan dari tempat tersebut request client meretrive file. Pada DFS client,
server dan juga perangkat penyimpanan merupakan mesin terpisah dalam sebuah lingkungan
terdistribusi (Intranet). Jadi, aktifitas layanan (service) dibawa melewati jaringan (network),
jadi selain sistem memiliki satu data terpusat, sistem memiliki beberapa perangkat
penyimpanan independent. Konfigurasi konkret dan juga implementasi dari sebuah DFS dapat
beragam bentuknya. Dalam beberapa konfigurasi, server berjalan sebagai dedicated machine
(layanan terpusat) atau juga menjadi server dan client. DFS dapat diimplementasikan sebagai
bagian dari Sistem Operasi Terdistribusi dengan sebuah layer software yang tugasnya
mengatur komunikasi antara sistem operasi konvensional dan file system.
Parameter untuk mancapai DFS adalah transparansi. Secara ideal, DFS terlihat sebagai
bentuk file system terpusat, faktor keseragaman (multiplicity) dan penyebaran server serta
perangkat penyimpanan tidak terlihat oleh user. Oleh karena itu interface client yang
digunakan program tidak akan membedakan antara file local dan remote. Semuanya
tergantung dari implementator DFS untuk mengalokasikan file-file dan menyusun transportasi
data. Kelebihan lain dari DFS adalah peningkatan performa. Yang menjadi tolak ukur
pengukuran performa DFS adalah waktu yang dibutuhkan untuk merespon request layanan.
Saling berbagi media penyimpanan informasi sudah menjadi sesuatu hal yang penting
dalam resource sharing. Desain service file terdistribusi yang baik adalah menyediakan akses
distribusi file dengan performansi dan realibilitas yang sama atau lebih baik dari penyimpanan
file-file dalam disk local dalam bentuk transparent.
Desain skala besar dari proses sistem penyimpanan baca tulis file pada wide area
menimbulkan masalah pada load balancing, reliabilitas, avaibility dan security. File sistem
yang terdistribusi mengemulasikan fungsionalitas dari file sistem tak terdistribusi untuk
program client yang berjalan pada komputer remote. File sistem terdistribusi juga
menyediakan hal-hal pokok untuk pengorganisasian komputer yang berbasiskan jaringan
intranet.
Pengenalan File Service
File service adalah suatu perincian atau pelayanan dari file system yang ditawarka
pada komputer client. Suatu file server adalah implementasi dari file service dan berjalan pada
satu atau lebih mesin. File itu sendiri berisi dari nama, data dan atribut file seperti
kepemilikan file, ukuran, waktu pembuatan file dan hak akses file. File sistem merupakan
mekanisme penyimpanan on-line serta untuk akses, baik data maupun program yang berada
dalam sistem operasi.
Karakteristik dari File System
File Sistem adalah bertanggung jawab untuk pengorganisasian, penyimpanan,
pencarian keterangan, penamaan, sharing atau pembagian dan protection atau perlindungan
dari file-file. File berisi dari dua bagian penting yaitu data dan atribut. File sistem didesain
untuk menyimpan dan mengatur banyak dan besar file dengan fasilitas untuk membuat,
memberi nama dan menghapus file. File system juga bertanggung jawab untuk pengontrolan
dari akses file, akses terbatas ke file oleh user yang berhak dan tipe-tipe dari akses yang
diminta.
- Operasi pada file (=data + atribut)
Create / delete
Query / Modifikasi Atribut
Open / Close
Read / Write
Akses Kontrol
- Organisasi penyimpanan
Struktur direktori (hirarki, pathname)
Metadata (pengaturan informasi file) : atribut file, informasi struktur direktori,
dll
Atribut File
File adalah kumpulan informasi berkait yang diberi nama dan direkam pada
penyimpanan sekunder. Atribut file terdir dari :
1. Nama
Merupakan satu-satunya informasi yang tetap dalam bentuk yang bisa dibaca oleh
manusia (human readable form)
2. Type
Dibutuhkan untuk sistem yang mendukung beberapa tipe berbeda
3. Lokasi
Merupakan pointer atau penunjuk ke device dan lokasi file pada device tersebut berada
Kamis, 13 Januari 2011
BAB III
Proses
3.1 Konsep Proses
Jika kita berdiskusi mengenai sistem operasi, maka akan timbul sebuah
pertanyaan yaitu mengenai istilah apa yang tepat untuk menyebut semua
kegiatan yang dilakukan oleh CPU. Sistem batch mengeksekusi jobs sebagaimana
suatu sistem time-share menggunakan program pengguna (user programs)
atau tasks. Bahkan pada sistem dengan pengguna tunggal pun,
seperti padaMicrosoftWindows dan Macintosh OS, seorang pengguna mampu
menjalankan beberapa program pada saat yang sama, contohnya Word Processor,
Web Browser, dan paket e-mail. Bahkan jika pengguna hanya dapat
menjalankan satu program pada satu waktu, sistem operasi perlu untuk mendukung
aktivitas program internalnya sendiri, seperti managemen memori.
Dalam banyak hal, seluruh aktivitas ini adalah serupa, maka kita menyebut
seluruh program itu proses-proses.
Istilah job dan proses digunakan hampir dapat dipertukarkan pada tulisan
ini. Walau kami sendiri lebih menyukai istilah proses, banyak teori dan terminologi
sistem operasi dikembangkan selama suatu waktu ketika aktivitas
utama sistem operasi adalah job processing. Akan membingungkan jika kita
menghindari penggunaan istilah yang telah diterima oleh masyarakat yang
memasukkan kata job hanya karena proses memiliki istilah job sebagai pengganti
atau pendahulunya.
PROSES 31
3.1.1 De…nisi Proses
Secara tidak langsung, proses merupakan program yang sedang dieksekusi.
Menurut Silberschatz, suatu proses adalah lebih dari sebuah kode program,
yang terkadang disebut text section. Proses jugamencakup program counter,
yaitu sebuah stack untuk menyimpan alamat dari instruksi yang akan dieksekusi
selanjutnya dan register. Sebuah proses pada umumnya juga memiliki
sebuah stack yang berisikan data-data yang dibutuhkan selama proses
dieksekusi seperti parameter metoda, alamat return dan variabel lokal, dan
sebuah data section yang menyimpan variabel global.
Sama halnya dengan Silberschatz, Tanenbaum juga berpendapat bahwa
proses adalah sebuah program yang dieksekusi yangmencakup program counter,
register, dan variabel di dalamnya.
Kami tekankan bahwa program itu sendiri bukanlah sebuah proses; suatu
program adalah satu entitas pasif; seperti isi dari sebuah berkas yang disimpan
didalam disket. Sedangkan sebuah proses dalam suatu entitas aktif,
dengan sebuah program counter yang menyimpan alamat instruksi selanjut
yang akan dieksekusi dan seperangkat sumber daya (resource) yang dibutuhkan
agar sebuah proses dapat dieksekusi.
Untuk mempermudah kita membedakan program dengan proses, kita
akan menggunakan analogi yang diberikan oleh Tanenbaum. Misalnya ada
seorang tukang kue yang ingin membuat kue ulang tahun untuk anaknya.
Tukang kue tersebut memiliki resep kue ulang tahun dan bahan-bahan yang
dibutuhkan untuk membuat kue ulang tahun di dapurnya seperti: tepung
terigu, telur, gula, bubuk vanila dan bahan-bahan lainnya. Dalam analogi
ini, resep kue ulang tahun adalah sebuah program, si tukang kue tersebut
adala prosesor (CPU), dan bahan-bahan untuk membuat kue tersebut adalah
data input. Sedangkan proses-nya adalah kegiatan sang tukang kue untuk
membaca resep, mengolah bahan, dan memanggang kue tersebut.
Walau dua proses dapat dihubungkan dengan program yang sama, program
tersebut dianggap dua urutan eksekusi yang berbeda. Sebagai contoh,
beberapa pengguna dapat menjalankan salinan yang berbeda pada mail program,
atau pengguna yang sama dapat meminta banyak salinan dari program
editor. Tiap-tiap proses ini adakah proses yang berbeda dan walau bagian
text-section adalah sama, data section-nya bervariasi. Adalah umum untuk
memiliki proses yang menghasilkan banyak proses begitu ia bekerja.
BAB 3. PROSES 32
3.1.2 Status Proses
Bila sebuah proses dieksekusi, maka statusnya akan berubah-ubah. Status
dari sebuah proses mencerminkan aktivitas atau keadaan dari proses itu
sendiri. Berikut ini adalah status-status yangmungkin dimiliki sebuah proses
menurut Tanenbaum:
² Running: pada saat menggunakan CPU pada suatu waktu.
² Ready: proses diberhentikan sementara karena menunggu proses lain
untuk dieksekusi.
² Blocked: tidak dijalankan sampai event dari luar, yang berhubungan
dengan proses tersebut terjadi.
Sedangkan menurut Silberschatz, terdapat lima macam jenis status yang
mungkin dimiliki oleh suatu proses:
² New: status yang dimiliki pada saat proses baru saja dibuat.
² Running: status yang dimiliki pada saat instruksi-instruksi dari sebuah
proses dieksekusi.
² Waiting: status yang dimiliki pada saat proses menunggu suatu event
(contohnya: proses I/O).
² Ready: status yang dimiliki pada saat proses siap untuk dieksekusi oleh
prosesor.
² Terminated: status yang dimiliki pada saat proses telah selesai dieksekusi.
Nama-nama tersebut adalah berdasar opini, istilah tersebut bervariasi di
sepanjang sistem operasi. Keadaan yang mereka gambarkan ditemukan pada
seluruh sistem. Namun, pada sistem operasi tertentu lebih baik menggambarkan
keadaan/status proses. Penting untuk diketahui bahwa hanya satu
proses yang dapat berjalan pada prosesor mana pun pada satu waktu. Namun,
banyak proses yang dapat berstatus ready atau waiting. Keadaan
diagram yang berkaitan dengan keadaan tersebut dijelaskan pada gambar
3.1
Ada tiga kemungkinan bila sebuah proses memiliki status running:
Thread
3.2.1 Apa itu thread ?
Threadmerupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread_ID,
program counter, register set, dan stack. Sebuah thread berbagi code section,
data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki
oleh proses yang sama. Thread juga sering disebut lightweight process.
Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal
yang berfungsi sebagai pengendali. Perbedaan antara proses dengan
thread tunggal dengan proses dengan thread yang banyak adalah proses dengan
thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu
satuan waktu.
Banyak perangkat lunak yang berjalan pada PC modern dirancang secara
multi-threading. Sebuah aplikasi biasanya diimplementasi sebagai proses
yang terpisah dengan beberapa thread yang berfungsi sebagai pengendali.
Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar
3.1 Konsep Proses
Jika kita berdiskusi mengenai sistem operasi, maka akan timbul sebuah
pertanyaan yaitu mengenai istilah apa yang tepat untuk menyebut semua
kegiatan yang dilakukan oleh CPU. Sistem batch mengeksekusi jobs sebagaimana
suatu sistem time-share menggunakan program pengguna (user programs)
atau tasks. Bahkan pada sistem dengan pengguna tunggal pun,
seperti padaMicrosoftWindows dan Macintosh OS, seorang pengguna mampu
menjalankan beberapa program pada saat yang sama, contohnya Word Processor,
Web Browser, dan paket e-mail. Bahkan jika pengguna hanya dapat
menjalankan satu program pada satu waktu, sistem operasi perlu untuk mendukung
aktivitas program internalnya sendiri, seperti managemen memori.
Dalam banyak hal, seluruh aktivitas ini adalah serupa, maka kita menyebut
seluruh program itu proses-proses.
Istilah job dan proses digunakan hampir dapat dipertukarkan pada tulisan
ini. Walau kami sendiri lebih menyukai istilah proses, banyak teori dan terminologi
sistem operasi dikembangkan selama suatu waktu ketika aktivitas
utama sistem operasi adalah job processing. Akan membingungkan jika kita
menghindari penggunaan istilah yang telah diterima oleh masyarakat yang
memasukkan kata job hanya karena proses memiliki istilah job sebagai pengganti
atau pendahulunya.
PROSES 31
3.1.1 De…nisi Proses
Secara tidak langsung, proses merupakan program yang sedang dieksekusi.
Menurut Silberschatz, suatu proses adalah lebih dari sebuah kode program,
yang terkadang disebut text section. Proses jugamencakup program counter,
yaitu sebuah stack untuk menyimpan alamat dari instruksi yang akan dieksekusi
selanjutnya dan register. Sebuah proses pada umumnya juga memiliki
sebuah stack yang berisikan data-data yang dibutuhkan selama proses
dieksekusi seperti parameter metoda, alamat return dan variabel lokal, dan
sebuah data section yang menyimpan variabel global.
Sama halnya dengan Silberschatz, Tanenbaum juga berpendapat bahwa
proses adalah sebuah program yang dieksekusi yangmencakup program counter,
register, dan variabel di dalamnya.
Kami tekankan bahwa program itu sendiri bukanlah sebuah proses; suatu
program adalah satu entitas pasif; seperti isi dari sebuah berkas yang disimpan
didalam disket. Sedangkan sebuah proses dalam suatu entitas aktif,
dengan sebuah program counter yang menyimpan alamat instruksi selanjut
yang akan dieksekusi dan seperangkat sumber daya (resource) yang dibutuhkan
agar sebuah proses dapat dieksekusi.
Untuk mempermudah kita membedakan program dengan proses, kita
akan menggunakan analogi yang diberikan oleh Tanenbaum. Misalnya ada
seorang tukang kue yang ingin membuat kue ulang tahun untuk anaknya.
Tukang kue tersebut memiliki resep kue ulang tahun dan bahan-bahan yang
dibutuhkan untuk membuat kue ulang tahun di dapurnya seperti: tepung
terigu, telur, gula, bubuk vanila dan bahan-bahan lainnya. Dalam analogi
ini, resep kue ulang tahun adalah sebuah program, si tukang kue tersebut
adala prosesor (CPU), dan bahan-bahan untuk membuat kue tersebut adalah
data input. Sedangkan proses-nya adalah kegiatan sang tukang kue untuk
membaca resep, mengolah bahan, dan memanggang kue tersebut.
Walau dua proses dapat dihubungkan dengan program yang sama, program
tersebut dianggap dua urutan eksekusi yang berbeda. Sebagai contoh,
beberapa pengguna dapat menjalankan salinan yang berbeda pada mail program,
atau pengguna yang sama dapat meminta banyak salinan dari program
editor. Tiap-tiap proses ini adakah proses yang berbeda dan walau bagian
text-section adalah sama, data section-nya bervariasi. Adalah umum untuk
memiliki proses yang menghasilkan banyak proses begitu ia bekerja.
BAB 3. PROSES 32
3.1.2 Status Proses
Bila sebuah proses dieksekusi, maka statusnya akan berubah-ubah. Status
dari sebuah proses mencerminkan aktivitas atau keadaan dari proses itu
sendiri. Berikut ini adalah status-status yangmungkin dimiliki sebuah proses
menurut Tanenbaum:
² Running: pada saat menggunakan CPU pada suatu waktu.
² Ready: proses diberhentikan sementara karena menunggu proses lain
untuk dieksekusi.
² Blocked: tidak dijalankan sampai event dari luar, yang berhubungan
dengan proses tersebut terjadi.
Sedangkan menurut Silberschatz, terdapat lima macam jenis status yang
mungkin dimiliki oleh suatu proses:
² New: status yang dimiliki pada saat proses baru saja dibuat.
² Running: status yang dimiliki pada saat instruksi-instruksi dari sebuah
proses dieksekusi.
² Waiting: status yang dimiliki pada saat proses menunggu suatu event
(contohnya: proses I/O).
² Ready: status yang dimiliki pada saat proses siap untuk dieksekusi oleh
prosesor.
² Terminated: status yang dimiliki pada saat proses telah selesai dieksekusi.
Nama-nama tersebut adalah berdasar opini, istilah tersebut bervariasi di
sepanjang sistem operasi. Keadaan yang mereka gambarkan ditemukan pada
seluruh sistem. Namun, pada sistem operasi tertentu lebih baik menggambarkan
keadaan/status proses. Penting untuk diketahui bahwa hanya satu
proses yang dapat berjalan pada prosesor mana pun pada satu waktu. Namun,
banyak proses yang dapat berstatus ready atau waiting. Keadaan
diagram yang berkaitan dengan keadaan tersebut dijelaskan pada gambar
3.1
Ada tiga kemungkinan bila sebuah proses memiliki status running:
² Jika program telah selesai dieksekusi maka status dari proses tersebut
akan berubah menjadi Terminated.
² Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis
maka akan terjadi interrupt dan proses tersebut kini berstatus Ready.
² Jika suatu event terjadi pada saat proses dieksekusi (seperti ada request
I/O) maka proses tersebut akan menunggu event tersebut selesai dan
proses berstatus Waiting.
3.1.3 Proses Control Block
Tiap proses digambarkan dalam sistem operasi oleh sebuah process control
block (PCB) - juga disebut sebuah control block. Sebuah PCB ditunjukkan
dalam Gambar 3.2. PCB berisikan banyak bagian dari informasi yang
berhubungan dengan sebuah proses yang spesi…k, termasuk hal-hal di bawah
ini:
² Status proses: status mungkin, new, ready, running, waiting, halted,
dan juga banyak lagi.
² Program counter: suatu stack yang berisi alamat dari instruksi selanjutnya
untuk dieksekusi untuk proses ini.
BAB 3. PROSES 34
² CPU register: Register bervariasi dalam jumlah dan jenis, tergantung
pada rancangan komputer. Register tersebut termasuk accumulator,
register indeks, stack pointer, general-purposes register, ditambah code
information pada kondisi apa pun. Beserta dengan program counter,
keadaan/status informasi harus disimpan ketika gangguan terjadi, untukmemungkinkan
proses tersebut berjalan/bekerja dengan benar setelahnya
(lihat Gambar 3.3Tiap proses digambarkan dalamsistem operasi
oleh sebuah process control block (PCB) - juga disebut sebuah control
block. Sebuah PCB ditunjukkan dalam Gambar 3-2. PCB berisikan
banyak bagian dari informasi yang berhubungan dengan sebuah proses
yang spesi…k, termasuk hal-hal di bawah ini:
² Status proses: status mungkin, new, ready, running, waiting, halted,
dan juga banyak lagi.
² Program counter: suatu stack yang berisi alamat dari instruksi selanjutnya
untuk dieksekusi untuk proses ini.
² CPU register: Register bervariasi dalam jumlah dan jenis, tergantung
pada rancangan komputer. Register tersebut termasuk accumulator,
register indeks, stack pointer, general-purposes register, ditambah code
information pada kondisi apa pun. Beserta dengan program counter,
keadaan/status informasi harus disimpan ketika gangguan terjadi, untukmemungkinkan
proses tersebut berjalan/bekerja dengan benar setelahnya
(lihat Gambar 3.3).
² Informasi managemen memori: Informasi ini dapat termasuk suatu informasi
sebagai nilai dari dasar dan batas register, tabel page/halaman,
atau tabel segmen tergantung pada sistem memori yang digunakan oleh
sistem operasi (lihat Bab 5).
² Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan
waktu riil yang digunakan, batas waktu, jumlah akun jumlah job atau
proses, dan banyak lagi.
² Informasi status I/O: Informasi termasuk daftar dari perangkat I/O
yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang
diakses dan banyak lagi.
² PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat
bervariasi dari proses yang satu dengan yang lain.
akan berubah menjadi Terminated.
² Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis
maka akan terjadi interrupt dan proses tersebut kini berstatus Ready.
² Jika suatu event terjadi pada saat proses dieksekusi (seperti ada request
I/O) maka proses tersebut akan menunggu event tersebut selesai dan
proses berstatus Waiting.
3.1.3 Proses Control Block
Tiap proses digambarkan dalam sistem operasi oleh sebuah process control
block (PCB) - juga disebut sebuah control block. Sebuah PCB ditunjukkan
dalam Gambar 3.2. PCB berisikan banyak bagian dari informasi yang
berhubungan dengan sebuah proses yang spesi…k, termasuk hal-hal di bawah
ini:
² Status proses: status mungkin, new, ready, running, waiting, halted,
dan juga banyak lagi.
² Program counter: suatu stack yang berisi alamat dari instruksi selanjutnya
untuk dieksekusi untuk proses ini.
BAB 3. PROSES 34
² CPU register: Register bervariasi dalam jumlah dan jenis, tergantung
pada rancangan komputer. Register tersebut termasuk accumulator,
register indeks, stack pointer, general-purposes register, ditambah code
information pada kondisi apa pun. Beserta dengan program counter,
keadaan/status informasi harus disimpan ketika gangguan terjadi, untukmemungkinkan
proses tersebut berjalan/bekerja dengan benar setelahnya
(lihat Gambar 3.3Tiap proses digambarkan dalamsistem operasi
oleh sebuah process control block (PCB) - juga disebut sebuah control
block. Sebuah PCB ditunjukkan dalam Gambar 3-2. PCB berisikan
banyak bagian dari informasi yang berhubungan dengan sebuah proses
yang spesi…k, termasuk hal-hal di bawah ini:
² Status proses: status mungkin, new, ready, running, waiting, halted,
dan juga banyak lagi.
² Program counter: suatu stack yang berisi alamat dari instruksi selanjutnya
untuk dieksekusi untuk proses ini.
² CPU register: Register bervariasi dalam jumlah dan jenis, tergantung
pada rancangan komputer. Register tersebut termasuk accumulator,
register indeks, stack pointer, general-purposes register, ditambah code
information pada kondisi apa pun. Beserta dengan program counter,
keadaan/status informasi harus disimpan ketika gangguan terjadi, untukmemungkinkan
proses tersebut berjalan/bekerja dengan benar setelahnya
(lihat Gambar 3.3).
² Informasi managemen memori: Informasi ini dapat termasuk suatu informasi
sebagai nilai dari dasar dan batas register, tabel page/halaman,
atau tabel segmen tergantung pada sistem memori yang digunakan oleh
sistem operasi (lihat Bab 5).
² Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan
waktu riil yang digunakan, batas waktu, jumlah akun jumlah job atau
proses, dan banyak lagi.
² Informasi status I/O: Informasi termasuk daftar dari perangkat I/O
yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang
diakses dan banyak lagi.
² PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat
bervariasi dari proses yang satu dengan yang lain.
3.2.1 Apa itu thread ?
Threadmerupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread_ID,
program counter, register set, dan stack. Sebuah thread berbagi code section,
data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki
oleh proses yang sama. Thread juga sering disebut lightweight process.
Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal
yang berfungsi sebagai pengendali. Perbedaan antara proses dengan
thread tunggal dengan proses dengan thread yang banyak adalah proses dengan
thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu
satuan waktu.
Banyak perangkat lunak yang berjalan pada PC modern dirancang secara
multi-threading. Sebuah aplikasi biasanya diimplementasi sebagai proses
yang terpisah dengan beberapa thread yang berfungsi sebagai pengendali.
Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar
atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data
dari network.
Kadang kala ada situasi dimana sebuah aplikasi diperlukan untuk menjalankan
beberapa tugas yang serupa. Sebagai contohnya sebuah web server
dapatmempunyai ratusan klien yangmengaksesnya secara concurrent. Kalau
web server berjalan sebagai proses yang hanya mempunyai thread tunggal
maka ia hanya dapat melayani satu klien pada pada satu satuan waktu. Bila
ada klien lain yang ingin mengajukan permintaan maka ia harus menunggu
sampai klien sebelumnya selesai dilayani. Solusinya adalah dengan membuat
web server menjadi multi-threading. Dengan ini maka sebuah web server
akan membuat thread yang akan mendengar permintaan klien, ketika permintaan
lain diajukan maka web server akan menciptakan thread lain yang
akan melayani permintaan tersebut.
Java mempunyai pengunaan lain dari thread. Perlu diketahui bahwa
Java tidak mempunyai konsep asynchronous. Sebagai contohnya kalau program
java mencoba untuk melakukan koneksi ke server maka ia akan berada
dalam keadaan block state sampai koneksinya jadi (dapat dibayangkan apa
yang terjadi apabila servernya mati). Karena Java tidak memiliki konsep
asynchronous maka solusinya adalah dengan membuat thread yang mencoba
dari network.
Kadang kala ada situasi dimana sebuah aplikasi diperlukan untuk menjalankan
beberapa tugas yang serupa. Sebagai contohnya sebuah web server
dapatmempunyai ratusan klien yangmengaksesnya secara concurrent. Kalau
web server berjalan sebagai proses yang hanya mempunyai thread tunggal
maka ia hanya dapat melayani satu klien pada pada satu satuan waktu. Bila
ada klien lain yang ingin mengajukan permintaan maka ia harus menunggu
sampai klien sebelumnya selesai dilayani. Solusinya adalah dengan membuat
web server menjadi multi-threading. Dengan ini maka sebuah web server
akan membuat thread yang akan mendengar permintaan klien, ketika permintaan
lain diajukan maka web server akan menciptakan thread lain yang
akan melayani permintaan tersebut.
Java mempunyai pengunaan lain dari thread. Perlu diketahui bahwa
Java tidak mempunyai konsep asynchronous. Sebagai contohnya kalau program
java mencoba untuk melakukan koneksi ke server maka ia akan berada
dalam keadaan block state sampai koneksinya jadi (dapat dibayangkan apa
yang terjadi apabila servernya mati). Karena Java tidak memiliki konsep
asynchronous maka solusinya adalah dengan membuat thread yang mencoba
BAB II
Komunikasi
2.1 Sistem Komunikasi
Pada bab ini akan dibahas bagaimana komunikasi antara object2 dalam sistem
terdistribusi, khusus nya dengan menggunakan RMI (Remod Method
Invokation) dan RPC (Remote Procedure Call). RMI dan RPC berbasiskan
metode request dan reply.
Gambar~2.1: Model komunikasi dan implementasi layer pada sistem terdistribusi
Request dan repy diimplementasikan pada protokol jaringan.
KOMUNIKASI
2.2 Network Protocol
Middleware dan aplikasi terdistribusi di implementasikan diatas protokol network.
Protocol diimplementasikan dalam beberapa lapisan (layer).
TCP dan UDP
TCP
TCP ( Transport Control Protocol) dan UDP (User Datagram Protocol)
adalah protokol transport yang berada di atas lapisan Internet Protocol (IP).
TCP adalah protocol yang handal, TCP dapat memastikan data yang
dikirimkan sampai ke tujuan begitu juga sebaliknya.
TCP menambahkan beberapa prosedur diatas layer internet protocol untuk
memastikan reliabilitas transport data :
² Sequencing
Pada setiap transmisi data (paket) diberi nomor urut. Sehingga pada
titik tujuan tidak ada segmen yang diterima sampai semua segmen
pada urutan bawah belum di terima.
² Flow Control
Pengirim tidak akanmembanjiri penerima.Karena pengiriman didasarkan
pada periode acknowledgment yang di terima oleh pengirim yang berasal
dari penerima.
² Retrasnmission dan duplicate handling
KOMUNIKASI
Apabila segmen tidak mendapatkan acknowledge dari penerima sampai
waktu timeout yang ditentukan terlampaui maka pengirim akan mengirim
ulang. Berdasarkan nomor urut penerima data dapat mendeteksi
dan menolak kalau terjadi duplikasi.
² Bu¤ering
Bu¤ering digunakan untuk menyeimbangkan antara pengirim dan penerima.
Kalau bu¤er pada penerima penuh, maka segmen yang datang
akan putus, sehingga menyebabkan tidak ada acknowledge ke pengirim
dan pengirim akan melakukan transmot ulang.
² Checksum
Setiap segment membawa checksum. Apabila checksum segmen yang
di terima tidak sesuai maka paket data tersebut akan di drop (dan
kemudian akan di transmit ulang)
UDP
UDP tidak memberikan garansi seperti halnya yang di berikan oleh TCP.
² UDP tidak memberikan garansi terhadap pengiriman data
Pada Internet Protocol paket data dapat drop karena suatu hal contohnya
jaringan yang rusak, UDP tidak mempunyai mekanisme untuk
menanggulangi hal tersebut.
² Kalau ingin menggunakan UDP sebagai protocol pengiriman yang handal,
makamekanisme kehandalan yang diinginkan di lakukan pada layer
aplikasi.
2.2.2 Komunikasi Request - Reply
Komunikasi antara proses dan objek pada sistem terdistribusi dilakukan
melalui message passing.
KOMUNIKASI
Client melakukan :
1. Mengirim (request) pesan ke server
2. Menerima hasil (reply dari server)
Server melakukan :
1. Penerimaan pesan (request) dari client
2. Mengeksekusi permintaan dari client
3. Mengirim hasil (reply) ke client.
2.3 RPC dan RMI
Tujuan dari RPC dan RMI dibuat bagi programmer, agar computer yang
terdistribusi terlihat seperti computer yang terpusat. Dan berguna untuk
melihat sistem terdistribusi dari sisi pemrogramman.
RPC dan RMI berada pada Middleware
2.3.1 RMI (Remote Method Invocation)
Berikut ilustrasi
2. Menerima hasil (reply dari server)
Server melakukan :
1. Penerimaan pesan (request) dari client
2. Mengeksekusi permintaan dari client
3. Mengirim hasil (reply) ke client.
2.3 RPC dan RMI
Tujuan dari RPC dan RMI dibuat bagi programmer, agar computer yang
terdistribusi terlihat seperti computer yang terpusat. Dan berguna untuk
melihat sistem terdistribusi dari sisi pemrogramman.
RPC dan RMI berada pada Middleware
2.3.1 RMI (Remote Method Invocation)
Berikut ilustrasi
BAB I
Pendahuluan
1.1 Apakah yang dimaksud dengan SistemTerdistribusi?
Sistem Terdistribusi adalah Sekumpulan komputer otonom yang terhubung
ke suatu jaringan, dimana bagi pengguna sistem terlihat sebagai satu komputer.
Maksud komputer otonomi adalah walaupun komputer tidak terhubung
ke jaringan, komputer tersebut tetap data berjalan.
Dengan menjalankan sistem terdistribusi, komputer dapat melakukan :
² Koordinasi Aktivitas
² Berbagi sumber daya : hardware, software dan data
Dengan de…nisi tersebut diatas maka internet sesungguhnya bukanlah suatu
sistem terdistribusi, melainkan infrastruktur dimana sistem terdistribusi
dapat di aplikasikan pada jaringan tersebut.
1.2 Contoh Sistem Terdistribusi
² Sistem Telepon
- ISDN, PSTN
² Manajemen Jaringan
- Adminstrasi sesumber jaringan
Gambar~1.1: Contoh sistem terdistribusi, Automatic Banking (teller machine)
System
² Network File System (NFS)
- Arsitektur untuk mengakses siste file melalui jaringan
² WWW
- Arsitektur client/server yang diterapkan di atas infrastruktur internet
- Shared Resource (melalui URL)
² dll...
BAB 1. PENDAHULUAN 8
1.3 Keuntungan dan Permasalahan SistemTerditribusi
1.3.1 Keuntungan Sistem Terdistribusi
Keuntungan yang didapatkan dalam menerapkan sistem terdistribusi, antara
lain :
² Performance
Kumpulan dari beberapa prosesor akan memberikan kinerja yang lebih
baik dari pada komputer yang terpusat. Begitu juga kalau dilihat dari
sisi biaya.
² Distribution
² Reliability (Fault tolerance)
apabila salah satu komponen terjadi kerusakan, system tetap dapat
berjalan
² Incremental Growth
Mudah dalam melakukan penambahan komputer/komponen
² Sharing Data/Resources
Berbagi data adalah salah satu hal yang pokok pada kebanyakan aplikasi.
1.3.2 Permasalahan dalam Sistem Terdistribusi
Kelemahan pada sistem terdistribusi adalah :
² Kesulitan dalam membangun perangkat lunak .
Kesulitan yang akan dihadapi antara lain : bahasa pemrogramman yang
harus dipakai, sistem operasi dll.
² Masalah Jaringan
Karena sistem terdistribusi di implementasikan dalam jaringan komputer,
maka isu2 yang berkaitan dengan jaringan komputer akan menjadi
pertimbangan utama dalam merancang dan mengimplementasikan
sistem.
² Masalah Keamanan
Karena pada sistem terdistribusi berbagi data/sumber daya merupakan
hal yang mutlak maka muncul masalah2 yang berkaitan dengan keamanan
data dll.
1.4 Karakteristik Sistem Terdistribusi
Ada beberapa hal yang harus diperhatikan dalam membangun sistem terdistribusi,
yaitu :
² Transparency (Kejelasan)
² Communication (Komunikasi)
² Performance & Scalability (Kinerja dan Ruang Lingkup)
² Heterogeneity (Keanekaragaman)
² Opennes (Keterbukaan)
² Reliability & Fault Tolerancy (Kehandalan dan Toleransi Kegagalan)
² Security (Kemanan)
1.4.1 Transparency
Access transparency
Sumber daya lokal dan remote di akses dengan menggunakan operasi yang
sama.
Location transparency
Pengguna sistem tidak tahu mengetahui keberadaan hardware dan software
(CPU,…le dan data).
Migration (Mobility) transparency
Sumber daya (baik berupa Hardware dan/atau software) dapat bebas berpindah
tanpa mengubah sistem penamaan.
Replication transparency
Sistem bebas untuk menambah file atau sumber daya tanpa diketahui oleh
user (dalam rangkan meningkatkan kinerja)
Concurency transparency
User tidak akan mengetahui keberadaan user lain dalam sistem, walaupun
user tersebut menggunakan sumber daya yang sama.
Failure transparency
Aplikasi harus dapat menyelesaikan proses nya walaupun terdapat kegagalan
pada beberapa pada komponen sistem.
Performance transparency
Beban kerja yang bervariasi tidak akan menyebabkan turunnya kinerja sistem,
hal ini dapat di capai dengan melakukan automatisasi kon…gurasi terhadap
perubahan beban.
1.4.2 Communication
Komponen2 pada sistem terdistribusi harus melakukan komunikasi dalam
suatu urutan. Sebagai berikut :
² Infrastruktur jaringan (interkoneksi dan software jaringan)
² Metode dan Model komunikasi yang cocok
Metode komunikasi :
- Send
- Receive
- Remote Procedure Call
Model Komunikasi
- client - server communication : pertukaran pesan antara dua proses
: dimana satu proses (client) menggunakan / meminta layanan
pada server dan server menyediakan hasil dari proses tersebut
- groupmulitcast : target dari pesan yang dikirimkan adalah gabungan
dari proses, yang berasal dari suatu grup.
1.4.3 Performance and Scalability
Ada beberapa faktor yang mempengaruhi kinerja (performance) dari pada
sistem terdistribusi :
² Kinerja dari pada personal workstations
² Kecepatan infrastruktur komunikasi
² Fleksibilitas dalam membagi beban kerja : contoh, apabila terdapat
prosesor (workstation) yang idle maka dapat di alokasikan secara otomatis
untuk mengerjakan tugas2 user.
Scalability
Sistem tetap harus memperhatikan efesiensi walaupun terdapat penambahan
secara signi…kan user atau sumber daya yang terhubung :
² Cost (biaya) penambahan sumber daya (resources) harus reasonable.
² Penurunan kinerja (performance) diakibatkan oleh penambahan user
atau sumber daya harus terkontrol.
1.4.4 Heterogeneity
Aplikasi yang terdistribusi biasa berjalan dalam keberagaman :
² Hardware : mainframes, workstations, PC’s, server dll.
² Software : UNIX, MS Windows, IMB OS/2, LINUX dll.
² Devices : teller machine, robot, sistem manufacturing dll.
² Network dan Protocol : Ethernet, FDDI, ATM, TCP/IP dll
Melihat keaneka ragaman di atas maka salah satu solusi yang bisa di
terapkan adalah Middleware : berfungsi sebagai jembatan untuk komunikasi
dan proses.
Gambar~1.2: Arsitektur sofware pada sistem
1.4.5 Opennes
Salah satu hal terpenting yang harus dimiliki oleh sistem terdistribusi adalah
opennes (keterbukaan) dan ‡exibility (‡eksibilitas) :
² Setiap layanan (services) harus dapat di akses oleh semua user.
² Mudah dalam implementasi, install dan debug services;
² User dapat membuat dan menginstall service yang telah dibuat oleh si
user tersebut.
Aspek kunci pada opennes :
² Interface dan Protocol yang standard (seperti protokol komunikasi di
internet)
² Support terhadap keanekaragaman. ( denganmembuatmidleware seperti
CORBA)
1.4.6 Reliability dan Fault Tolerance
Salah satu tujuan dalam membangun sistemterdistribusi adalahmemunkinkan
untuk melakukan improvisasi terhadap kehandalan sistem.
Availability : kalau mesin mati (down), sistem tetap harus berjalan
dengan jumlah layananan yang tersisa.
² Dalam sistem terdistribusi componen yang sangat vital (critical resources)
berjumlah se minimal mungkin. Yang dimaksud dengan critical
resources adalah komponen yang harus ada untuk menjalankan
sistem terdistribusi.
² Masing - masing Software dan Hardware harus di replikasi : kalau terjadi
kegagalan / error maka yang lain akan menangani.
Data dalam sistem tidak boleh hilang, copy dari …le tersebut disimpan
pada secara redundan pada server lain, tapi tetap harus dijaga konsistensi
datanya.
Fault Tolerance : Sistemharus bisa mendeteksi kegagalan danmelakukan
tindakan dengan dasar sebagai berikut :
² Mask the fault (menutupi kegagalan) : tugas harus dapat dilanjutkan
dengan menurunkan kinerja tapi tanpa terjadi kehilangan data atau
informasi.
² Fail Gracefully : membuat suatu antisipasi terhadap suatu kegagalan
ke suatu prosedur yang telah di rencanakan dan memungkinkan untuk
menghentikan proses dalam waktu yang singkat tanpa menghilangkan
informasi atau data.
1.4.7 Security
² Con…dentiality :
keamanan terhadap data yang di akses oleh user yang tidak di perbolehkan
(unauthorizes user)
² Integrty:
keamanan terhadap kelengkapan dan autentikasi data.
² Availability
Menjaga agar resource dapat selalu di akses.
Sistem terdistribusi harus memperbolehkan komunikasi antara program/user/resources
pada computer yang berbeda, maka resiko keamanan akan muncul apabila
memberlakukan free access. Dan ada hal lain juga yang harus dijamin dalam
sistem terdistribusi, yaitu : penggunaan rerources yang tepat oleh user yang
berlainan.
1.5 Model dalam Sistem Terdistribusi
Model dalam sistem terdistribusi :
² Model Arsitektur (Architectural Models)
² Model Interaksi (Interaction Models)
² Model Kegagalan (Failure Models)
Resources dalam sistem terdistribusi dipakai secara bersama oleh users.
Biasa nya di bungkus (encapsulated) dalam suatu komputer dan dapat di
akses oleh komputer lain dengan komunikasi.
Setiap resource di atur oleh program yang disebut dengan resource manager.
Resource manager memberikan kemungkinan komunikasi interface antar
resource.
Resource Managers dapat digeneralisasi sebagai proses, kalau sistem di
design dengan sudut pandang object (Object Oriented), resource dibungkus
dalam suatu objek.
1.5.1 Architectural Models
Bagaimana cara kerja sistem terdisribusi antara komponen - komponen sistem
dan bagaimana komponen tersebu berada pada sistem terdistribusi :
² Client - Server Model
² Proxy Server
² Peer processes ( peer to peer )
Client - Server Model
Sistem yang terdiri dari kumpulan2 proses disebut dengan server, dan memberikan
layanan kepada user yang disebut dengan client.
Model client-server biasanya berbasiskan protokol request/reply. Contoh
implementasi nya, atara lain: RPC (Remote Procedure Calling) dan RMI
(Remote Method Invocation) :
² client mengirimkan request berupa pesan ke server untuk mengakses
suatu service.
² server menerima pesan tersebut dan mengeksekusi request client dan
mereply hasil ke client
Proxy Server
Proxy server menyediakan hasil copy (replikasi) dari resource yang di atur
oleh server lain
Biasa nya proxy server di pakai untuk menyimpan hasil copy web resources.
Ketika client melakukan request ke server, hal yang pertama dilakukan
adalah memeriksa proxy server apakah yang dimita oleh client terdapat
pada proxy server.
Proxy server dapat diletakkan pada setiap client atau dapat di pakai
bersama oleh beberapa client.
Tujuannya adalah meningkatkan performance dan availibity denganmencegah
frekwensi akses ke server.
Peer Process
Semua proses (object) mempunyai peran yang sama.
² Proses berinteraksi tanpa ada nya perbedaan antara client dan server.
² Pola komunikasi yang digunakan berdasarkan aplikasi yang digunakan.
² Merupakan model yang paling general dan ‡eksible.
1.5.2 Interaction Models
Untuk interaksi nya sistem terdistribusi dibagi menjadi dua bagian :
² Synchrounous distributed system
² Asynchronous distributed system
Synchronous Distributed System
Batas atas dan batas bawah waktu pengeksekusian dapat di set.
² Pesan yang dikirim di terima dalam waktu yang sudah di tentukan
² Fluktuasi ukuran antara waktu local berada dalam suatu batasan.
Beberapa hal yang penting untuk di perhatikan :
² Dalam synchronous distributed system terdapat satu waktu global.
² Hanya synchronous distributed system dapat memprediksi perilaku
(waktu).
² Dalam synchornous distributed system dimungkinkan dan aman untuk
menggunakan mekanisme timeout dalam mendekteksi error atau
kegagalan dalam proses atau komunikasi.
Asynchronous Distributed System
Banyak sistem terdistribusi yangmenggunakan model interaksi ini (termasuk
Internet)
² Tidak ada batasan dalam waktu pengkeksekusian.
² Tidak ada batasan dalam delay transmission (penundaan pengiriman)
² Tidak ada batasan terhadap ‡uktuasi waktu local.
Asynchronous system secara parktek lebih banyak digunakan.
1.5.3 Failure Models
Kegagalan apa saja yang dapat terjadi dan bagaimana efek yang ditimbulkan
?
² Omission Faluires
² Arbitary Failures
² Timing Failures
Kegagalan dapat terjadi pada proses atau kanal komunikasi. Dan penyebabnya
bisa berasal dari hardware ataupun software.
Model Kegagalan (Failure Models) dibutuhkan dalam membangun suatu
sistem dengan prediksi terhadap kagagalan2 yang mungkin terjadi.
Ommision Failures
Yang dimaksud dengan Ommision Failures adalah ketika prosesor dan kanal
komunikasi mengalami kegagalan untuk melakukan hal yang seharusnya dilakukan.
Dikatakan tidak mempunyai ommision failures apabila :
² Terjadi keterlambatan (delayed) tetapi akhirnya tetap tereksekusi.
² Sebuah aksi di eksekusi walaupun terdapat kesalahan pada hasil.
Dengan synchronous system, ommision failures dapat dideteksi dengan
timeouts. Kalau kita yakin bahwa pesan yang dikirim sampai, timeout akan
mengindikasikan bahwa proses pengiriman rusak, seperti fail-stop behavior
pada sistem.
Arbitary Failures
Ini adalah kegagalan yang paling buruk dalam sistem. Tahapan proses atau
komunikasi diabaikan atau yang tidak diharapkan terjadi dieksekusi. Sehingga
hasil yang diharapkan tidak terjadi ataumegeluarkan hasil yang salah.
Timing Failures
Timing Failures dapat terjadi pada synchronous system, dimana batas waktu
di atur untuk eksekusi proses, komunikasi dan ‡uktuasi waktu. Timing Failures
terjadi apabila waktu yang telah ditentukan terlampaui.
1.1 Apakah yang dimaksud dengan SistemTerdistribusi?
Sistem Terdistribusi adalah Sekumpulan komputer otonom yang terhubung
ke suatu jaringan, dimana bagi pengguna sistem terlihat sebagai satu komputer.
Maksud komputer otonomi adalah walaupun komputer tidak terhubung
ke jaringan, komputer tersebut tetap data berjalan.
Dengan menjalankan sistem terdistribusi, komputer dapat melakukan :
² Koordinasi Aktivitas
² Berbagi sumber daya : hardware, software dan data
Dengan de…nisi tersebut diatas maka internet sesungguhnya bukanlah suatu
sistem terdistribusi, melainkan infrastruktur dimana sistem terdistribusi
dapat di aplikasikan pada jaringan tersebut.
1.2 Contoh Sistem Terdistribusi
² Sistem Telepon
- ISDN, PSTN
² Manajemen Jaringan
- Adminstrasi sesumber jaringan
Gambar~1.1: Contoh sistem terdistribusi, Automatic Banking (teller machine)
System
² Network File System (NFS)
- Arsitektur untuk mengakses siste file melalui jaringan
² WWW
- Arsitektur client/server yang diterapkan di atas infrastruktur internet
- Shared Resource (melalui URL)
² dll...
BAB 1. PENDAHULUAN 8
1.3 Keuntungan dan Permasalahan SistemTerditribusi
1.3.1 Keuntungan Sistem Terdistribusi
Keuntungan yang didapatkan dalam menerapkan sistem terdistribusi, antara
lain :
² Performance
Kumpulan dari beberapa prosesor akan memberikan kinerja yang lebih
baik dari pada komputer yang terpusat. Begitu juga kalau dilihat dari
sisi biaya.
² Distribution
² Reliability (Fault tolerance)
apabila salah satu komponen terjadi kerusakan, system tetap dapat
berjalan
² Incremental Growth
Mudah dalam melakukan penambahan komputer/komponen
² Sharing Data/Resources
Berbagi data adalah salah satu hal yang pokok pada kebanyakan aplikasi.
1.3.2 Permasalahan dalam Sistem Terdistribusi
Kelemahan pada sistem terdistribusi adalah :
² Kesulitan dalam membangun perangkat lunak .
Kesulitan yang akan dihadapi antara lain : bahasa pemrogramman yang
harus dipakai, sistem operasi dll.
² Masalah Jaringan
Karena sistem terdistribusi di implementasikan dalam jaringan komputer,
maka isu2 yang berkaitan dengan jaringan komputer akan menjadi
pertimbangan utama dalam merancang dan mengimplementasikan
sistem.
² Masalah Keamanan
Karena pada sistem terdistribusi berbagi data/sumber daya merupakan
hal yang mutlak maka muncul masalah2 yang berkaitan dengan keamanan
data dll.
1.4 Karakteristik Sistem Terdistribusi
Ada beberapa hal yang harus diperhatikan dalam membangun sistem terdistribusi,
yaitu :
² Transparency (Kejelasan)
² Communication (Komunikasi)
² Performance & Scalability (Kinerja dan Ruang Lingkup)
² Heterogeneity (Keanekaragaman)
² Opennes (Keterbukaan)
² Reliability & Fault Tolerancy (Kehandalan dan Toleransi Kegagalan)
² Security (Kemanan)
1.4.1 Transparency
Access transparency
Sumber daya lokal dan remote di akses dengan menggunakan operasi yang
sama.
Location transparency
Pengguna sistem tidak tahu mengetahui keberadaan hardware dan software
(CPU,…le dan data).
Migration (Mobility) transparency
Sumber daya (baik berupa Hardware dan/atau software) dapat bebas berpindah
tanpa mengubah sistem penamaan.
Replication transparency
Sistem bebas untuk menambah file atau sumber daya tanpa diketahui oleh
user (dalam rangkan meningkatkan kinerja)
Concurency transparency
User tidak akan mengetahui keberadaan user lain dalam sistem, walaupun
user tersebut menggunakan sumber daya yang sama.
Failure transparency
Aplikasi harus dapat menyelesaikan proses nya walaupun terdapat kegagalan
pada beberapa pada komponen sistem.
Performance transparency
Beban kerja yang bervariasi tidak akan menyebabkan turunnya kinerja sistem,
hal ini dapat di capai dengan melakukan automatisasi kon…gurasi terhadap
perubahan beban.
1.4.2 Communication
Komponen2 pada sistem terdistribusi harus melakukan komunikasi dalam
suatu urutan. Sebagai berikut :
² Infrastruktur jaringan (interkoneksi dan software jaringan)
² Metode dan Model komunikasi yang cocok
Metode komunikasi :
- Send
- Receive
- Remote Procedure Call
Model Komunikasi
- client - server communication : pertukaran pesan antara dua proses
: dimana satu proses (client) menggunakan / meminta layanan
pada server dan server menyediakan hasil dari proses tersebut
- groupmulitcast : target dari pesan yang dikirimkan adalah gabungan
dari proses, yang berasal dari suatu grup.
1.4.3 Performance and Scalability
Ada beberapa faktor yang mempengaruhi kinerja (performance) dari pada
sistem terdistribusi :
² Kinerja dari pada personal workstations
² Kecepatan infrastruktur komunikasi
² Fleksibilitas dalam membagi beban kerja : contoh, apabila terdapat
prosesor (workstation) yang idle maka dapat di alokasikan secara otomatis
untuk mengerjakan tugas2 user.
Scalability
Sistem tetap harus memperhatikan efesiensi walaupun terdapat penambahan
secara signi…kan user atau sumber daya yang terhubung :
² Cost (biaya) penambahan sumber daya (resources) harus reasonable.
² Penurunan kinerja (performance) diakibatkan oleh penambahan user
atau sumber daya harus terkontrol.
1.4.4 Heterogeneity
Aplikasi yang terdistribusi biasa berjalan dalam keberagaman :
² Hardware : mainframes, workstations, PC’s, server dll.
² Software : UNIX, MS Windows, IMB OS/2, LINUX dll.
² Devices : teller machine, robot, sistem manufacturing dll.
² Network dan Protocol : Ethernet, FDDI, ATM, TCP/IP dll
Melihat keaneka ragaman di atas maka salah satu solusi yang bisa di
terapkan adalah Middleware : berfungsi sebagai jembatan untuk komunikasi
dan proses.
Gambar~1.2: Arsitektur sofware pada sistem
Salah satu hal terpenting yang harus dimiliki oleh sistem terdistribusi adalah
opennes (keterbukaan) dan ‡exibility (‡eksibilitas) :
² Setiap layanan (services) harus dapat di akses oleh semua user.
² Mudah dalam implementasi, install dan debug services;
² User dapat membuat dan menginstall service yang telah dibuat oleh si
user tersebut.
Aspek kunci pada opennes :
² Interface dan Protocol yang standard (seperti protokol komunikasi di
internet)
² Support terhadap keanekaragaman. ( denganmembuatmidleware seperti
CORBA)
Salah satu tujuan dalam membangun sistemterdistribusi adalahmemunkinkan
untuk melakukan improvisasi terhadap kehandalan sistem.
Availability : kalau mesin mati (down), sistem tetap harus berjalan
dengan jumlah layananan yang tersisa.
² Dalam sistem terdistribusi componen yang sangat vital (critical resources)
berjumlah se minimal mungkin. Yang dimaksud dengan critical
resources adalah komponen yang harus ada untuk menjalankan
sistem terdistribusi.
² Masing - masing Software dan Hardware harus di replikasi : kalau terjadi
kegagalan / error maka yang lain akan menangani.
Data dalam sistem tidak boleh hilang, copy dari …le tersebut disimpan
pada secara redundan pada server lain, tapi tetap harus dijaga konsistensi
datanya.
Fault Tolerance : Sistemharus bisa mendeteksi kegagalan danmelakukan
tindakan dengan dasar sebagai berikut :
² Mask the fault (menutupi kegagalan) : tugas harus dapat dilanjutkan
dengan menurunkan kinerja tapi tanpa terjadi kehilangan data atau
informasi.
² Fail Gracefully : membuat suatu antisipasi terhadap suatu kegagalan
ke suatu prosedur yang telah di rencanakan dan memungkinkan untuk
menghentikan proses dalam waktu yang singkat tanpa menghilangkan
informasi atau data.
1.4.7 Security
² Con…dentiality :
keamanan terhadap data yang di akses oleh user yang tidak di perbolehkan
(unauthorizes user)
² Integrty:
keamanan terhadap kelengkapan dan autentikasi data.
² Availability
Menjaga agar resource dapat selalu di akses.
Sistem terdistribusi harus memperbolehkan komunikasi antara program/user/resources
pada computer yang berbeda, maka resiko keamanan akan muncul apabila
memberlakukan free access. Dan ada hal lain juga yang harus dijamin dalam
sistem terdistribusi, yaitu : penggunaan rerources yang tepat oleh user yang
berlainan.
1.5 Model dalam Sistem Terdistribusi
Model dalam sistem terdistribusi :
² Model Arsitektur (Architectural Models)
² Model Interaksi (Interaction Models)
² Model Kegagalan (Failure Models)
Resources dalam sistem terdistribusi dipakai secara bersama oleh users.
Biasa nya di bungkus (encapsulated) dalam suatu komputer dan dapat di
akses oleh komputer lain dengan komunikasi.
Setiap resource di atur oleh program yang disebut dengan resource manager.
Resource manager memberikan kemungkinan komunikasi interface antar
resource.
Resource Managers dapat digeneralisasi sebagai proses, kalau sistem di
design dengan sudut pandang object (Object Oriented), resource dibungkus
dalam suatu objek.
1.5.1 Architectural Models
Bagaimana cara kerja sistem terdisribusi antara komponen - komponen sistem
dan bagaimana komponen tersebu berada pada sistem terdistribusi :
² Client - Server Model
² Proxy Server
² Peer processes ( peer to peer )
Client - Server Model
Sistem yang terdiri dari kumpulan2 proses disebut dengan server, dan memberikan
layanan kepada user yang disebut dengan client.
Model client-server biasanya berbasiskan protokol request/reply. Contoh
implementasi nya, atara lain: RPC (Remote Procedure Calling) dan RMI
(Remote Method Invocation) :
² client mengirimkan request berupa pesan ke server untuk mengakses
suatu service.
² server menerima pesan tersebut dan mengeksekusi request client dan
mereply hasil ke client
Proxy Server
Proxy server menyediakan hasil copy (replikasi) dari resource yang di atur
oleh server lain
Biasa nya proxy server di pakai untuk menyimpan hasil copy web resources.
Ketika client melakukan request ke server, hal yang pertama dilakukan
adalah memeriksa proxy server apakah yang dimita oleh client terdapat
pada proxy server.
Proxy server dapat diletakkan pada setiap client atau dapat di pakai
bersama oleh beberapa client.
Tujuannya adalah meningkatkan performance dan availibity denganmencegah
frekwensi akses ke server.
Peer Process
Semua proses (object) mempunyai peran yang sama.
² Proses berinteraksi tanpa ada nya perbedaan antara client dan server.
² Pola komunikasi yang digunakan berdasarkan aplikasi yang digunakan.
² Merupakan model yang paling general dan ‡eksible.
1.5.2 Interaction Models
Untuk interaksi nya sistem terdistribusi dibagi menjadi dua bagian :
² Synchrounous distributed system
² Asynchronous distributed system
Synchronous Distributed System
Batas atas dan batas bawah waktu pengeksekusian dapat di set.
² Pesan yang dikirim di terima dalam waktu yang sudah di tentukan
² Fluktuasi ukuran antara waktu local berada dalam suatu batasan.
Beberapa hal yang penting untuk di perhatikan :
² Dalam synchronous distributed system terdapat satu waktu global.
² Hanya synchronous distributed system dapat memprediksi perilaku
(waktu).
² Dalam synchornous distributed system dimungkinkan dan aman untuk
menggunakan mekanisme timeout dalam mendekteksi error atau
kegagalan dalam proses atau komunikasi.
Asynchronous Distributed System
Banyak sistem terdistribusi yangmenggunakan model interaksi ini (termasuk
Internet)
² Tidak ada batasan dalam waktu pengkeksekusian.
² Tidak ada batasan dalam delay transmission (penundaan pengiriman)
² Tidak ada batasan terhadap ‡uktuasi waktu local.
Asynchronous system secara parktek lebih banyak digunakan.
1.5.3 Failure Models
Kegagalan apa saja yang dapat terjadi dan bagaimana efek yang ditimbulkan
?
² Omission Faluires
² Arbitary Failures
² Timing Failures
Kegagalan dapat terjadi pada proses atau kanal komunikasi. Dan penyebabnya
bisa berasal dari hardware ataupun software.
Model Kegagalan (Failure Models) dibutuhkan dalam membangun suatu
sistem dengan prediksi terhadap kagagalan2 yang mungkin terjadi.
Ommision Failures
Yang dimaksud dengan Ommision Failures adalah ketika prosesor dan kanal
komunikasi mengalami kegagalan untuk melakukan hal yang seharusnya dilakukan.
Dikatakan tidak mempunyai ommision failures apabila :
² Terjadi keterlambatan (delayed) tetapi akhirnya tetap tereksekusi.
² Sebuah aksi di eksekusi walaupun terdapat kesalahan pada hasil.
Dengan synchronous system, ommision failures dapat dideteksi dengan
timeouts. Kalau kita yakin bahwa pesan yang dikirim sampai, timeout akan
mengindikasikan bahwa proses pengiriman rusak, seperti fail-stop behavior
pada sistem.
Arbitary Failures
Ini adalah kegagalan yang paling buruk dalam sistem. Tahapan proses atau
komunikasi diabaikan atau yang tidak diharapkan terjadi dieksekusi. Sehingga
hasil yang diharapkan tidak terjadi ataumegeluarkan hasil yang salah.
Timing Failures
Timing Failures dapat terjadi pada synchronous system, dimana batas waktu
di atur untuk eksekusi proses, komunikasi dan ‡uktuasi waktu. Timing Failures
terjadi apabila waktu yang telah ditentukan terlampaui.
Langganan:
Postingan (Atom)