Iklan Billboard 970x250

Konkurensi dan Keamanan Sistem

Konkurensi dan Keamanan Sistem

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
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.
Model Deadlock
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
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
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:
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

Prinsip-Prinsip Konkurensi
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.

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
SHARE
Subscribe to get free updates

Related Posts

Posting Komentar

Iklan Tengah Post