ModulXIII ( tigabelas) TopikKonkurensi Sub TopikMutex n-Proses Materi Algoritma Eisenberg-McGuire TujuanMahasiswa mengenal penyelesaian Mutex n-Proses Mata kuliahSISTEM OPERASI II ( 3 sks ) SemesterV KelasPKK Murni ex-D3 Kampus Meruya DosenIr. Nixon Erzed, MT MODUL KULIAH JURUSAN TEKNIK INFORMATIKA PROGRAM KELAS KARYAWAN UNIVERSITAS MERCU BUANA Pertemuan : XIV (empat belas)Waktu: Minggu, 20 Januari 2008
Algoritma EM; Const n = 7 Var flag : array [0..n-1] of (idle, want_in, in_cs) Turn : (0..n-1) I : 0.. n-1 ; id proses 7878 Prosesdur Masuk_SK; { mengerjakan instruksi-instruksi di Seksi Kritis } Prosedur Masuk_SnK; { mengerjakan instruksi-instruksi di Seksi non Kritis} Deklarasi Program Utama BEGIN For i 0 to n-1 do flag [ i ] idle end-for Turn 0 Repeat Parbegin For i 0 to n-1 do proses ( i ) Init flag [i] dengan idle dinyatakan kosong flag [0] : idle, flag [1] : idle flag [2] : want_in, flag [3] : idle semua jalur 36 end-for Parend Forever End-Eisnberg Loop distribution Penciptaan proses(i)
Contoh jika hanya datang 1 proses masuk jalur 2 (pada n =4) Proses 2i = :::::: flag [2] want_in j turn = 0 True masuk loop :::::::::: flag [ 0 ] = idle j=1 true masih di loop flag [1] = idle j=2 false 14:falseout of loop 18: flag [ 2] in_cs :::::::::::::::::::::::::::::::::::::: j 0 T ( F T) = T j 1 T ( F T) = T j 2 T ( T F) = T j 3 T ( F T) = T j 4 F ( F F) = F T ( F T) = T proses 2 masuk SK j 1 flag [ 1] = idle True j 2 flag [2] = idle False turn j = 2 flag [2] idle proses 2 masuk SnK in loop out loop in loop out loop