MANAJEMEN PROSES MD Tugas Utama Manajemen Proses Mengelola

  • Slides: 35
Download presentation
MANAJEMEN PROSES MD

MANAJEMEN PROSES MD

Tugas Utama Manajemen Proses • • Mengelola siklus hidup proses-proses Melakukan penjadwalan proses Menangani

Tugas Utama Manajemen Proses • • Mengelola siklus hidup proses-proses Melakukan penjadwalan proses Menangani komunikasi antar proses Mengelola sumber daya komputer ke proses

Pengelolaan Siklus Hidup Proses – Penciptaan Proses ü Kondisi yang memicu penciptaan proses :

Pengelolaan Siklus Hidup Proses – Penciptaan Proses ü Kondisi yang memicu penciptaan proses : – Permintaan pengguna untuk menjalankan suatu aplikasi melalui aplikasi shell – Proses diciptakan oleh proses lain yang sedang berjalan – Proses diciptakan dalam eksekusi batch ü Tahapan penciptaan proses : – SO membangkitkan nomor identitas ID – SO membuat rekaman data dengan ID tsb dan menyisipkannya ke tabel proses – SO mengalokasikan ruang memori untuk menyimpan image proces – SO melakukan inisialisasi PCB – PCB disisipkan ke antrian ready dan mengubah status menjadi ready

Pengelolaan Siklus Hidup Proses – Penghentian Proses ü Langkah-langkah penghentian proses secara normal :

Pengelolaan Siklus Hidup Proses – Penghentian Proses ü Langkah-langkah penghentian proses secara normal : – Mengembalikan hasil keluaran ke proses induk (proses yang menciptakan) – Menghapus rekaman proses di semua antrian dan tabel proses – Menghapus PCB serta image proses. Seluruh sumber daya yang digunakan dibebaskan atau dikembalikan ke SO

Pengelolaan Siklus Hidup Proses – Pengalihan Eksekusi Proses (Process Switching) ü Pengalihan eksekusi dilakukan

Pengelolaan Siklus Hidup Proses – Pengalihan Eksekusi Proses (Process Switching) ü Pengalihan eksekusi dilakukan dengan menggunakan dispatcher ü Penyebab pengalihan eksekusi proses: – Interupsi Disebabkan oleh aksi eksternal proses seperti perangkat I/O, timer, kesalahan akses memori utama. Saat interupsi muncul kendali diserahkan ke interrupt handler. » Interupsi waktu memeriksa apakah jatah waktu penggunaan prosesor sudah habis atau belum » Interupsi I/O memberikan informasi mengenai adanya operasi I/O atau telah selesainya operasi I/O » Interupsi kesalahan memori terjadi jika prosesor mencoba mengakses alamat logika yang datanya belum disalin ke memori utama – Trap Interupsi yang dipicu oleh terjadinya kesalahan eksekusi/kondisi khusus dari proses yang sedang running. Jika kesalahannya fatal maka dilakukan proses switching, jika tidak maka SO memberikan peringatan ke pengguna atau menjalankan prosedur pemulihan dan melanjutkan kembali eksekusi – System Call pemanggilan layanan SO oleh proses yang sedang running. Penggunaan system call menyebabkan aliran eksekusi berpindah ke kode instruksi kernel SO.

Pengelolaan Siklus Hidup Proses ü Tahapan pengalihan eksekusi proses (P 0 ke P 1

Pengelolaan Siklus Hidup Proses ü Tahapan pengalihan eksekusi proses (P 0 ke P 1 dan kembali ke P 0): – SO menyimpan konteks prosesor (isi seluruh register prosesor, proses yang sedang running ke PCB proses tsb – SO memperbaharui isi PCB dan mengubah status eksekusi menjadi block/ready – PCB dipindahkan ke antrian I/O atau ready – SO melakukan dispatch ke proses baru, memperbaharui isi PCB proses baru dan mengubah status menjadi running – SO memperbaharui isi struktur data manajemen memori yang berkaitan dengan proses baru – SO menyalin konteks prosesor yang disimpan di PCB proses baru ke prosesor dan mulai mengeksekusi kode instruksi proses baru

Introduction • Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang mengatur urutan

Introduction • Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang mengatur urutan dan jangka waktu eksekusi-eksekusi proses yang aktif • Komponen yang dibutuhkan dalam penjadwalan proses: • Antrian penjadwalan • Scheduler • Dispatcher Rutin sistem operasi yang berfungsi untuk melakukan pengalihan eksekusi dari proses running ke proses lain

Sasaran Penjadwalan Sasaran utama penjadwalan proses adalah optimasi kinerja sistem komputer menurut kriteria tertentu.

Sasaran Penjadwalan Sasaran utama penjadwalan proses adalah optimasi kinerja sistem komputer menurut kriteria tertentu. Adapun kriteria penjadwalan (Andrew Tanenbaum : 1992) : • • • Adil (Fairness) Efisiensi Waktu Tanggap (Response Time) Waktu Tunggu (Waiting Time) Turn Around Time Throughput

Sasaran Penjadwalan Adil • Proses-proses diperlakukan sama, yakni mendapat jatah waktu layanan pemroses yang

Sasaran Penjadwalan Adil • Proses-proses diperlakukan sama, yakni mendapat jatah waktu layanan pemroses yang sama • Tidak ada proses yang mengalami starvation. Efisiensi • Efisiensi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses dengan total waktu operasi sistem komputer secara keseluruhan. • Sasaran penjadwalan adalah menjaga agar pemroses selalu dalam keadaan sibuk sehingga efisiensi sistem komputer maksimum.

Sasaran Penjadwalan Waktu Tunggu (Waiting Time) • Durasi waktu yang dihabiskan suatu proses dalam

Sasaran Penjadwalan Waktu Tunggu (Waiting Time) • Durasi waktu yang dihabiskan suatu proses dalam antrian ready selama siklus hidupnya. • Algoritma penjadwalan yang baik menghasilkan waktu tunggu yang sedikit untuk seluruh proses Waktu Respon (Response Time) • Waktu tanggap pada sistem interaktif adalah waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan sampai hasil pertama muncul di layar (terminal) Terminal Response Time. • Waktu tanggap pada sistem waktu nyata (Real-Time) adalah waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi → Event Response Time.

Sasaran Penjadwalan Turn Arround Time • Waktu yang dihabiskan dari saat proses mulai masuk

Sasaran Penjadwalan Turn Arround Time • Waktu yang dihabiskan dari saat proses mulai masuk ke sistem sampai proses itu diselesaikan sistem. • Turn arround time = waktu eksekusi + waktu menunggu. Sasaran penjadwalan adalah meminimalkan Turn Arround Time. Throughput • • Jumlah kerja yang dapat diselesaikan selama satu selang waktu. • Cara untuk mengekspresikan throughput adalah dengan jumlah proses pemakai yang dapat dieksekusi dalam satu unit/interval waktu tertentu. • Sasaran penjadwalan adalah memaksimalkan throughput.

Tipe-tipe penjadwalan Penjadwalan Jangka Pendek : Bertugas menyeleksi proses mana yang akan dijalankan diantara

Tipe-tipe penjadwalan Penjadwalan Jangka Pendek : Bertugas menyeleksi proses mana yang akan dijalankan diantara proses-proses yang ada dalam antrian ready. Penjadwalan Jangka Menengah : Jika ruang memori utama tidak cukup maka sistem operasi akan melakukan swapping proses yang berstatus blocked. Setelah event yang ditunggu selesai maka image proses yang sudah di swapping harus dikembalikan semula ke memori utama. Penjadwal melakukan swapping pada proses lain dan mengembalikan proses yang telah selesai event-nya ke memori utama Swapping memindahkan image proses dari memori utama ke virtual memori yang ada di memori sekunder Penjadwalan Jangka Panjang : Penjadwal menyeleksi program yang akan dialokasi ke memori utama dan disisipkan pada antrian ready.

Strategi Penjadwalan Non-Preemptive : Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat

Strategi Penjadwalan Non-Preemptive : Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai. Penjadwalan Preemptive : Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih oleh proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.

Strategi Penjadwalan

Strategi Penjadwalan

Algoritma Penjadwalan Algoritma penjadwalan Proses, meliputi : • FIFO (First In – First Out)

Algoritma Penjadwalan Algoritma penjadwalan Proses, meliputi : • FIFO (First In – First Out) / FCFS (First Come – First Serve) • SJF ( Shortest Job First) : Non preemptive & Preemptive • RR (Round Robin) • PS ( Priority Schedulling) Waiting Time (WT) : waktu selesai eksekusi – waktu datang proses – waktu eksekusi Turn Arround Time (TAT) : waktu tunggu + waktu eksekusi

Penjadwalan FIFO • Penjadwalan nonpreemptive dan tidak berprioritas. • Proses-proses diberi jatah waktu pemroses

Penjadwalan FIFO • Penjadwalan nonpreemptive dan tidak berprioritas. • Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan : Proses yang datang terlebih dahulu, juga dilayani terlebih dahulu • Saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai. • Job lama membuat job pendek menunggu. • Job tidak penting membuat job penting menunggu.

Penjadwalan FIFO Proses Burst-time P 1 24 P 2 3 P 3 3

Penjadwalan FIFO Proses Burst-time P 1 24 P 2 3 P 3 3

Penjadwalan FIFO • Jika proses datang dengan urutan P 1, P 2, P 3

Penjadwalan FIFO • Jika proses datang dengan urutan P 1, P 2, P 3 dan dilayani dengan algoritma FIFO maka dapat digambarkan Gantt Chart-nya : • • Waktu tunggu P 1 : 0 milidetik, P 2 : 24, P 3: 27 Rata-rata waktu tunggu (Average Waiting Time / AWT) : (0+24+27)/3 = 17 milidetik. • Turn around time (waktu penyelesaian) P 1 adalah 24, P 2 = 27, P 3 = 30, maka rata-rata Turn Around Time = (24+27+30)/3 = 27 milidetik.

Penjadwalan FIFO • Jika waktu kedatangan proses adalah P 3, P 2, P 1

Penjadwalan FIFO • Jika waktu kedatangan proses adalah P 3, P 2, P 1 maka Gantt Chartnya adalah : • • Waktu tunggu P 3 : 0 milidetik, P 2 : 3, P 1: 6 Rata-rata waktu tunggu (Average Waiting Time / AWT) : (0+3+6)/3 = 3 milidetik. • Turn around time (waktu penyelesaian) P 1 adalah 30, P 2 = 6, P 3 = 3, maka rata-rata Turn Around Time = (30+6+3)/3=39/3=13 milidetik.

Penjadwalan SJF • Asumsi : waktu jalan proses (sampai selesai) sudah diketahui sebelumnya. •

Penjadwalan SJF • Asumsi : waktu jalan proses (sampai selesai) sudah diketahui sebelumnya. • Menjadwalkan proses dengan waktu terpendek lebih dulu sampai selesai. • • • Proses P 1 P 2 P 3 Burst-time 6 8 7 P 4 3 Gantt Chart Nilai waktu tunggu : P 1 = 3 milidetik, P 2 = 16 milidetik, P 3 = 9 milidetik, P 4 = 0 milidetik AWT : (3+16+9+0) / 4 = 7 milidetik Turn arround time : P 1 = 9 , P 2 = 24 , P 3= 16 , P 4 = 3 Rata-rata TAT : (9+24+16+3)/4 = 52/4=13 milidetik

Penjadwalan SJF Contoh menentukan AWT untuk SJF Non-Preemptive : Gantt Chart SJF Non-Preempentive •

Penjadwalan SJF Contoh menentukan AWT untuk SJF Non-Preemptive : Gantt Chart SJF Non-Preempentive • A = 0 milidetik • B = waktu mulai dilayani – waktu saat tiba = 8 - 2 = 6 milidetik • C = waktu mulai dilayani – waktu saat tiba = 7 - 4 = 3 milidetik • D = waktu mulai dilayani – waktu saat tiba = 12 - 5 = 7 milidetik • AWT : (0+6+3+7) / 4 = 4 milidetik

Penjadwalan SJF Contoh menentukan AWT untuk SJF Preemptive : Gantt Chart SJF Preempentive •

Penjadwalan SJF Contoh menentukan AWT untuk SJF Preemptive : Gantt Chart SJF Preempentive • A = 0 + (11 -2) = 9 milidetik • B = 0 + (5 -4) = 1 milidetik • C = 0 milidetik • D = 7 -5 = 2 milidetik • AWT : (9+1+0+2) / 4 = 3 milidetik.

Penjadwalan SJF Menentukan Turn Around Time (SJF Preemptive) :

Penjadwalan SJF Menentukan Turn Around Time (SJF Preemptive) :

Penjadwalan Round Robin • Penjadwalan preemptive dan tanpa prioritas. • Semua proses dianggap penting

Penjadwalan Round Robin • Penjadwalan preemptive dan tanpa prioritas. • Semua proses dianggap penting dan diberi sejumlah waktu pemroses yang disebut kwanta (quantum) atau time-slice dimana proses itu berjalan. • Ketentuan algoritma RR : ü Jika quantum habis dan proses belum selesai maka proses menjadi runnable dan pemroses lain. ü jika quantum belum habis dan proses menunggu suatu kejadian (selesainya I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain. ü jika quantum belum habis tapi proses telah selesai maka proses diakhiri dan pemroses dialihkan ke proses lain.

Penjadwalan Round Robin Contoh : kumpulan proses datang pada waktu 0 Proses Burst-time P

Penjadwalan Round Robin Contoh : kumpulan proses datang pada waktu 0 Proses Burst-time P 1 24 P 2 3 P 3 3 Gambar Gantt Chart : Waktu tunggu tiap proses : Quantum 4 milidetik • P 1 mendapat 4 milidetik pertama • 20 milidetik berikutnya akan disela P 2 dan P 3

Penjadwalan Round Robin Contoh : Menentukan Turn Around Time untuk quantum waktu (q) =

Penjadwalan Round Robin Contoh : Menentukan Turn Around Time untuk quantum waktu (q) = 3

Penjadwalan Prioritas • Tiap proses dilengkapi dengan prioritas. • CPU dialokasikan untuk proses yang

Penjadwalan Prioritas • Tiap proses dilengkapi dengan prioritas. • CPU dialokasikan untuk proses yang memiliki prioritas paling tinggi. • Jika beberapa proses memiliki prioritas yang sama, maka akan digunakan algoritma FIFO.

Penjadwalan Prioritas Waktu tunggu tiap-tiap proses : Gantt Chart AWT = (6+0+16+18+1)/5 = 8,

Penjadwalan Prioritas Waktu tunggu tiap-tiap proses : Gantt Chart AWT = (6+0+16+18+1)/5 = 8, 2 ms

Penjadwalan Prioritas • Prioritas biasanya menyangkut masalah : waktu, memori yang dibutuhkan, banyaknya file

Penjadwalan Prioritas • Prioritas biasanya menyangkut masalah : waktu, memori yang dibutuhkan, banyaknya file yang boleh dibuka, dan perbandingan antara rata-rata I/O burst dengan rata-rata CPU burst. • Priority schedulling bersifat preemptive atau nonpreemptive. Jika ada proses P 1 yang datang pada saat P 0 sedang berjalan, maka akan dilihat prioritas P 1. • Seandainya prioritas P 1 lebih besar dibanding dengan prioritas P 0 maka pada non preemptive, algoritma tetap akan menyelesaikan P 0 sampai habis CPU burst-nya, dan meletakkan P 1 pada posisi head queue. Sedangkan pada preemptive, P 0 akan dihentikan dulu, dan CPU ganti dialokasikan untuk P 1.

Proses A B C Arrival Time 0 2 4 Burst Time 3 6 4

Proses A B C Arrival Time 0 2 4 Burst Time 3 6 4 D E 6 8 5 2 Carilah rata-rata waktu tunggu (Waiting Time) dan rata-rata waktu eksekusi (Turn Around Time) dengan menggunakan algoritma : 1. FIFO 2. SJF Non Preemptive 3. SJF Preemptive 4. Round Robin (Qt = 3) 5. Priority Scheduling (A=2, B=4, C=3, D=1, E=5)

Komunikasi Antar Proses • Proses-proses yang saling bekerja sama membutuhkan komunikasi antar proses (IPC,

Komunikasi Antar Proses • Proses-proses yang saling bekerja sama membutuhkan komunikasi antar proses (IPC, Inter Process Communication) • 2 macam model komunikasi antar proses: ü Model bertukar pesan (message passing) ü Model berbagi pakai memori (shared memory) Proses A akan mengirim pesan pada proses B, maka proses A akan mengirim pesannya ke kernel sistem operasi yang kemudian diteruskan ke proses B. Pesan m harus menyimpan informasi alamat tujuan. Bagian tertentu dari ruang alamat kedua proses dipetakan ke suatu lokasi memori fisik yang sama sehingga proses-proses tsb dapat menulis maupun membaca dari lokasi ini. Proses A mengirimpesan dengan menulis pesannya di ruang memori bersama. Proses B menerima pesan dengan membaca dari ruang memori tsb. Pada model ini dibutuhkan sinkronisasi agar tidak terjadi perebutan akses yang mengakibatkan ketidakkonsistenan data yang diakses

Model Bertukar Pesan (Message Passing) • Komunikasi langsung ü Alamat penerima dinyatakan secara eksplisit

Model Bertukar Pesan (Message Passing) • Komunikasi langsung ü Alamat penerima dinyatakan secara eksplisit dalam sintak pengiriman pesan ü Ciri-ciri komunikasi langsung : • Terdapat sambungan yang dapat bekerja secara otomatis antara proses -proses yang ingin berkomunikasi • Tiap sambungan menghubungkan tepat 2 proses, antar setiap pasangan proses terdapat tepat 1 jalur sambungan • Sambungan dapat bersifat satu arah, namun biasanya bersifat dua arah • Komunikasi tidak langsung ü Pengiriman dan penerimaan pesan dilakukan dengan perantara, yaitu mailbox atau port. ü Ciri-ciri komunikasi tidak langsung : • Komunikasi antar 2 proses dapat terjadi jika dua-duanya memiliki akses ke suatu mailbox yang sama • Tiap mailbox dapat menghubungkan lebih dari 2 proses, dan dimungkinkan terdapat lebih dari 1 sambungan untuk setiap pasangan proses yang hendak berkomunikasi • Sambungan dapat bersifat satu arah tapi umumnya bersifat dua arah

Model Bertukar Pesan (Message Passing) • Syarat agar dua proses dapat berkomunikasi lewat mailbox

Model Bertukar Pesan (Message Passing) • Syarat agar dua proses dapat berkomunikasi lewat mailbox adalah satu proses memiliki hak baca ke mailbox dan proses lain memiliki hak tulis ke mailbox • Mailbox dapat bersifat pribadi (privat) atau umum (public) • Komunikasi dengan message passing sering membutuhkan penggunaan message buffer jika kapasitas atau bandwidth sambungan komunikasi terbatas. Suatu sambungan hanya bisa mengirimkan 1 pesan setiap saat padahal pesan yang harus dikirim adalah 3. • Contoh : A mengirim pesan Mab ke B dan pesan Mac ke C melalui sambungan yang sama. Agar kedua pesan dapat dilakukan secara asinkron maka membutuhkan message buffer pada proses A sehingga pesan Mab dan Mac akan di-buffer terlebih dahulu dan dijadwal untuk dikirimkan lewat sambungan komunikasi. • Keuntungan penggunaan message buffer adalah jika terjadi kesalahan dalam transmisi data lewat sambungan komunikasi maka pesan dapat dikirim ulang

Kriteria Penilaian UTS • Simulasi sesuai ketentuan dengan tampilan yang standar C • Simulasi

Kriteria Penilaian UTS • Simulasi sesuai ketentuan dengan tampilan yang standar C • Simulasi sesuai ketentuan, pembahasan lengkap, animasi interaktif B • Simulasi sesuai ketentuan, pembahasan lengkap, animasi interaktif : – Dengan menggunakan software selain powerpoint A – Ada perbandingan dengan algoritma lain A *) akan ada pengurangan nilai jika studi kasus sama pada algoritma yang sama