Sebuah sistem terdistribusi terdiri
dari kumpulan komputer otonom, terhubung melalui jaringan dan distribusi
middleware, yang memungkinkan komputer untuk mengkoordinasikan kegiatan mereka
dan untuk berbagi sumber daya sistem, sehingga pengguna melihat sistem sebagai
tunggal, fasilitas komputasi yang terintegrasi.
dengan kata lain kita dapat
mengakses suatu jaringan secara bersama-sama contohnya internet, namun dalam
pengimplementasiannya terdapat permasalahan yang didapat.dan saya akan membahas
salah satu masalah yang terdapat dalam konkurensi(concurrency)pada sistem
terdistribusi.
konkurensi(concurrency)adalah Proses
Beberapa komputer dapat
berjalan sekaligus dengan tugas yang
berbeda. dan concurrency memberikan kemudahan ke sejumlah masalah. Proses dapat
menggunakan data lama, mereka dapat membuat update tidak konsisten, urutan
update tidak menjadi masalah, sistem mungkin akan mengalami
kebuntuan(deadlock), data dalam sistem yang berbeda mungkin tidak pernah
bertemu dengan nilai-nilai yang konsisten dan itu penting untuk mengetahui
waktu yang tepat Pemrograman sistem konkuren adalah masalah yang sulit pada
umumnya Tapi kontrol konkurensi juga merupakan masalah keamanan seperti akses
kontrol, itu untuk mencegah pengguna mengganggu satu sama lain, secara sengaja
atau tidak sengaja. Juga, masalah konkurensi dapat terjadi di beberapa
tingkatan dalam suatu sistem, mulai dari perangkat keras sampai ke lingkungan
bisnis.
jenis masalah konkurensi. Pertama,
ada serangan replay pada protokol, di mana seorang penyerang berhasil lulus
dari out-of-date kredensial. Kedua, ada kondisi ras. contoh dari Unix, di mana
Program yang dieksekusi dalam dua tahap dapat diserang setengah melalui proses
dengan mengganti nama obyek yang bertindak. Dalam salah satu sistem operasi
multiuser pertama, OS/360 IBM, dalam usaha untuk membuka suatu file maka kita
akan membaca perizinannya.jika pengguna diberi wewenang untuk mengaksesnya,maka
perizinannya dapat dibaca lagi. Pengguna bisa mengatur berbagai hal sehingga
file tersebut dapat diubah. Ini adalah contoh dari serangan waktu pengecekkan
ke waktu penggunaan (a time-of-check-to-time-of-use) (TOCTTOU).
Deadlock menyebabkan beberapa
kekacauan karena dua sistem menunggu yang lain untuk bergerak lebih dulu.
Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu
proses yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa
proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses
tersebut. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang
membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam
satu waktu.Misal ada proses A mempunyai resource X, proses B mempunyai resource
Y. Kemudian kedua proses ini dijalankan bersama, proses A memerlukan resource Y
dan proses B memerlukan resource X, tetapi kedua proses tidak akan memberikan
resource yang dimiliki sebelum proses dirinya sendiri selesai dilakukan.
Sehingga akan terjadi tunggu-menunggu. Ini bisa sangat mengerikan bila Anda
memiliki beberapa hirarki kunci, dan mereka terdistribusi di seluruh sistem,
dan beberapa diantaranya gagal (terutama di mana kegagalan dapat terjadi jika
kunci tidak dapat diandalkan).
Banyak sistem terdistribusi aman
telah mengeluarkan biaya besar untuk dikembangkan. Sejumlah besar pelanggaran
keamanan adalah konkurensi kegagalan dari satu jenis atau jenis lain. sistem
menggunakan data lama, membuat update atau tidak konsisten dalam urutan yang
salah, atau beranggapan bahwa data konsisten ketika mereka tidak dan tidak
bisa. kesalahan dan pemulihan kegagalan sangat penting. Menyediakan kemampuan
untuk pulih dari keamanan kegagalan, dan bencana fisik acak, adalah tujuan
utama perlindungan anggaran untuk banyak organisasi. Pada tingkat yang lebih
teknis, ada interaksi yang signifikan antara perlindungan dan mekanisme
ketahanan. Kita perlu melindungi tidak hanya terhadap kegagalan dan usaha
manipulasi, tetapi juga terhadap upaya sengaja dalam menolak suatu layanan,
yang mungkin sering menjadi bagian dari rencana serangan yang lebih besar.
http://www.cl.cam.ac.uk/~rja14/Papers/SE-06.pdf
http://www.slideshare.net/Rupsee/distributed-systems-1701403
http://www.cs.ucl.ac.uk/staff/ucacwxe/lectures/ds98-99/dsee3.pdf
http://bebas.ui.ac.id/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch17s07.html