PENGURUSAN PROSES

24
1 PENGURUSAN PROSES BAB 5

description

PENGURUSAN PROSES. BAB 5. Pengurusan Proses. Setiap proses memerlukan sumber-sumber untuk dilaksanakan. Sumber-sumber dikongsi oleh beberapa proses dalam persekitaran pengaturcaraan berbilang. - PowerPoint PPT Presentation

Transcript of PENGURUSAN PROSES

Page 1: PENGURUSAN  PROSES

1

PENGURUSAN PROSES

BAB 5

Page 2: PENGURUSAN  PROSES

2

Pengurusan Proses Setiap proses memerlukan sumber-sumber

untuk dilaksanakan. Sumber-sumber dikongsi oleh beberapa

proses dalam persekitaran pengaturcaraan berbilang.

Proses-proses perlu diurus dan diselaraskan bila terdapat banyak proses merebut sumber yang terhad untuk mengelakkan masalah kebuntuan dan kebuluran.

Page 3: PENGURUSAN  PROSES

3

Kebuntuan berlaku bila satu set proses yang setiap satunya memegang sumber dan menunggu untuk mendapatkan sumber yang sedang dipegang oleh proses lain di dalam set tersebut.

Ini menyebabkan proses-proses tergendala dan kadang-kala seluruh sistem turut tergendala.

Campur-tangan pihak luar diperlukan untuk menyelesaikan kebuntuan.

Page 4: PENGURUSAN  PROSES

4

Contoh kebuntuan: Suatu sistem dengan dua pemacu pita

T1 dan T2. Proses P1 dan proses P2 memegang T1

dan T2 masing-masing. Setiap proses menunggu untuk

mendapatkan satu lagi pemacu pita (yang sedang dipegang oleh proses lain).

Page 5: PENGURUSAN  PROSES

5

Kebuluran adalah situasi dimana terdapat proses-proses yang terpaksa menunggu selama-lamanya untuk mendapatkan sumber.

Ia terhasil dari “Penangguhan Tidak Terhingga”

Kebuntuan lebih serius dari kebuluran sebab ia melibatkan lebih daripada satu proses/kerja.

Page 6: PENGURUSAN  PROSES

6

5.2 Konsep Kebuntuan Masalah kebuntuan tidak wujud

dalam sistem kelompok dimana proses diperuntukkan sumber yang diperlukan sebelum ia dilaksanakan.

Masalah kebuntuan dihadapi dalam sistem interaktif dimana perkongsian sumber dibenarkan.

Page 7: PENGURUSAN  PROSES

7

5.3 Kes-kes kebuntuan Kebuntuan biasanya berlaku dalam

peruntukan sumber-sumber yang tidak boleh dikongsi dan tidak boleh ditarik-balik seperti fail, pencetak dan pemacu pita.

Kes 1: permintaan fail Kebuntuan boleh berlaku bila kerja/proses

dibenarkan memohon dan memegang fail semasa tempoh perlaksanaannya

Page 8: PENGURUSAN  PROSES

8

Kes 2: pangkalan data Pangkalan data mempunyai operasi-

operasi pertanyaan (query), pencarian/ transaksi, dan kemaskini.

Kebuntuan berlaku bila dua proses ingin mencapai dan mengunci (lock) rekod dalam pangkalan data.

Penguncian (locking) ialah teknik untuk memelihara integriti data.

Page 9: PENGURUSAN  PROSES

9

Peringkat penguncian berlaku pada seluruh pangkalan data, sebahagian pangkalan data, dan rekod.

Kebuntuan boleh dielakkan jika penguncian tidak digunakan.

Tetapi ini akan menyebabkan masalah perlumabaan.

Perlumbaan menimbulkan ketakkonsistenan data sewaktu pengemaskinian data.

Page 10: PENGURUSAN  PROSES

10

Kes 3: peruntukan peranti berdedikasi

Penggunaan peranti berdedikasi seperti pemacu pita (tidak boleh dikongsi) boleh menyebabkan kebuntuan.

Page 11: PENGURUSAN  PROSES

11

Kes 4: peruntukan pelbagai peranti Kebuntuan berlaku bila beberapa

proses memohon capaian peranti (seperti pemacu pita, pencetak, pemplot) dan memegangnya manakala terdapat proses lain yang juga melakukan perkara yang sama

Page 12: PENGURUSAN  PROSES

12

Kes 5: penggelendongan Penggelendongan (spooling)

melibatkan penggunaan cakera sebagai penimbal untuk menyimpan secara sementara bahan pencetakan yang dihantar oleh beberapa pengguna sehingga pencetak bersedia menerima bahan pencetakan itu.

Page 13: PENGURUSAN  PROSES

13

Kebuntuan berlaku jika pencetak memerlukan keseluruhan output dari pengguna sebelum ia memulakan pencetakan manakala ruang penyimpanan dalam cakera telah penuh diisi dengan bahagian-bahagian output (yang tidak lengkap).

Page 14: PENGURUSAN  PROSES

14

Kes 6: perkongsian cakera Rekabentuk cakera membolehkannya

dikongsi oleh proses-proses. Proses yang berbeza boleh mencapai

kawasan cakera yang berlainan. Kebuntuan berlaku jika tiada kawalan

yang baik.

Page 15: PENGURUSAN  PROSES

15

Kes 7: rangkaian Rangkaian yang sesak (atau sebahagian

besar kawasan penimbal I/O digunakan) akan mengalami kebuntuan jika tiada kawalan yang baik.

Peningkatan trafik akan menambah saiz giliran output dan menyebabkan ruang penimbal (buffer) dipenuhi.

Maka kebuntuan berlaku.

Page 16: PENGURUSAN  PROSES

16

5.4 Syarat-syarat untuk kebuntuan Empat syarat yang diperlukan bagi

penghasilan kebuntuan:1.      Saling eksklusif (mutual exclusion):

tindakan yang membenarkan hanya satu proses sahaja mencapai suatu sumber.

2.      Pegangan sumber (resource holding): setiap proses memegang sumber dan memohon sumber yang dipegang oleh proses lain untuk menyelesaikan pemprosesan.

Page 17: PENGURUSAN  PROSES

17

3.      Tiada primptif (no preemption): sumber diperuntukkan kepada suatu proses sepanjang tempoh ia diperlukan

4.      Penantian membulat (circular wait): setiap proses dalam suatu set menanti antara satu sama lain untuk proses lain dalam set itu melepaskan sumber yang diperlukan

Kebuntuan boleh diselesaikan (ditamatkan) jika salah satu syarat dihalang dari berlaku.

Page 18: PENGURUSAN  PROSES

18

5.5 Pemodelan kebuntuan

Menurut Holt (1972), syarat-syarat penghasilan kebuntuan boleh dimodelkan dengan graf berarah.

Kebuntuan berlaku kerana wujud penantian membulat.

Setiap proses menunggu sumber dilepaskan oleh proses lain tetapi tidak tercapai.

Page 19: PENGURUSAN  PROSES

19

5.6 Strategi pengelolaan kebuntuan Tiga strategi yang digunakan oleh

sistem pengendalian untuk mengendalikan kebuntuan :

1. Halang (prevent) mana-mana satu daripada 4 syarat yang menyebabkan kebuntuan. Penyelesaian (Havender) dengan menggunakan sistem penomboran sumber.

Page 20: PENGURUSAN  PROSES

20

2. Elak (avoid) kebuntuan jika ia boleh berlaku. Idea asas Algoritma Banker: Proses yang memasuki sistem mesti isytiharkan jumlah sumber yang diperlukannya; jumlah ini tidak boleh melebihi jumlah sumber dalam sistem itu.

Page 21: PENGURUSAN  PROSES

21

Bila proses memohon suatu set sumber, sistem mesti memastikan peruntukan itu memelihara keadaan selamat (safe state) sebelum sumber diperuntukkan. Kekangan Algoritma Banker menyebabkannya kurang praktikal.

Page 22: PENGURUSAN  PROSES

22

3. Kesan (detect) kebuntuan bila ia berlaku dan pulihkan (recover) sebaik mungkin. Kebuntuan dapat dikesan dengan membina graf berarah dan menentukan samada penantian membulat wujud. Pengesanan dilakukan menurut kala yang sesuai. Kaedah (algoritma) pemulihan biasanya memerlukan sekurang-kurangnya satu proses/kerja (sistem) dikeluarkan dari sistem.

Page 23: PENGURUSAN  PROSES

23

Faktor pemilihan proses/kerja mangsa termasuklah keutamaan proses, masa pemprosesan dan jumlah proses yang akan terjejas.

Page 24: PENGURUSAN  PROSES

24

5.7 Konsep Kebuluran Kebuluran ialah hasil dari peruntukan

sumber secara konservatif (abadi) dimana perlaksanaan suatu kerja terhalang disebabkan ia terpaksa menunggu sumber yang sentiasa digunakan.

Contoh: “The dinning philosophers” oleh Dijkstra.

Algoritma “aging” boleh digunakan dalam penyelesaian kebuluran dimana sistem akan menyekat proses baru masuk sehingga proses yang kebuluran itu diselesaikan.