II Proses 2 1 Konsep Proses adalah suatu












- Slides: 12
II. Proses 2. 1. Konsep Proses adalah suatu program yang sedang dalam keadaan dieksekusi. Suatu proses membutuhkan resource, seperti : CPU time, memory, file dan I/O device yang dialokasikan oleh proses pada saat dibuat atau dieksekusi
Istilah-istilah : • Multiprogramming (Multitasking) : manajemen banyak proses yang dijalankan pada satu prosesor. • Multiprocessing : Manajemen banyak proses yang dikerjakan pada banyak prosesor. • Distributed Processing : Manajemen banyak proses yang dieksekusi di banyak sistem komputer.
2. 2. Status Proses Status proses : keadaan proses yang sedang berlangsung saat itu. 2. 2. 1. Diagram status dasar Timeout Submit Ready Even Occur Completion Dispatch Running Blocked Even Wait Ready : Proses siap dieksekusi, proses menunggu jatah waktu dari prosesor Running : Proses dieksekusi, karena CPU tidak sedang mengerjakan tugas lain Blocked : Proses sedang menunggu beberapa event yang akan terjadi ( Misalnya Menunggu I/O, tersedianya memory, dll).
2. 2. 1. Diagram status lanjutan Timeout Submit Ready Running Even Occur Ready Completion Dispatch Blocked suspend Ready Suspended Ready suspend Suspended Blocked Even Wait
• Suspend : penundaan untuk memindahkan proses-proses tertentu untuk mereduksi beban sistem • Resume : Mengaktifkan kembali proses dari titik dimana proses ditunda • Tujuan operasi suspend dan resume : Mengatasi masalah pada saat sistem berjalan secara buruk ü Pemakai ragu pada hasil operasi proses ü
2. 3. Process Control Block (PCB) Merupakan reprentasi sebuah proses oleh sistem operasi, terdiri dari : ØInformasi identifikasi proses, berkaitan dengan identitas proses yang unik, meliputi identifikasi proses, proses yang menciptakan dan id pemakai ØInformasi status proses, dicatat oleh register prosesor ØInformasi pengendali proses, merupakan informasi-informasi lain yang diperlukan SO untuk pengendalian dn koordinasi proses aktif
2. 3. 1. Struktur PCB Identitas Proses Status Proses Kendali Proses Stack Pemakai Ruang alamat untuk Pemakai Ruang alamat bersama
2. 3. 2. PCB dan Process Linked-List Ready Running Blocked ØBila proses selesai, maka operasi terminated dijalankan shg PCB-nya tidak ada lagi ØBila proses Blocked, maka PCB-nya dipindah ke link blocked ØBila proses kehabisan jatah waktu eksekusi, maka PCB-nya dipindah ke link ready
2. 4. Siklus Hidup Proses 2. 4. 1. Penciptaan Proses ØBeri satu identifier unik ke proses baru ØAlokasikan ruang untuk proses ØInisialisasikan PCB ØBuat kaitan antar Proses dan linked-list ØBuat struktur data bila diperlukan 2. 4. 2. Pengalihan Proses Kejadian-kejadian yang menyebabkan pengalihan proses : a. Interupsi sistem : pengalihan proses akibat kejadian eksternal, misalnya selesainya operasi I/O. Interupsi sistem dikendalikan oleh interrupt handler.
Tipe-tipe interupsi : v. Interupsi clock : Interupsi yang didasarkan pada jatah waktu eksekusi yang dimiliki suatu proses. v. Interupsi I/O : interupsi yang disebabkan oleh peralatan I/O yang meminta layanan SO. v. Page/memory fault : Prosesor menemukan alamat memory yang tidak terdapat pada memory utama, shg. SO harus segera mengambil page dari memory maya ke memory fisik. b. Trap : merupakan interupsi yang karena keadaan perkecualian (exception condition) yang diakibatkan oleh proses yang running, spt usaha ilegal dalam mengakses file. c. Supervisor call : panggilan untuk mengaktifkan bagian utama (kernel) dari SO.
2. 4. 3. Tahap-tahap pengalihan proses ØSimpan konteks prosesor, termasuk register-register ØPerbaharui PCB yang sedang running ke state lain ØPindahkan PCB proses ke linked-list yang sesuai ØPilih salah satu proses yang lain untuk dieksekusi sesuai teknik penjadwalan ØPerbaharui PCB proses yang dipilih berupa perubahan state menjadi running ØPerbaharui struktur data dalam manajemen memory ØKembalikan konteks prosesor ke konteks proses terakhir yang running.
2. 4. 6. Penghentian proses Ada beberapa hal yang menyebabkan suatu proses dihentikan, a. l : Proses memang telah selesai mengerjakan tugasnya (normal). Proses berjalan melebihi batas waktu yang telah diberikan. Memory tidak tersedia. Proses mencoba mengakses kawasan memory yang tidak diijinkan untuk diakses. Terjadi kesalahan penghitungan (Misalnya membagi dengan nol) Proses menunggu terlalu lama. Terjadi kegagalan I/O. Terjadi kesalahan penggunaan data. Terjadi campur tangan / intervensi pengguna. Proses parent berakhir Atas permintaan dari proses parent.