Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta

Slides:



Advertisements
Presentasi serupa
PERTEMUAN KE-5 Heintje Hendrata, S.Kom
Advertisements

Afrizal Fahrudin Bagus Azril Hala Rizqul H
Oleh : Kelompok 2 Irawan ( ) Alifuddin Wachid ( ) Retno Ayu Apriliati ( ) “Proses Sistem Operasi” G.
BAB IV PENJADWALAN PROSES.
Pertemuan 04- Penjadwalan Proses sistem operasi
Implementasi Proses.
Ervi Nurafliyan Susanti ( )
MANAJEMEN PROSES.
Dosen: Resi Utami Putri, S.Kom., M.Cs Penjadwalan Proses.
Proses dan Implementasinya
Sistem Operasi Penjadwalan Proses
Proses dan Penjadwalan
Slide 7 – Penjadwalan Process
PART 3 DOSEN : AHMAD APANDI, ST
Manajemen Proses Meliputi : Pengelolaan sisklusi hidup proses
PENJADWALAN PROSES.
Ihr Logo 3. SISTEM OPERASI Manajemen Proses by
PENJADUALAN PROSES.
Penjadwalan Proses.
PERTEMUAN KE-7 PERKULIAHAN SISTEM OPERASI
MATERI 4 SISTEM OPERASI Scheduling Process Oleh : Mufadhol, S.Kom
Oleh : Defiana Arnaldy, M.Si
PERTEMUAN KE-9 PERKULIAHAN SISTEM OPERASI
SISTEM OPERASI Pertemuan 4 : Penjadwalan
PROCESS SCHEDULING A.A. Gde Bagus Ariana, ST..
Penjadwalan Proses.
Penjadwalan CPU.
Penjadwalan Process.
“PENJADWALAN PROSES “ SISTEM OPERASI.
Sistem Operasi Pertemuan 8.
Operasi pada Sistem Operasi
PENJADWALAN PROSES.
V. Penjadwalan Proses Penjadwalan CPU terjadi pada sistem operasi yang mempergunakan multiprogramming. Penjadwalan berupa kumpulan kebijakan untuk menentukan.
OPERATING SYSTEM.
Algorithma Penjadwalan Proses
Mata Kuliah : Sistem Operasi
PART 3 DOSEN : AHMAD APANDI, ST
SISTEM OPERASI Dosen Pengampu : Erfanti Fatkhiyah, ST., M.Cs.
III. Penjadwalan Proses
Dosen: Resi Utami Putri, S.Kom., M.Cs
Slide 7 – Penjadwalan Process
STMIK-IM BANDUNG Chalifa Chazar
Penjadwalan Proses.
Penjadwalan Proses.
ALGORITMA PENJADWALAN PROSES
Fakultas Ilmu Komputer Defri Kurniawan, M.Kom
Process Scheduling SISTEM OPERASI Slide perkuliahan
Penjadwalan Proses Edi Sugiarto, S.Kom.
Mata Kuliah Sistem Operasi
PART 3 Penjadwalan cpu.
Sistem Operasi Penjadwalan Proses
MANAJEMEN PROSES.
Penjadualan CPU 6.
SISTEM OPERASI PERTEMUAN VI.
Manajemen Proses Firdaus, M.T..
Oleh : Solichul Huda, M.Kom
Manajemen Proses.
SISTEM OPERASI PERTEMUAN VI.
PENJADWALAN PROSES.
Tahap-tahap penciptaan proses
MATERI PENJADWALAN PROSES
Penjadwalan Proses M. Ghofar Rohman.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Beberapa istilah yg sering muncul
Slide 7 – Penjadwalan Process
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
OPERATING SYSTEM. 1.Fungsi Sistem Operasi 2.Penjadwalan Proses 3.Memori Manajemen Dukungan Sistem Operasi meliputi:
Tim Teaching Grant Mata Kuliah Sistem Operasi
Transcript presentasi:

Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta Manajemen Proses Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta

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 : 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 : 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 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 (P0 ke P1 dan kembali ke P0): 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 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. Adapun kriteria-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 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 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 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 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 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

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 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 P1 24 P2 3 P3

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

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

Penjadwalan SJF Proses Burst-time P1 6 P2 8 P3 7 P4 3 Asumsi : waktu jalan proses (sampai selesai) sudah diketahui sebelumnya. Menjadwalkan proses dengan waktu terpendek lebih dulu sampai selesai. Proses Burst-time P1 6 P2 8 P3 7 P4 3 Gantt Chart Nilai waktu tunggu : P1 = 3 milidetik, P2 = 16 milidetik, P3 = 9 milidetik, P4 = 0 milidetik AWT : (3+16+9+0) / 4 = 7 milidetik Turn arround time : P1 = 9 , P2 = 24 , P3= 16 , P4 = 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 • 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 • 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 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 P1 24 P2 3 P3 Quantum 4 milidetik • P1 mendapat 4 milidetik pertama • 20 milidetik berikutnya akan disela P2 dan P3 Gambar Gantt Chart : Waktu tunggu tiap proses :

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 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,2 ms

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 P1 yang datang pada saat P0 sedang berjalan, maka akan dilihat prioritas P1. Seandainya prioritas P1 lebih besar dibanding dengan prioritas P0 maka pada non preemptive, algoritma tetap akan menyelesaikan P0 sampai habis CPU burst-nya, dan meletakkan P1 pada posisi head queue. Sedangkan pada preemptive, P0 akan dihentikan dulu, dan CPU ganti dialokasikan untuk P1.

Proses Arrival Time Burst Time 3 B 2 6 C 4 D 5 E 8 Carilah rata-rata waktu tunggu (Waiting Time) dan rata-rata waktu eksekusi (Turn Around Time) dengan menggunakan algoritma : FIFO SJF Non Preemptive SJF Preemptive Round Robin (Qt = 3) 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, Inter Process Communication) 2 macam model komunikasi antar proses: Model bertukar pesan (message passing) Model berbagi pakai memori (shared memory) 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 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.

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 adalah salah 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