Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Deskripsi dan Kontrol Proses (Pertemuan ke-3) Agustus 2010.

Presentasi serupa


Presentasi berjudul: "Deskripsi dan Kontrol Proses (Pertemuan ke-3) Agustus 2010."— Transcript presentasi:

1 Deskripsi dan Kontrol Proses (Pertemuan ke-3) Agustus 2010

2 Sistem Operasi/ #1 Pokok Bahasan  Pokok Bahasan:  Deskripsi dan Kontrol Proses  Sub Pokok Bahasan:  Konsep proses  Elemen-elemen proses  Model proses 2 status, 5 status, dan 6 status  TIU:  Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses  TIK:  Mahasiswa dapat menjelaskan konsep proses  Mahasiswa dapat menjelaskan elemen-elemen proses  Mahasiswa dapat menjelaskan setiap status pada model proses 2 status, 5 status, dan 6 status

3 Sistem Operasi/ #2 Sub Pokok Bahasan: KKonsep proses: DDefinisi proses SStatus proses

4 Sistem Operasi/ #3 Tugas OS Terhadap Proses  Mengeksekusi banyak proses secara interleave (selang-seling) agar utilisasi prosesor maksimal dan response time setiap proses masih bisa diterima  Menyediakan resource bagi setiap proses  Mendukung komunikasi antar proses dan penciptaan proses baru oleh user

5 Sistem Operasi/ #4 Konsep-Konsep Sebelumnya  Platform komputer terdiri dari sekumpulan resource hardware  Program aplikasi komputer dibuat untuk melakukan beberapa task (pekerjaan)  Sangatlah tidak efisien jika program aplikasi dibuat hanya khusus bagi platform hardware tertentu  Sistem operasi harus nyaman dan aman digunakan serta mempunyai banyak fitur dan interface yang konsisten  Sistem operasi dapat memberikan gambaran resource secara uniform (seragam) sehingga dapat diminta dan diakses oleh program aplikasi

6 Sistem Operasi/ #5 Mengapa Eksekusi Proses Harus Diatur ?  Agar resource selalu tersedia bagi banyak aplikasi  Agar prosesor dapat digunakan oleh banyak aplikasi secara bergantian  Agar prosesor dan I/O device dapat digunakan secara efisien

7 Sistem Operasi/ #6 Apakah Proses itu ?  Program yang dieksekusi  Program yang sedang berjalan di komputer  Entitas yang dapat diberikan kepada prosesor untuk dieksekusi  Sebuah aktifitas yang sangat dipengaruhi oleh hasil eksekusi sebelumnya, status saat ini, dan sejumlah resource sistem yang tersedia

8 Sistem Operasi/ #7 Apa Saja Elemen Proses yang Sedang Running ? (1)  Identifier  Identitas unik untuk membedakan suatu proses dengan proses lainnya  State  Status (kondisi) suatu proses (sedang dieksekusi, sedang diblok, dll)  Priority  Prioritas suatu proses terhadap proses yang lain  Program counter  Alamat instruksi berikutnya yang akan dieksekusi  Memory pointers  Pointer yang menunjuk pada alamat memori kode program dan data yang berhubungan dengan proses dan blok memori yang di-shared dengan proses lain (jika ada)

9 Sistem Operasi/ #8 Apa Saja Elemen Proses yang Sedang Running ? (2)  Context data  Data yang terdapat pada register prosesor ketika suatu proses sedang dieksekusi  I/O status information  Informasi tentang permintaan terhadap I/O device yang belum terpenuhi (misal akses ke harddisk), daftar file yang sedang digunakan oleh proses, dll  Accounting information  Informasi tentang jumlah waktu prosesor yang telah digunakan, jumlah waktu proses, batas waktu proses, nomor account, dsb.

10 Sistem Operasi/ #9 Process Control Block (PCB) (1)  Struktur data yang menyimpan elemen- elemen proses  Dibuat dan diatur oleh sistem operasi  Mendukung adanya multi proses  Bersama-sama dengan kode program dan data yang diperlukan membentuk sebuah proses  Proses = PCB + kode program + data yang diperlukan

11 Sistem Operasi/ #10 Process Control Block (PCB) (2)  Sebagian isi PCB:

12 Sistem Operasi/ #11 Agenda: KKonsep proses: DDefinisi proses SStatus proses

13 Sistem Operasi/ #12 Status Proses  Status proses merupakan kondisi suatu proses (setiap saat setiap proses mempunyai sebuah kondisi)  Sebuah kondisi bisa dimiliki oleh banyak proses  Trace proses:  Adalah daftar urut-urutan alamat memori suatu proses yang telah dieksekusi  Program dispatcher:  Bagian dari sistem operasi yang mengatur giliran pemanfaatan prosesor kepada suatu proses ke proses yang lain

14 Sistem Operasi/ #13 Contoh Trace Proses Sedang mengakses I/O  wait

15 Sistem Operasi/ #14 Contoh Eksekusi Proses (1)  Asumsi: tidak ada memori virtual  semua proses ditaruh di memori

16 Sistem Operasi/ #15 Contoh Eksekusi Proses (2)  Gabungan trace 3 buah proses:  Dilihat dari sisi prosesor Proses A Dispatcher Dispatcher Dispatcher Dispatcher Proses B Proses A Proses C

17 Sistem Operasi/ #16 Contoh Eksekusi 3 buah Proses

18 Sistem Operasi/ #17 Pembentukan Proses  Siapa yang membentuk proses ?  Sistem operasi  Setiap proses dilengkapi dengan PCB  Apa yang dapat menyebabkan terbentuknya proses baru ?  Masuknya job baru (program aplikasi)  Pada model batch system: proses terbentuk akibat job baru (berupa baris-baris program) yang ditulis pada tape magnetic atau harddisk yang sedang dieksekusi  Log on dari user  Pada sistem interaktif: proses terbentuk ketika user melakukan log on pada sistem  Sebagai bentuk layanan OS kepada program aplikasi  Misal: Ada program aplikasi yang perlu mencetak ke printer  OS membentuk proses yang mengatur printer  Dibentuk oleh proses lain (process spawning)  Parent process = proses induk = proses yang membentuk proses lain  Child process = proses anak = proses yang dibentuk oleh proses induk  Misal: Print server atau file server akan selalu membentuk proses baru setiap ada permintaan dari client

19 Sistem Operasi/ #18 Apa Penyebab Terminasi Proses ? (1)  Proses telah selesai secara normal:  Model batch job: terdapat instruksi halt yang menandakan proses telah selesai  Sistem interaktif: proses di-close oleh user (close, log off, turn off, dsb)  Jatah waktu telah habis:  Total waktu sejak proses dibentuk  Total waktu proses aktif  Total waktu sejak user memberikan input  Dsb  Memori tidak tersedia:  Proses membutuhkan memori lebih besar tetapi tidak terpenuhi  Bounds violation:  Proses mencoba mengakses lokasi memori proses lain

20 Sistem Operasi/ #19 Apa Penyebab Terminasi Proses ? (2)  Protection error:  Proses mencoba menggunakan resource (file) yang tidak boleh diakses  Misal: mencoba menulis pada file dengan atribut read only  Arithmatic error:  Kesalahan komputasi, misal division by zero  Time overrun:  Proses telah menunggu melebihi batas waktu yang telah ditentukan  I/O failure:  Terjadi kesalahan pada saat mengakses I/O  Misal:  Tidak dapat menemukan file yang dicari  Gagal membaca/menulis file sesudah mencoba beberapa kali (akibat adanya bad sector atau membaca data dari printer)

21 Sistem Operasi/ #20 Apa Penyebab Terminasi Proses ? (3)  Instruksi invalid:  Proses mencoba mengeksekusi instruksi yang tidak ada (akibat pencabangan mengarah pada area data)  Privileged instruction:  Proses mencoba menggunakan instruksi yang disediakan khusus bagi sistem operasi (misal perintah ke I/O)  Kesalahan data  Tipe data salah atau data tidak diinisialisasi  Ada intervensi dari operator atau OS  Dilakukan pada saat terjadi deadlock (hang)  Proses induk (parent) diterminasi  Jika proses induk diterminasi  proses semua proses anaknya ikut terterminasi  Diterminasi proses induk  Proses induk berhak untuk melakukan terminasi terhadap proses anaknya

22 Sistem Operasi/ #21 Model Proses  Proses dengan 2 status:  Running  Not running  Proses dengan 5 status:  New  Ready  Running  Exit  Blocked  Proses dengan 6 status:  Proses dengan 5 status + Suspend  Proses dengan 7 status:  Proses dengan 5 status + Ready/Suspend + Blocked/Suspend

23 Sistem Operasi/ #22 Model Proses Dengan 2-Status (1)  Merupakan model proses paling sederhana  Setiap proses akan selalu berada pada salah satu dari 2 status berikut:  Running  Not-running

24 Sistem Operasi/ #23 Model Proses Dengan 2-Status (2)  Apa yang dilakukan OS ?  OS membentuk proses baru dilengkapi dengan PCB untuk proses tersebut  Masukkan proses baru ke sistem:  Jika tidak ada proses yang sedang Running  Proses langsung diberi status Running  langsung dieksekusi  Jika ada proses yang sedang Running  masukkan proses dengan status Not-running  Jika proses yang running ter-interrupt, maka:  OS menjalankan program dispatcher untuk memilih proses berikutnya yang akan dieksekusi  Masukkan proses tersebut ke status Not-running

25 Sistem Operasi/ #24  Diagram antrian proses dengan 2-status:  Hanya digunakan sebuah antrian  di dalam antrian terdapat berbagai macam status proses (siap running, ter-blok, menunggu I/O, dll)  Kelemahan:  Pemilihan proses selanjutnya yang akan dieksekusi tidak cukup hanya dengan algoritma FIFO  Dispatcher harus mencari proses yang siap running diantara proses- proses yang lain yang terblok karena sedang menunggu hasil I/O  Butuh algoritma yang lebih rumit Model Antrian Pada Proses Dengan 2-Status

26 Sistem Operasi/ #25 Model Proses Dengan 5-Status  Proses dengan 5-status:  Proses yang sedang antri dikelompokkan menjadi 2:  Proses yang siap running/ready (misal terhenti karena time out)  Proses yang ter-blok (misal butuh memori lebih besar, menunggu I/O device) Terminate

27 Sistem Operasi/ #26 Nama Status pada proses dengan 5-status (1)  New:  Status untuk proses yang baru saja terbentuk  Misal: log on dari user, buka MS-word, dll  Program dan data tidak langsung ditaruh ke memori, jika:  Jumlah proses yang sedang ditangani sudah maksimum  agar performansi sistem terjaga  Memori tidak mencukupi  Ready:  Proses yang siap untuk dieksekusi  Sudah berada di memori

28 Sistem Operasi/ #27 Nama Status pada proses dengan 5-status (2)  Running:  Proses sedang dieksekusi  Dalam satu saat hanya satu proses yang boleh running (uniprosesor)  Blocked:  Proses yang terpaksa berhenti karena sedang menunggu suatu event terjadi  Misal: proses yang sedang menunggu selesainya aktifitas di I/O  Exit:  Proses yang sudah selesai (keluar dari daftar proses yang dapat dieksekusi)  Penyebab: program sudah selesai atau dibatalkan

29 Sistem Operasi/ #28 Model Proses Dengan 5-Status  Proses dengan 5-status:  Proses yang sedang antri dikelompokkan menjadi 2:  Proses yang siap running/ready (misal terhenti karena time out)  Proses yang ter-blok (misal butuh memori lebih besar, menunggu I/O device) Terminate

30 Sistem Operasi/ #29 Perpindahan Status Untuk Proses 5-Status (1)  Null  New:  Pembentukan proses baru  New  Ready:  Penambahan proses baru yang siap dieksekusi  Proses baru telah ‘diakui’ oleh sistem operasi  Proses dipindah dari harddisk ke memori  Ready  Running:  Satu proses terpilih dieksekusi  Running  Exit:  Proses telah selesai atau dibatalkan  Running  Ready:  Proses yang sedang running dipaksa berhenti (preempted)  Penyebab:  Waktu habis (time out)  Datang proses berprioritas lebih tinggi

31 Sistem Operasi/ #30 Perpindahan Status Untuk Proses 5-Status (2)  Running  Blocked:  Proses yang sedang running terpaksa berhenti  Penyebab:  Sedang menunggu file yang sedang diakses oleh proses lain  Sedang menunggu proses di I/O selesai  Butuh memori lebih besar  Sedang menunggu data hasil eksekusi proses lain  Sedang menunggu proses yang akan diajak berkomunikasi tetapi sedang sibuk  Blocked  Ready:  Proses terbebas dari blocked setelah event yang ditunggu telah tersedia

32 Sistem Operasi/ #31 Perpindahan Status Untuk Proses 5-Status (3)  Ready  Exit:  Proses yang siap dieksekusi dipaksa keluar (terminasi)  Penyebab:  Proses anak yang ‘dibunuh’ oleh proses induk  Dihentikan oleh user  Blocked  Exit:  Proses yang terblok diterminasi  Penyebab sama dengan penyebab Ready  Exit

33 Sistem Operasi/ #32 Eksekusi Proses Dengan Dua Antrian (1)  Cara kerja:  Proses baru  Ready queue  Jika tidak ada proses yang running  langsung dieksekusi  Proses yang sedang running selesai/ter-blok  Pilih satu proses di ready queue untuk dieksekusi  Jika selesai  keluar  Jika time out  masuk ready queue  Jika perlu resource lain  masuk blocked queue

34 Sistem Operasi/ #33 Eksekusi Proses Dengan Dua Antrian (2)  Apa kelemahan sistem dengan 2 antrian ?  Jika proses yang ter-blok sangat banyak dan masing- masing menunggu event yang berbeda-beda  Jika datang suatu event, maka OS harus menyeleksi proses yang mana yang sedang membutuhkan event yang datang  butuh waktu  butuh algoritma lebih rumit  Apa kelebihannya ?

35 Sistem Operasi/ #34 Eksekusi Proses Dengan Banyak Antrian (1)

36 Sistem Operasi/ #35 Eksekusi Proses Dengan Banyak Antrian (2)  Cara kerja:  Sama seperti pada eksekusi proses dengan dua antrian  Bedanya untuk setiap event yang berbeda disediakan sebuah antrian tersendiri  Kelebihan:  Jika suatu event yang ditunggu telah tiba  pemilihan proses yang membutuhkan event tersebut lebih mudah dan cepat (algoritmanya lebih sederhana)  Pengembangan lebih lanjut:  Jika terdapat proses dengan prioritas berbeda  untuk setiap prioritas disediakan ready queue masing-masing

37 Sistem Operasi/ #36 Model Proses Dengan 6-Status Status yang ditambahkan: suspend state di harddisk

38 Sistem Operasi/ #37 Mengapa perlu ada suspend state ? (1)  Memori telah dipenuhi oleh proses atau bagian proses yang berada pada status blocked akibat sedang menunggu suatu event (I/O, memori, dll), sehingga tidak ada proses yang siap dieksekusi, maka:  Semua proses menunggu  Prosesor menganggur  Semakin lama ukuran program semakin besar, maka:  Memori yang dibutuhkan semakin besar  Jumlah program yang dapat dieksekusi semakin sedikit

39 Sistem Operasi/ #38 Mengapa perlu ada suspend state ? (2)  Tambah memori  mahal  Lakukan swapping (pindahkan proses yang berada pada status blocked dari memori ke harddisk)  Proses berubah status dari blocked menjadi suspend  Memori yang kosong bertambah besar:  Dapat dimanfaatkan oleh proses yang butuh memori lebih besar, atau  Dapat ditambahkan proses baru ke memori, atau  Pindahkan proses lain yang ter-suspend dan siap running dari harddisk ke memori

40 Sistem Operasi/ #39 Referensi: [STA09]Stallings, William Operating System: Internal and Design Principles. 6 th edition. Prentice Hall


Download ppt "Deskripsi dan Kontrol Proses (Pertemuan ke-3) Agustus 2010."

Presentasi serupa


Iklan oleh Google