Konkurensi dan Keamanan Sistem
Konkurensi dan Keamanan Sistem
Konkurensi dan Keamanan Sistem |
A. Pengertian Konkurensi
Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses (lebih dari satu proses) ada pada saat yang sama.
Proses-proses konkuren dapat sepenuhnya tidak bergantung dengan lainnya tapi dapat juga saling berinteraksi.
Proses-proses yang berinteraksi memerlukan sinkronisasi agar terkendali dengan baik.
B. Masalah-masalah konkuren
Masalah-masalah konkuren diantaranya:
1. Mutual exclusion
2. Deadlock
3. Starvation
1.Mutual Exclusion
Merupakan persoalan untuk menjamin hanya satu proses yang mengakses sumber daya pada suatu interval waktu tertentu.Pentingnya mutual exclusion dapat dilihat pada ilustrasi eksekusi daemon printer.
Contoh Ilustrasi Eksekusi Daemon Printer
Daemon untuk printer adalah proses penjadwalan dan pengendalian untuk mencetak berkas-berkas diprinter sehingga seolah-olah printer dapat digunakan secara simultan oleh proses-proses. Daemon untuk printer mempunyai ruang penyimpanan diharddisk (disebut direktori spooler) untuk menyimpan berkas-berkas yang akan dicetak. Terdapat variabel in yang menunjuk slot bebas diruang harddisk yang dipakai untuk menyimpan berkas yang hendak dicetak.
Kriteria Penyelesaian Mutual Exclusion
Kemampuan menjamin mutual exclusion harus memenuhi kriteria-kriteria berikut:
- Mutual exclusion harus dijamin
- Hany asatu proses pada satu saat yang diizinkan masuk critical section critical section: suatu bagian yang berisi sejumlah variabel yang akan di-share (dipengaruhi atau mempengaruhi) proses yang lain.
- Proses yang berada dinoncritical section, dilarang mem-block proses-proses yang ingin masuk critical section.
- Harus dijamin proses yang ingin masuk critical section tidak menunggu selama waktu yang tidak berhingga.
- Ketika tidak ada proses dicritical section, maka proses yang ingin masuk critical section harus diizinkan segera masuk tanpa waktu tunda.
- Tidak ada asumsi mengenai kecepatan relatif proses atau jumlah proses yang ada.
2. Deadlock
Konkurensi dan Keamanan Sistem |
Deadlock terjadi ketika proses-proses mengakses sumberdaya secara eksklusif. Semua deadlock yang terjadi melibatkan persaingan untuk memperoleh sumber data eksklusif oleh dua proses atau lebih.Terjadi deadlock dapat digambarkan dengan menggunakan graph. Misal model deadlock dua proses dan dua sumberdaya: Dua proses P0 dan P1 Dua sumber daya R0 dan R1
Model Deadlock
Deadlock (Lanjut…)
Gambar 7-1. Graph meminta sumber daya dan alokasi sumber daya Keterangan: (a) P0 meminta sumber daya R0, ditandai busur berarah dari proses P0 ke sumber daya R0. (b)Sumber daya R1 dialokasikan ke P1, ditandai busur berarah dari sumber daya R1 ke proses P1.
P0
P1 R 0
R1
Deadlock ( Lanjut…)
Gambar 7-2. Graph deadlock dua proses dan dua sumber daya Skenario yang Menimbulkan Deadlock: P0 dialokasikan R0, P1dialokasikan R1.Kemudian P0 sambil masih menggenggam R0, meminta R1 dan P1 sambil masih menggenggam R1, meminta R0. Kejadian ini mengakibatkan deadlock karena sama-sama proses P0 dan P1 akan saling menunggu. Terjadinya deadlock ditandai munculnya graph melingkar
P0
P1
R0R1
3. Startvation
Konkurensi dan Keamanan Sistem |
Keadaan dimana pemberian akses bergantian terus menerus, dan ada suatu proses yang tidak mendapatkan gilirannya.
Ilustasi starvation, misalnya :
Terdapat tiga proses, yaitu P1, P2 dan P3. P1, P2 dan P3 memerlukan pengaksesan sumber daya R secara periodik.
Starvation (Lanjut…)
Skenario berikut terjadi:
P1 sedang diberi sumber daya R sedangkan P2 dan P3 diblocked menunggu sumber daya R.
Ketika P1 keluar dari critical section, maka P2 dan P3 diijinkan mengakses R.
Asumsi P3 diberi hak akses, kemudian setelah selesai, hak akses kembali diberikan ke P1 yang saat itu kembali membutuhkan sumber daya R. Jika pemberian hak akses bergantian terus-menerus antara P1 dan P3, maka P2 tidak pernah memperoleh pengaksesan sumber daya R. Dalam kondisi ini memang tidak terjadi deadlock,hanya saja P2 mengalami starvation (tidak ada kesempatan untuk dilayani).
C. Pokok penyelesaian masalah konkurensi
Pada dasarnya penyelesaian masalah konkurensi terbagi menjadi dua, yaitu:
1. Mengasumsikan adanya memori yang digunakan bersama.
2.Tidak mengasumsikan adanya memori yang digunakan bersama
Adanya memori bersama lebih mempermudah dalam penyelesaian masalah konkurensi. Metode penyelesaian ini dapat dipakai untuk sistem single processor ataupun multi processor yang mempunyai memori bersama
D. Kesulitan-kesulitan yang ditimbulkan konkurensi
Masalah yang dihadapi proses-proses konkurensi pada multi programming dan multi processing serupa, Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti:
Masalah yang dihadapi proses-proses konkurensi pada multi programming dan multi processing serupa, Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti:
1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain
2. Beberapa
kesulitan yang dapat muncul, di antaranya adalah
3. Proses-proses konkuren mengharuskan beberapa hal yang harus
3. Proses-proses konkuren mengharuskan beberapa hal yang harus
Prinsip-Prinsip Konkurensi
Konkurensi meliputi hal-hal sbb:
• Alokasi waktu pemroses untuk proses-proses
• Pemakaian bersama dan persaingan untuk mendapatkan
Konkurensi meliputi hal-hal sbb:
• Alokasi waktu pemroses untuk proses-proses
• Pemakaian bersama dan persaingan untuk mendapatkan
sumber daya
• Komunikasi antarproses
• Sinkronisasi aktivitas banyak proses.
• Komunikasi antarproses
• Sinkronisasi aktivitas banyak proses.
Konkurensi dapat muncul pada
konteks berbeda, antara lain:
1. Banyak aplikasi (multiple application).
Multi programming memungkinkan banyak proses sekaligus dijalankan. Proses-proses dapat berasal dari aplikasi-aplikasi berbeda. Pada sistem multi programming bisa terdapat banyak aplikasi sekaligus yang dijalankan di sistem komputer.
2. Aplikasi terstruktur.
Perluasan prinsip perancangan modular dan pemrograman terstruktur adalah suatu aplikasi dapat secara efektif diimplementasikan sebagai sekumpulan proses. Dengan sekumpulan proses, maka tiap proses menyediakan satu layanan spesifik tertentu.
3. Struktur sistem operasi.
Keunggulan strukturisasi dapat juga diterapkan ke pemrograman sistem. Beberapa sistem operasi aktual yang dipasarkan dan yang sedang dalam riset telah diimplementasikan sebagai sekumpulan proses. Sistem operasi bermodelkan client/server menggunakan pendekatan ini.
4.Untuk Strukturisasi Satu Proses.
Saat ini untuk peningkatan kinerja maka satu proses dapat memiliki banyak thread yang independen. Thread-thread tersebut harus dapat bekerjasama untuk mencapai tujuan proses.
Baca Juga
Posting Komentar
Posting Komentar