PERTEMUAN KE-7 PERKULIAHAN SISTEM OPERASI By : Nanda Prasetia, ST PERTEMUAN KE-7 PERKULIAHAN SISTEM OPERASI
MANAJEMEN PROSES TUGAS UTAMA MANAJEMEN PROSES : 1. Mengelola siklus hidup proses-proses. 2. Melakukan penjadwalan proses. 3. Menangani komunikasi antar proses. 4. Mengelola alokasi sumber daya komputer ke proses
1. Pengelolaan siklus hidup proses Pengelolaan siklus hidup proses meliputi : a. Penciptaan proses b. Penghentian proses c. Pengalihan eksekusi
a. Penciptaan proses Penciptaan proses dapat dipicu oleh permintaan pengguna untuk menjalankan suatu aplikasi melalui aplikasi shell. Proses dapat juga diciptakan oleh suatu proses lain yang sedang berjalan, seperti aplikasi shell yang menciptakan proses aplikasi lain yang diminta pengguna. Selain itu proses dapat pula diciptakan dalam suatu eksekusi batch seperti eksekusi shell script, misalnya eksekusi berkas autoexec.bat di sistem operasi windows ataupun eksekusi berkas script berekstensi *.bash di sistem operasi linux.
a. Penciptaan proses Berikut tahap-tahap yang dilalui selama penciptaan : 1. Sistem operasi akan membangkitkan suatu nomor identitas atau ID unik untuk proses yang diciptakan. 2. Setelah itu sistem operasi akan membuat suatu rekaman data dengan nomor ID tersebut dan menyisipkan rekaman tersebut pada suatu struktur data di memori utama yang disebut dengan tabel proses (process table). 3. Setelah itu, sistem operasi mengalokasi ruang memori utama untuk menyimpan image proses yang terdiri atas bagian kode program, stack, dan PCB (Process Control Block). 4. Pada tahap berikutnya, sistem operasi akan melakukan inisialisasi PCB proses yang diikuti dengan proses no 5 berikut. 5. Penyisipan PCB proses ke antrian ready dan mengubah status proses menjadi ready.
b. Penghentian proses Penghentian proses yang normal terjadi karena aplikasi telah selesai. Adanya kondisi kesalahan serta hal-hal yang tidak dikehendaki dapat menyebabkan proses dihentikan secara paksa
b. Penghentian proses Langkah-langkah yang dilakukan oleh sistem operasi dalam penghentian proses secara normal : 1. Mengembalikan hasil keluaran ke proses induk (parent process), yaitu proses yang menciptakan proses bersangkutan. 2. Menghapus rekaman proses di semua antrian dan di tabel proses. 3. Setelah itu, sistem operasi akan menghapus PCB serta image proses tersebut. Dalam penghentian proses, semua sumber daya yang digunakan, seperti berkas maupun peranti I/O dibebaskan ataupun dikembalikan ke sistem operasi. Setelah penghentian proses selesai, sistem operasi akan melakukan operasi penjadwalan (scheduling) untuk memilih proses lain untuk dieksekusi.
c. Pengalihan eksekusi proses (proses switching) Pengalihan eksekusi suatu proses ke proses lainnya dapat disebabkan karena suatu proses meminta operasi I/O (misalnya membaca berkas), menunggu suatu event (misalnya menggunakan inputan keyboard ataupun pergerakan mouse dari pengguna komputer), terjadi kesalahan eksekusi proses ataupun jatah waktu eksekusinya sudah habis.
Berbagai penyebab pengalihan eksekusi proses 1. Interupsi, interupsi disebabkan oleh aksi eksternal, misalnya oleh peranti I/O, pewaktu (timer), ataupun kesalahan akses memori utama. 2. Trap, trap adalah interupsi yang dipicu oleh terjadinya kesalahan eksekusi ataupun kondisi-kondisi khusus (exception condition) dari proses yang sedang running. Jika kesalahannya fatal maka dilakukan pengalihan eksekusi ke proses lain atau yang disebut dengan process switching. 3. Supervisor Call atau System Call, System Call merupakan pemanggilan layanan sistem operasi oleh proses yang sedang running. Penggunaan system call menyebabkan aliran eksekusi berpindah ke kode instruksi kernel sistem operasi.
Tahapan pengalihan eksekusi proses (proses switching) Meliputi langkah-langkah berikut : 1. Sistem operasi menyimpan (backup) konteks processor, yaitu isi seluruh register processor, proses yang sedang running (Po) ke PCB proses tersebut (PCBo). 2. Sistem operasi kemudian memperbarui isi PCB proses tersebut (PCBo), termasuk mengubah status eksekusinya ke status blocked ataupun ready. 3. Selanjutnya, PCB (PCBo) dipindahkan ke antrian yang sesuai, yaitu antrian ready jika status proses beralih ke status ready ataupun ke salah satu antrian I/O jika proses beralih ke status blocked. 4. Setelah itu,sistem operasi melakukan dispatch ke proses lainnya P1, dengan memperbarui PCB proses baru (P1), termasuk mengubah status eksekusinya menjadi running. 5. Kemudian sistem operasi memperbarui isi struktur data manajemen memori yang berkaitan dengan proses baru (P1). 6. Terakhir, sistem operasi akan meyalin (restore) konteks processor yang tersimpan di PCB proses baru (PCB1) ke processor dan mulai mengeksekusi kode instruksi proses P1.
d. Pengalihan konteks eksekusi (context switching) Terjadinya interupsi tidak selalu memicu terjadinya pengalihan eksekusi proses (proses switching). Sebagai contoh adalah ketika suatu proses sedang berjalan dan menunggu inputan dari keyboard. Ketika pengguna memasukkan data lewat keyboard maka akan terjadi interupsi yang mengakibatkan pengalihan konteks eksekusi, yaitu dari proses ke rutin penanganan interupsi (interupsi handler) keyboard. Setelah rutin interupsi selesai dijalankan maka eksekusi dialihkan kembali ke proses bersangkutan. Selama terjadinya pengalihan konteks eksekusi ini, status eksekusi proses tidak berubah. Pengalihan konteks eksekusi (bukan pengalihan eksekusi proses) melakukan penyimpanan konteks Processor proses ke stack, Bukan ke PCB. Setelah itu eksekusi berpindah ke rutin interupsi dan setelah selesai, register processor diperbaharui kembali dengan konteks processor yang dibaca dari stack, dan eksekusi proses yang terhenti dilanjutkan kembali. Pengalihan konteks eksekusi (context switching) melibatkan tahapan yang lebih pendek dibandingkan pengalihan eksekusi proses (process switching). Itu sebabnya pengalihan eksekusi antar rutin sistem operasi umumnya memakai mekanisme context switching, bukan process switching.
PENJADWALAN PROSES Penjadwalan proses dapat didefinisikan sebagai kumpulan kebijaksanaan dan mekanisme sistem operasi yang mengatur urutan dan jangka waktu eksekusi proses-proses yang aktif. Untuk menjalankan penjadwalan proses, sistem operasi membutuhkan sejumlah komponen yang meliputi : 1. Antrian penjadwalan (Scheduling Queue) 2. Penjadwal (Scheduler) 3. Dispatcher
Kriteria penjadwalan proses Antara lain: 1. Keadilan (fairnes) 2. Efisien(Processor utilization) 3. Waktu tanggapan (Respon time) 4. Waiting time 5. Turn around time 6. Throughput
Strategi dasar penjadwalan Yaitu : 1. Non-preemptive 2. Preemptive
Pemicu terjadinya proses penjadwalan Antara lain: 1. Proses berubah dari status running ke blocked. 2. Proses berubah dari status running ke ready. 3. Proses berubah dari status blocked ke ready. 4. Proses berhenti (Terminated)
Algoritma Penjadwalan Yaitu : 1. FIFO 2. SJF 3. HRRN
TUGAS MAHASISWA Ringkas materi pada slide 7 ini ! Tulis dikertas double folio, ditulis tangan, kumpul pada hari selasa 20/03/2011. Kriteria ringkasan : “sama seperti kriteria sebelumnya”