PENGURUSAN PROSES

Post on 13-Jan-2016

61 views 4 download

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

1

PENGURUSAN PROSES

BAB 5

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.

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.

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).

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.

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.

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

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.

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.

10

Kes 3: peruntukan peranti berdedikasi

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

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

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.

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).

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.

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.

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.

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.

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.

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.

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.

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.

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.

23

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

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.