Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Hendy Mizuardy SISTEM OPERASI. MANAJEMEN PROSES Konsep Proses Definisi Proses Status Proses Process Control Block (PCB) Konsep Penjadwalan Queue Scheduling.

Presentasi serupa


Presentasi berjudul: "Hendy Mizuardy SISTEM OPERASI. MANAJEMEN PROSES Konsep Proses Definisi Proses Status Proses Process Control Block (PCB) Konsep Penjadwalan Queue Scheduling."— Transcript presentasi:

1 Hendy Mizuardy SISTEM OPERASI

2 MANAJEMEN PROSES

3 Konsep Proses Definisi Proses Status Proses Process Control Block (PCB) Konsep Penjadwalan Queue Scheduling Schedulers Context switch Operasi Pada Proses Pembuatan Proses Penghentian Proses Thread Manajemen Proses

4 Konsep Proses

5 Membuat dan menghapus proses pengguna dan sistem proses. Menunda atau melanjutkan proses. Menyediakan mekanisme untuk proses komunikasi. Menyediakan mekanisme untuk proses sinkronisasi. Menyediakan mekanisme untuk penanganan deadlock. Tugas Sistem Operasi pada Manajemen Proses

6 Proses merupakan semua aktifitas CPU, seperti : Job/task/process yang dieksekusi pada sistem batch User Program atau task pada sistem time shared Konsep Proses

7 Proses adalah program yang sedang dieksekusi. Eksekusi proses dilakukan secara berurutan Proses bukan hanya “kode program”, tapi juga termasuk didalamnya : Aktifitas saat ini yang merupakan nilai dari “program counter” Isi dari register processor Program stack “Data section” yang berisi variabel global Menyimpan status proses, seperti : aktif, wait I/O request dll Konsep Proses

8 Proses adalah entiti aktif, mempunyai program counter yang menunjuk ke instruksi selanjutnya yang akan dieksekusi Dua proses yang merupakan program yang sama mempunyai urutan eksekusi yang terpisah Suatu proses membutuhkan resource untuk menyelesaikan pekerjaannya, dimana resource tersebut dialokasikan oleh proses pada saat dibuat atau dieksekusi Konsep Proses

9 Status dari proses akan berubah pada saat-saat proses dijalankan Status dari sebuah proses merupakan suatu keadaan/ aktivitas yang sedang dilakukan oleh proses itu sendiri. Hanya satu proses yang dapat berjalan pada prosesor manapun pada satu waktu, tetapi banyak proses yang dapat berstatus ready atau waiting Status Proses

10

11 NEW Status yang dimiliki pada saat proses baru saja dibuat RUNNING Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi Proses bisa dieksekusi karena CPU tidak sedang mengerjakan tugas yang lain WAITING Status yang dimiliki pada saat proses menunggu suatu event, seperti penyelesaian I/O atau menerima signal Status Proses

12 READY Status yang dimiliki pada saat proses siap dieksekusi oleh processor Proses menunggu jatah waktu dari processor TERMINATED Status yang dimiliki pada saat proses telah selesai dieksekusi Status Proses

13 Apabila proses sedang berstatus running, maka Ada 3 kemungkinan yang akan terjadi: 1. Jika program telah selesai dieksekusi Maka status proses berubah menjadi TERMINATED 2. Jika waktu yang disediakan oleh OS untuk proses tersebut habis maka akan terjadi interrupt dan proses berstatus READY 3. Jika suatu event terjadi pada saat proses dieksekusi (seperti ada request I/O) maka proses tersebut akan menunggu event tersebut dan proses berstatus WAITING Status Proses

14 Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut. PCB memuat informasi yang diperlukan sistem operasi untuk mengendalikan dan koordinasi proses yang aktif. Pada saat proses sedang berlangsung, informasi proses tersebut antara lain: Identifier State Priority Program counter Memory pointers Context data I/O status information Accounting information Process Control Block (PCB)

15 PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses satu dengan proses yang lainnya Process Control Block (PCB)

16 Penjelasan Informasi yang terdapat di PCB Status Proses Status yang mungkin dimiliki oleh setiap proses : new, ready, running, waiting, terminated Program Counter Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut CPU Register Accumulator, register index, stack pointer, dan register serbaguna Informasi Penjadwalan CPU Berisi prioritas dari proses, pointer ke antrian penjadwalan, parameter penjadwalan lainnya Process Control Block (PCB)

17 Konsep Penjadwalan

18 Konsep dari Multiprogramming : Suatu proses akan menggunakan CPU sampai proses tersebut dalam status “wait” (misal : meminta I/O) selesai Pada saat “wait”, CPU akan menganggur, untuk mengatasi hal ini maka CPU dialihkan ke proses lain yang berstatus “ready” Tujuan dari Multiprogramming adalah : Untuk memaksimalkan penggunaan CPU dengan cara mengatur alokasi waktu yang digunakan oleh CPU untuk memperkecil waktu idle Konsep Penjadwalan

19

20 1. Queue Scheduling 2. Schedulers 3. Context switch Penjadwalan

21 Queue Scheduling diklasifikasikan dalam 3 kategori : Job Queue Antrian berisi semua proses yang masuk dalam sistem Ready Queue Proses yang berada pada memori utama, siap dan menunggu untuk dieksekusi Device Queue Deretan proses yang sedang menunggu peralatan I/O Tiap peralatan I/O memiliki device queue 1. Queue Scheduling

22 Setiap antrian disimpan sebagai linked list dan berisi pointer awal dan akhir PCB. Tiap PCB memiliki suatu pointer menunjuk ke proses selanjutnya pada antrian 1. Queue Scheduling

23 Proses baru mula-mula diletakkan di ready queue dan menunggu sampai dipilih untuk dieksekusi (dispatched) CPU Ketika proses dialokasikan CPU dan dieksekusi, terjadi satu dari event berikut : Proses meminta I/O dan kemudian ditempatkan pada I/O queue Proses membuat sub proses baru dan menunggu diterminasi Proses dihapus dari CPU karena diinterrupt dan dikembalikan ke ready queue 1. Queue Scheduling

24

25 Bagaimana schedulers memilih proses atau program (decision)? Ada 3 tipe Scheduler : Long Term Scheduler (Job Scheduler) Short Term Scheduler (CPU Scheduler) Medium Term Scheduler 2. Scheduler

26 Long Term Scheduler (Job Scheduler) Menyeleksi proses-proses mana yang harus dimasukkan ke dalam ready queue dan membawanya ke memori untuk dieksekusi Long Term Scheduler mengeksekusi lebih jarang, dibutuhkan beberapa menit untuk pembuatan proses baru dalam sistem Long Term Scheduler: mengontrol jumlah proses dalam memori (degree of multiprogramming) 2. Scheduler

27 Short Term Scheduler (CPU Scheduler) Menentukan proses mana yang selanjutnya akan dieksekusi dan mengalokasikan CPU untuk proses tersebut Sort Term Scheduler : lebih sering dipanggil (hanya dalam waktu milisecond) Karena durasi yang pendek antara eksekusi, short Term Scheduler harus sangat cepat 2. Scheduler

28 Medium Term Scheduler Penjadwal ini akan menguntungkan untuk memindahkan proses dari memori → jumlah proses dalam memori akan berkurang Skema Medium Term Scheduler disebut swapping. Swapping diperlukan untuk meningkatkan mutu penggabungan proses (karena perubahan dalam kebutuhan memori yang mengakibatkan memori harus dibebaskan) 2. Scheduler

29 Pada saat CPU beralih ke proses lain, sistem harus menyimpan state dari proses lama dan mengambil state dari proses yang baru.Pekerjaan ini disebut Context Switch 3. Context Switch

30

31 Context Switch sebuah proses direpresentasikan dalam PCB dari suatu proses : nilai dari CPU register, status proses, informasi manajemen memori Ketika context switch terjadi, kernel menyimpan konteks dari proses lama kedalam PCB nya dan mengisi konteks yang telah disimpan dari process baru yang telah terjadual untuk berjalan. Pergantian waktu konteks adalah murni overhead, karena sistem melakukan pekerjaan yang tidak perlu. Waktu context switch mempunyai kecepatan bervariasi (biasanya berkisar 1 – 1000 ms) tergantung: Kecepatan memori Jumlah register yang dicopy Ada atau tidaknya instruksi khusus (misal : instruksi tunggal untuk mengisi atau menyimpan seluruh register) 3. Context Switch

32 Operasi Proses

33 Penciptaan proses Terminasi proses Penundaan proses Pelanjutan kembali proses Pengubahan prioritas proses Memblock proses Membangkitkan proses Menjadwalkan proses Komunikasi proses Operasi Proses

34 1. Pembuatan Proses Aktifitas yang berkenaan dengan pembuatan proses: Memberi identitas (nama) pada proses yang dibuat Menyisipkan proses pada list proses atau tabel proses Menentukan prioritas awal proses Membuat/menciptakan PCB Mengalokasikan sumber daya (resource) awal bagi proses Operasi Proses

35 2. Penghentian Proses Pada saat proses berhenti, proses akan mengembalikan semua data ke parent proses, dan proses dihapus dari sistem, dilanjutkan dengan menghapus PCB Alasan yang menyebabkan proses dihentikan: Selesainya proses secara normal Proses berjalan melewati batas waktu yang telah ditentukan Memori tidak tersedia Pelanggaran terhadap batas memori Terjadi kesalahan perhitungan (misal :pembagian dengan 0) Proses menunggu terlalu lama Terjadi kegagalan I/O (misal : tidak menemukan file) Operasi Proses

36 1. Proses Kooperatif Proses yang bersifat simultan (concurrent) dijalankan pada sistem operasi dapat dibedakan menjadi yaitu proses independent dan proses kooperatif. Proses Independen: Suatu proses dikatakan independen apabila proses tersebut tidak dapat terpengaruh atau dipengaruhi oleh proses lain yang sedang dijalankan pada sistem. Proses kooperatif : proses yang dapat dipengaruhi atau pun terpengaruhi oleh proses lain yang sedang dijalankan dalam sistem. Dengan kata lain, proses dikatakan kooperatif bila proses dapat membagi datanya dengan proses lain. Hubungan Antar Proses

37 1. Proses Kooperatif Syarat terjadinya proses kooperatif: Pembagian informasi: apabila beberapa pengguna dapat tertarik pada bagian informasi yang sama (sebagai contoh, sebuah berkas bersama) Kecepatan penghitungan/ komputasi: jika kita menginginkan sebuah tugas khusus untuk menjalankan lebih cepat, kita harus membagi hal tersebut ke dalam subtask, setiap bagian dari subtask akan dijalankan secara parallel dengan yang lainnya. Modularitas: membangun sebuah sistem pada sebuah model modular-modular, membagi fungsi sistem menjadi beberapa proses atau threads. Kenyamanan: bahkan seorang pengguna individu mungkin memiliki banyak tugas untuk dikerjakan secara bersamaan pada satu waktu. Sebagai contoh, seorang pengguna dapat mengedit, memcetak, dan meng-compile secara paralel. Hubungan Antar Proses

38 2. Sistem Penyampaian Pesan Cara lain untuk meningkatkan efek yang sama adalah untuk sistem operasi yaitu untuk menyediakan alat-alat proses kooperatif untuk berkomunikasi dengan yang lain lewat sebuah komunikasi dalam proses (IPC = Inter-Process Communication). IPC menyediakan sebuah mekanisme untuk mengizinkan proses-proses untuk berkomunikasi dan menyelaraskan aksi-aksi mereka tanpa berbagi ruang alamat yang sama. IPC adalah khusus digunakan dalam sebuah lingkungan yang terdistribusi dimana proses komunikasi tersebut mungkin saja tetap ada dalam komputer-komputer yang berbeda yang tersambung dalam sebuah jaringan. Hubungan Antar Proses

39 3. Sinkronisasi Komunikasi antara proses membutuhkan place by calls untuk mengirim dan menerima data primitive. Terdapat rancangan yang berbeda-beda dalam implementasi setiap data primitive. Pengiriman pesan mungkin dapat diblok (blocking) atau tidak dapat dibloking (nonblocking) - juga dikenal dengan nama sinkron atau asinkron. Pengiriman yang diblok: Proses pengiriman di blok sampai pesan diterima oleh proses penerima (receiving process) atau oleh mailbox. Pengiriman yang tidak diblok: Proses pengiriman pesan dan mengkalkulasi operasi. Penerimaan yang diblok: Penerima mem blok samapai pesan tersedia. Penerimaan yang tidak diblok: Penerima mengembalikan pesan valid atau null. Hubungan Antar Proses

40 4. Buffering Komunikasi itu langsung atau tak langsung, penukaran pesan oleh proses memerlukan antrian sementara. Ada 3 jalan dimana antrian tersebut diimplementasikan: Kapasitas nol: antrian mempunyai panjang maksimum 0, maka link tidak dapat mempunyai penungguan pesan (message waiting). Dalam kasus ini, pengirim harus memblok sampai penerima menerima pesan. Kapasitas terbatas: antrian mempunyai panjang yang telah ditentukan, paling banyak n pesan dapat dimasukkan. Jika antrian tidak penuh ketika pesan dikirimkan, pesan yang baru akan menimpa, dan pengirim pengirim dapat melanjutkan eksekusi tanpa menunggu. Link mempunyai kapasitas terbatas. Jika link penuh, pengirim harus memblok sampai terdapat ruang pada antrian. Kapasitas tak terbatas: antrian mempunyai panjang yang tak terhingga, maka, semua pesan dapat menunggu disini. Pengirim tidak akan pernah di blok. Hubungan Antar Proses

41 Multithreading

42 Multithreading merupakan kemampuan OS untuk mendukung multiple dan eksekusi secara concurrency di dalam suatu single process. Thread seringkali disebut sebagai lightweight process. Dengan bahasa yang lebih sederhana, Thread merupakan bagian dari process. Dimana process memiliki alokasi resource sendiri dan sedangkan Thread tidak. Thread saling berbagi bagian program, bagian data dan sumber daya sistem operasi dengan thread lain yang mengacu pada proses yang sama. Thread terdiri atas ID thread, program counter, himpunan register, dan stack. Dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama. Multithreading

43 Multithreading merupakan kemampuan OS untuk mendukung multiple dan eksekusi secara concurrency di dalam suatu single process. Thread seringkali disebut sebagai lightweight process, sedangkan proses disebut dengan heavy process. Dengan bahasa yang lebih sederhana, Thread merupakan bagian dari process. Dimana process memiliki alokasi resource sendiri dan sedangkan Thread tidak. Thread saling berbagi bagian program, bagian data dan sumber daya sistem operasi dengan thread lain yang mengacu pada proses yang sama. Thread terdiri atas ID thread, program counter, himpunan register, dan stack. Dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama. Multithreading

44 Thread dan Process

45

46 Di dalam process, dapat terdiri dari satu atau lebih Thread, dimana masing- masing Thread : Thread memiliki execution state. Access shared memory dan resource yang dimiliki oleh process, dan berbagi dengan Thread yang lainya. Thread dan Process

47 Pembentukan Thread membutuhkan waktu yang lebih sedikit daripada pembentukan process. Membutuhkan waktu yang lebih sedikit untuk mengakhiri Thread daripada process. Lebih mudah dan cepat untuk melakukan switch antar Thread daripada switch antar process. Thread dan Process

48 Keuntungan Tanggap: Multithreading mengizinkan program untuk berjalan terus walau pun pada bagian program tersebut di block atau sedang dalam keadaan menjalankan operasi yang lama/ panjang. Sebagai contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain. Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses. Keuntungan dari pembagian kode adalah aplikasi mempunyai perbedaan aktifitas thread dengan alokasi memori yang sama. Thread

49 Keuntungan Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat proses adalah sangat mahal. Alternatifnya, karena thread membagi sumber daya dari proses, ini lebih ekonomis untuk membuat threads. Pemberdayaan arsitektur multiprosesor: Keuntungann dari multithreading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat jalan secara parallel pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah- pindah antara setiap thread dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap waktu. Thread

50 2 macam thread: User thread: Didukung oleh kernel dan diimplementasikan oleh thread library ditingkat pengguna. Library mendukung untuk pembentukan thread, penjadualan, dan managemen yang tidak didukung oleh kernel. Kernel thread: Kernel thread didukung secara langsung oleh sistem operasi: pembentukan thread, penjadualan, dan managemen dilakukan oleh kernel dalam ruang kernel. Karena managemen thread telah dilakukan oleh sistem operasi, kernel thread biasanya lebih lambat untuk membuat dan mengelola daripada user thread. Bagaimana pun, selama kernel mengelola thread, jika suatu thread di block tehadap sistem pemanggilan, kernel dapat menjadualkan thread yang lain dalam aplikasi untuk dieksekusi. Juga, di dalam lingkungan multiprosesor, kernel dapat menjadualkan thread dalam prosesor yang berbeda. Windows NT, Solaris, dan Digital UNIX adalah sistem operasi yang mendukung kernel thread. Thread

51 TERIMA KASIH


Download ppt "Hendy Mizuardy SISTEM OPERASI. MANAJEMEN PROSES Konsep Proses Definisi Proses Status Proses Process Control Block (PCB) Konsep Penjadwalan Queue Scheduling."

Presentasi serupa


Iklan oleh Google