nurrohmah - sinkronisasi proses

Download Nurrohmah - Sinkronisasi Proses

Post on 08-Aug-2015

45 views

Category:

Software

5 download

Embed Size (px)

TRANSCRIPT

  1. 1. DOSEN PEMBIMBING : ANDINO MASELENO SISTEM OPERASI NAMA : Nurrohmah NPM : 142310132 KELAS : B1-D3-MI-1
  2. 2. STRUKTUR SISTEM OPERASI. C. Kesulitan-kesulitan yang ditimbulkan konkurensi Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti: 1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain: a) Aktivitas proses-proses lain b) Cara sistem operasi menangani interupsi c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi. 2. Beberapa kesulitan yang dapat muncul, di antaranya adalah: a) Pemakaian bersama sumber daya global. Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis. b) Pengelolaan alokasi sumber daya agar optimal Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi. C. Kesulitan-kesulitan yang ditimbulkan onkurensi Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti: 1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain: a) Aktivitas proses-proses lain b) Cara sistem operasi menangani interupsi c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi. 2. Beberapa kesulitan yang dapat muncul, di antaranya adalah: a) Pemakaian bersama sumber daya global. Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis. b) Pengelolaan alokasi sumber daya agar optimal Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi. SINKRONISASI PROSES Pokok pembahasan: 1.permasalahan critical section 2.Sinkronisasi perangkat keras 3.samaphore 4.Masalah-masalah klasik dalam sinkronisasi Proses proses yang konkuren adalah proses-proses (lebih dari satu) pada saat yang sama . proses ini dapat sepenuhnya tak bergantung dengan lainnya ,tapi dapat saling brontraksi . Proses-proses yang brintraksi memerlukan sikronisasi agar terkendali dengan baik. Proses yang melakukan akses secara konkuren pada data yang gunakan Bersama-sama menyebabkan data tidakkonsisten(inconsistence).
  3. 3. 5.2 PERMASALAHAN CRITICAL-SECTION (CRITICAL- SECTION FROBLEM) Suatu system terdiri dari n proses dimana semuannya berkopetisi menggunakan data yang digunakan bersama-sama.masing-masing preses menpunyai sebuah kode segmen yang disebut ciritical section,dimana proses memungkinkan untuk mengubah variable umum,mengubah sebuah table,menulis file danlain sebagainnya. Gamar penting dari system adalah,ketika sebuah proses dijalankan dengan ciritical section,tidak ada proses lain yang diizinkan untuk menjalankan ciriticel sectionpermasalahan ciritical section digunakan untuk mendesain sebuah protocol dimana proses-proses dapat bekerjasama masing- masing harus meminta izin untuk memasuki ciritical sectionnya.
  4. 4. STRUKTUR SISTEM OPERASI. C. Kesulitan-kesulitan yang ditimbulkan konkurensi Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti: 1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain: a) Aktivitas proses-proses lain b) Cara sistem operasi menangani interupsi c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi. 2. Beberapa kesulitan yang dapat muncul, di antaranya adalah: a) Pemakaian bersama sumber daya global. Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis. b) Pengelolaan alokasi sumber daya agar optimal Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi. C. Kesulitan-kesulitan yang ditimbulkan onkurensi Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti: 1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain: a) Aktivitas proses-proses lain b) Cara sistem operasi menangani interupsi c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi. 2. Beberapa kesulitan yang dapat muncul, di antaranya adalah: a) Pemakaian bersama sumber daya global. Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis. b) Pengelolaan alokasi sumber daya agar optimal Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi. Sebuah solusi dari permasalahan ciritical section harus memenuhi tiga syrat antaa lain: Matual Exclusion.apabila proses P! menjalankan ciritical sectionnya,maka tidak ada proses ain yang dapat menjalankan ciritical section. Progress.Apabila tidak ada proses yang menjalankan ciritical sectionnya dan dapat beberapa proses yang akan memsuki ciritical sectionnya maka hanya prose situ yang tidak dip roses didalam daerah pengingat (Remainder) dapat ikut berprestasi didalam keputusan proses mana yang akan measuki ciritical section.dan pemilihan itu tidak dapat ditunda tiba-tiba. Bounded Waiting.Terdapat batasan jumlah waktu yang diizinkan oleh proses lain untuk memasuki ciritical section. Dan sebelum permintaan dikabulkan. Bahwa Asumsi masing-masing proses dijalankan pada kecepatan bukan nol (nonzero).akan tetapi tidak ada asumsi mengenai kecepatan relative dari proses ke n Pemecahan masalah ciritical section tidak mengandalkan semua asumsi tentang intruksi Hardware atau jumlah processor dari hardware yang mendukung.Akan tetapi intruksi dasar bahasa mesin (intruksi primitive,misalnya,load,store,dan test) dijalankan secara otomatis. Apabila perintah load dan store dijalankan bersama-sama perintah load akan mempunyai nilai lama atau nilai baru,tetapi tidak kombinasi dari kedua perintah itu. Ketika mengimlementasikan suatu algoritma,kita menentukan dahulu variable-variabel yang diginakan untuk keperluan sinkronisasi dan menggambarkan hannya proses P!.Entri section dan Exit section didalam kotak untuk menunjukkan segmen kode yang penting.
  5. 5. Pada sub bab ini kita membatasi pada algoritma yang dapat di aplikasikan hanya terhadap dua proses pada satu wakru.Poses tersebut diberi nama P0 dan Pi Untuk jelasnya kita menyatakan Pi,kita gunakan Pj untuk menyataka proses yang lain,dimana j = 1-i Algoritma 1 Pendekatan pertama.memperbolehkan semua proses menggunakan variable interger trun diinisialisasikan ke 0 (atau 1) nt trun; Apabila trun = I,maka proses Pi diizinkan untuk menjalankan ciritical sectionnya. Do { While (trun !=i) ; Ciritical section Trun = j ; Remainder section } While (1) ; ALgoritma 2 Kelemah dengan algoritma 1 adalah tidak adanya informasi yang cukup tentang static dari masing- masing proses.untuk mengatasi masalah ini dilakukan penggantian variable nisialisasi awal flag [0] = flag [1] = flase. Apabila flag [i]bernilai tri,nilai ini menandakan bahwa Pi siap memasuki ciritical section. Proses Pi adalah Sbb. Do { Flag[i] := true; While (flag[j]) ; ciritical section Remainder section ] while (1) ;
  6. 6. Algoritma3 Algoritma ini merupakan kombinasi algoritma 1 dan algoritma 2 harapannya akan didapatkan solusi yang benar untuk masalah ciritical section,dimana proses ini menggunakan dua variable. Int trun; Boolean flag [2] ; Inisialisasi flagl [0] = flag [1] = flase,dan nilai dari trun bernilai 0 atau 1 struktur dari proses Pi adalah: Do { Flag [i] : = true ; Trun = j; While( flag [j] dan true = j) ; ciritical section Flag [i] = false; Remaider section } while (1); Algoritma ketiga ini memenuhi ketiga kebutuhan yaitu : mutual Execlusion,Progressdan bounded waiting dan memecahkan permasalahan ciritical section untuk dua proses.
  7. 7. 5.3 PERANGKAT KERAS SINKRONISASI Pada system multiprosessor , Proses-proses bersifat independen .intruksi disuatu proses tidak memenuhi pemroses-pemroses lainnya . Pemroses- pemrosesyang memekai memory bersama maka pengaksesan terhadap suatu memori dijaga pada tingkat perangkat keras agar tidak memproses lain tidak mengakses suatu lokasi yang sama disaat yang sama. Perancang perangkat keras menyediakan intruksi-intruksi otomok yang tidak dapat di intrupsi. Intruksi ini dilaksanakan sampai selesai. Intuksi ini biasanya di laksanakan dengan cara mengunci bus sehingga pemrosesan lain tidak dapat menggunakan bus 5.3.1 Metode Test and Set Metode Test and Set melakukan lesting dan memodifikasikan isi memory secara atomic menggunakan fungsi tes and set sebagai berikut. Boolean TestAndSet(Boolean dan target) { Boolean rv = target; Target= true; Return rv; } Metode Swap Metode swap menggunakan prosedur sw