370 likes | 553 Views
E4161 SISTEM KOMPUTER & APLIKASI. UNIT 4 PENGURUSAN PROSES. KONSEP PENGURUSAN DALAM OS. Definisi istilah yang sering digunakan dalam OS : PROSES : Melakukan operasi / siri operasi pada sesuatu supaya menghasilkan kesudahan PROGRAM :
E N D
E4161SISTEM KOMPUTER & APLIKASI UNIT 4 PENGURUSAN PROSES
KONSEP PENGURUSAN DALAM OS • Definisi istilah yang sering digunakan dalam OS : PROSES : Melakukan operasi / siri operasi pada sesuatu supaya menghasilkan kesudahan PROGRAM : Set kenyataan atau arahan yang sesuai utk pemprosesan oleh komputer PEMPROSES : Perkakas yg mentafsir & laksana arahan
KONSEP PENGURUSAN DALAM OS • 2 sebab proses boleh hilang kawalannya ke atas pemproses ialah : i. Permintaan i/o oleh proses itu ii. Sampukan dari mana-mana sumber • Konsep proses Selaraskan kawalan program-program yang dilaksanakan
CPA CPB CPC CPD KONSEP PENGURUSAN DALAM OS • Sistem Multiuser • Tidak efisien kerana : Setiap pengguna memuatkan program (compileryang sama) dalam ingatan Sepatutnya program dimuatkan sekali dan pengguna berkongsi menggunakannya. Ingatan C=Compiler
PENGKOMPIL (COMPILER) • Perisian sistem yang menukarkan bahasa-bahasa pengaturcaraan kepada kod mesin • Aturcara yg membaca aturcara (aturcara sumber) yang ditulis dalam satu bahasa dan kemudiannya diterjemahkan ke bahasa aturcara lain (aturcara target) • Pengkompil akan melaporkan pada pengguna sekiranya terdapat ralat dalam aturcara
PENGKOMPIL (COMPILER) • Contoh bahasa pengaturcaraan bagi aturcara sumber : * Fortran * Pascal * Basic • Contoh bahasa pengaturcaraan bagi aturcara target : * Bahasa Mesin * Bahasa Himpunan COMPILER Aturcara Target Aturcara Sumber Mesej Ralat
O.S Compiler C (Berkongsi) Data Pengguna A Data Pengguna B Data Pengguna C Data Pengguna D KONSEP PENGURUSAN DALAM OS • Kongsi Program • Cara pengkompil compiling adalah serentak. • Cara kerja ini dikatakan ‘re-entrant’ 1 program dilaksanakan sebanyak 2 kali atau lebih secara serentak PA PB PC PD
KONSEP PENGURUSAN DALAM OS • Kongsi Program * Syarat yang penting dalam konteks ini ialah : - Kod-kod arahan mesin dalam ingatan mesti tidak boleh diubah semasa perlaksanaan - Kawasan data berasingan mesti dikekalkan semasa perlaksanaan
KONSEP PENGURUSAN DALAM OS • Pengurusan Proses • Pengurusan Ingatan • Pengurusan Input Output • Pengurusan Sistem Fail
PENGURUSAN PROSES • Bila berlaku proses perlaksanaan atau menambah proses yang baru : * OS bina struktur data yang dipanggil Process Control Block (PCB) * OS sediakan ruang alamat untuk digunakan oleh proses itu
PENGURUSAN PROSES • MOD PERLAKSANAAN * Mod Pengguna * Mod Sistem/Mod Kawalan/Mod Kernell • PROCESS CONTROL BLOCK (PCB) • KEADAAN-KEADAAN PROSES * Model Tiga Keadaan Proses * Model Lima Keadaan Proses • PENJADUALAN * Penjadualan Paras Tinggi (HLS) * Penjadualan Paras Tengah (ILS) * Penjadualan Paras Bawah (LLS) • POLISI PENJADUALAN PARAS BAWAH * Yang Dahulu Didahulukan (FCFS) * Kerja Ringkas Didahulukan (SJF) * Pusingan Robin (Round Robin)
PENGURUSAN PROSESMod Perlaksanaan • MOD PENGGUNA - Biasanya program-program pengguna dilaksanakan dalam mod ini. • MOD SISTEM / MOD KAWALAN / MOD KERNEL - Hak keistimewaan lebih daripada mod pengguna - Mod Kernel Perisian mempunyai kawalan yang lengkap terhadap pemproses dan segala arahan-arahannya, register dan ingatan.
PENGURUSAN PROSESProcess Control Block (PCB) • Struktur Data yang mengandungi maklumat penting proses iaitu : i. Keadaan semasa proses ii. Pengenalan yg unik terhadap proses iii. Penunjuk kepada induk proses iv. Penunjuk kepada anak proses v. Keutamaan proses vi. Penunjuk yg menunjuk proses dlm ingatan vii. Penunjuk yg tentukan sumber bahan viii. Pendaftar yg mempunyai kawasan selamat
PENGURUSAN PROSESKeadaan-keadaan Proses • Terbahagi kepada 3 iaitu : i. Running : Program sedang dilaksanakan ii. Ready : Boleh dilaksanakan tetapi kena tunggu sementara proses lain dilaksanakan iii. Blocked : Tidak boleh dilaksanakan sehingga mendapat i/o dari luar
Running 2 1 3 Blocked Ready 4 Model Tiga Keadaan Proses • Proses 1 : berlaku apabila proses mendapati ianya tidak boleh dilaksanakan. • Proses 2 : berlaku apabila penjadualan mendapati proses tersebut telah berlangsung terlalu lama dan benarkan proses lain guna CPU. • Proses 3 : berlaku apabila proses lain sudah laksanakan program dan benarkan program yang pertama dilaksanakan. • Proses 4 : berlaku apabila masukan dari luar untuk proses yang sedang menunggu terjadi. Apabila tiada proses yang sedang dilaksanakan ketika itu, program akan terus dilaksanakan
Kitar Hayat Proses i/o complete PROCESS ENTRY Ready Blocked dispatch timeout i/o wait TERMINATION Running
Pengguna memulakan program Proses dikembalikan ke ready queue dan proses seterusnya diambil OS create proses dgn bina PCB Proses diletak dalam ready queue (READY) Tempoh masa tamat Proses diambil dari ready queue oleh penjadual (RUNNING) Panggilan i/o • (BLOCKED) • Proses diletakkan dlm • blocked queue. • Proses seterusnya • diambil dari ready queue • Apabila i/o tamat, • proses diletak dlm • ready queue Proses dilaksanakan (execute) Proses tamat (Terminate)
Model Lima Keadaan Proses • Suspended : Proses terhenti & tunggu hingga ia dipanggil oleh sistem atau pengguna • Resume : Proses yg terhenti tidak boleh aktif sehingga proses lain resume Ready Blocked i/o selesai Masuk dispatch i/o tunggu timeout Running 4 suspend resume suspend resume suspend Blocked Suspended Ready Suspended i/o selesai * Suspended & resume penting kerana ia melancarkan perjalanan sistem
Model Lima Keadaan Proses • Kenapa prosessuspend&resumeperlu ? * jika sistem bermasalah * pengguna suspended proses kerana keputusan proses diragui * sistem terlampau digunakan * ingatan terpaksa dikosongkan utk proses lain yg lebih utama * proses suspend mungkin diperlukan kerana terdapat proses yang dicipta untuk memantau sistem pada masa-masa tertentu
PENGURUSAN PROSESKeadaan-keadaan Proses • Proses-proses yang di dalam keadaan Ready, Running atau Blocked boleh suspended • Ia mungkin berada dalam keadaan Ready Suspended dan Blocked Suspended. • Bagi proses yang sedang Running di suspended, ia akan berada dalam keadaan Ready suspended. • Proses yang suspended akan dipulihkan semula dan masuk ke keadaan Resume • Sistem Unipemproses : Proses yang running mungkin suspend dirinya • Sistem Multipemproses : Proses yang running mungkin disuspend oleh proses yang lain pada satu masa daripada pemproses yang lain
PENGURUSAN PROSESPenjadualan Tugas-tugas Penjadualan adalah seperti berikut : • Kenalkan proses baru kepada sistem - Penciptaan proses yang utama dilakukan oleh penjadual. • Kumpulkan keutamaan bagi tiap-tiap proses - Penjadual akan tetapkan keutamaan sesuatu proses apabila ia dicipta • Implementasikan Polisi Penyediaan sumber bahan - Polisi berkaitan dgn usaha mengatasi masalah kebuntuan (deadlock) dan perseimbangan dalam sistem. - Pastikan tidak ada 1 sumber bahan pun yang tak digunakan atau terlampau digunakan.
PENGURUSAN PROSESPenjadualan Beberapa kriteria untuk menilai keseimbangan : • Keadilan - Pastikan setiap proses gunakan pemproses yang adil • Keberkesanan - Bagi pastikan pemproses digunakan sepenuhnya • Masa tindakbalas - meminimumkan masa tindakbalas, terutamanya pd pengguna masa nyata • Meminimumkan masa yang diperlukan bagi pengguna • Daya pemprosesan - Maksimumkan bilangan kerja yang diproses per jam
PENGURUSAN PROSESPenjadualan • Deadlock * Keadaan di mana 2 proses memohon untuk menggunakan sumber yang telah diperuntukkan kepada proses lain. * Apabila ini berlaku, 2 proses ini berada dalam keadaan menunggu untuk masa yang infiniti • Penyelesaian * Proses terlebih dahulu tentukan sumber yang diperlukan * OS akan pilih 1 proses yang kecil dan keluarkan dari rantaian deadlock
PENGURUSAN PROSESPenjadualan • DEADLOCK Sumber A guna minta Pemproses 1 Pemproses 2 minta Sumber B guna
PENGURUSAN PROSESPenjadualan Terdapat 3 paras penjadualan : • Penjadualan Paras Tinggi (HLS) (High Level Schedule) • Penjadualan Paras Tengah (ILS) (Intermediate Level Schedule) • Penjadualan Paras Bawah (LLS) (Low Level Schedule)
PENGURUSAN PROSESPenjadualan • Penjadualan Paras Tinggi (High Level Schedule) - HLS - Tentukan kerja (task) yang mana dibenarkan bersaing utk dapatkan sumber bahan - Apabila kerja tersebut telah mendapat sumber bahan, kerja itu dipanggil sebagai proses / kumpulan proses - Ia mengendalikan kerja-kerja yang baru supaya masuk ke dalam giliran - Ia memastikan sistem tidak overload - Jika pemberatan sistem ditahap maksima, maka proses baru akan diterima apabila proses semasa tamat - Jika pemberatan sistem di bawah maksima, proses yang sedang menunggu akan dipilih berdasarkan skima algoritma yang ditentukan
PENGURUSAN PROSESPenjadualan • Penjadualan Paras Tengah (Intermediate Level Schedule) - ILS - Tentukan proses yang mana dulu bersaing utk dapatkan sumber bahan - Bertindakbalas terhadap sistem proses akan berada ditahap suspending dan resume semula jika berlaku system load / proses akan dikeluarkan ke cakera - Bila berada dalam cakera, proses adalah ready suspended atau blocked suspended. Proses blocked apabila ada i/o wait - ILS bertindak sebagai penimbal (buffer) di antara kemasukan kerja baru dalam sistem dan assign kerja-kerja kepada CPU
PENGURUSAN PROSESPenjadualan • Penjadualan Paras Bawah (Low Level Schedule) - LLS - Tentukan proses yang mana sedang ready diumpukkan oleh dispatcher dan ianya sentiasa diperlukan - Beroperasi banyak kali dalam setiap minit/saat (kekerapan yang tinggi) - Dispatcher dipanggil apabila berlaku perubahan keadaan : * satu sumber bahan diminta * satu sumber bahan dilepaskan * proses-proses yang baru tiba ke dalam sistem
PENGURUSAN PROSESPolisiPenjadualan Paras Bawah • 2 Jenis penjadualan : * Non Preemptive - Proses yang diambil dari giliran penjadualan akan dilayan sehingga selesai - Contoh : SJF, FIFO, HRRN * Preemptive - Proses yang diambil mengikut tertib dan diperolehi selama masa kuantum yang ditetapkan (Menyediakan pembahagian masa pada setiap proses dan beri masa yang sesuai dengan jumlah masa CPU) - Contoh : Round Robin
PENGURUSAN PROSESPolisiPenjadualan Paras Bawah • Yang Dahulu Didahulukan – FCFS (First Come First Serve) - Jenis Penjadualan Non Preemptive - Berdasarkan ketibaan proses ke dalam sistem dengan proses yang datang dahulu berada di hadapan - Cara paling mudah diimplemen dan kebanyakannya digunakan dalam kehidupan seharian - Masalah : Proses kecil yang berada di belakang proses besar terpaksa menunggu lama
PENGURUSAN PROSESPolisiPenjadualan Paras Bawah • Yang Dahulu Didahulukan – FCFS (First Come First Serve) Berikan penyelesaian bagi beban kerja di bawah menggunakan FCFS
PENGURUSAN PROSESPolisiPenjadualan Paras Bawah • Yang Dahulu Didahulukan – FCFS (First Come First Serve) Penyelesaian : P1 P2 P3 P4 0 10 35 48 30 Purata = 75 / 4 = 18.75
PENGURUSAN PROSESPolisiPenjadualan Paras Bawah • Kerja Ringkas Didahulukan – SJF (Short Job First) - Jenis Penjadualan Non Preemptive - Dilakukan dengan tetapkan giliran penjadualan disusun mengikut masa proses - Proses yang memerlukan masa yang singkat akan diberi keutamaan yang lebih tinggi masa menunggu proses kecil dikurangkan - Bagi mengelakkan proses besar dari tidak diproses langsung, keutamaan bagi kerja-kerja besar ditambah setiap kali 1 kerja diproses
PENGURUSAN PROSESPolisiPenjadualan Paras Bawah • Kerja Ringkas Didahulukan – SJF (Short Job First) Berikan penyelesaian bagi beban kerja di bawah menggunakan SJF
PENGURUSAN PROSESPolisiPenjadualan Paras Bawah • Kerja Ringkas Didahulukan – SJF (Short Job First) Penyelesaian : P3 P1 P4 P2 0 5 28 48 15 Purata = 48 / 4 = 12
PENGURUSAN PROSESPolisiPenjadualan Paras Bawah • Pusingan Robin (Round Robin) - Jenis Penjadualan Preemptive - Setiap proses disusun dalam 1 giliran bulat tanpa menggunakan sebarang keutamaan - 1 proses akan diambil mengikut tertibnya dan diperolehi selama masa kuantum yang ditetapkan - Setiap kali masa kuantum, context switch berlaku * context switch : tindakan memegang status semasa suatu proses yang tertahan sementara dan permulaan proses yang lain
giliran ready CPU dispatch timeout PENGURUSAN PROSESPolisiPenjadualan Paras Bawah • Pusingan Robin (Round Robin) • Proses yang baru dipilih berdasarkan First In First Out (FIFO) • Proses ini dilaksanakan berdasarkan masa kuantum (masa • yang diperuntukkan dalam jangka masa yang ditetapkan. • Apabila melebihi masa kuantum, proses akan kembali ke • giliran ready