36
PERTEMUAN – 7 KULIAH SISTEM OPERASI PROSES & THREAD

7 .Proses Dan Thread

Embed Size (px)

Citation preview

Page 1: 7 .Proses Dan Thread

PERTEMUAN – 7KULIAH SISTEM OPERASIPROSES & THREAD

Page 2: 7 .Proses Dan Thread

TINJAUAN INSTRUKSIONAL UMUM / TIU Mahasiswa mampu untuk menjelaskan

Proses & Thread dalam sistem operasi

TINJAUAN INSTRUKSIONAL KHUSUS / TIK

Mahasiswa mampu untuk menjelaskan proses sistem operasi seperti : pengertian proses, penjadualan proses, operasi pada proses, serta hubungan antara proses.

Page 3: 7 .Proses Dan Thread

Konsep Dasar Proses Penjadualan Proses Operasi pada Proses Hubungan antara Proses

Page 4: 7 .Proses Dan Thread

Pengertian Proses

Suatu proses adalah lebih dari kode program,dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor’s register

Page 5: 7 .Proses Dan Thread

Keadaan Proses

Tiap proses mungkin adalah satu dari keadaan berikut ini:New : Proses sedang dikerjakan.Running : Instruksi sedang dikerjakan.Waiting : Proses sedang menunggu sejumlah kejadian. Ready : Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.

Page 6: 7 .Proses Dan Thread

Process Control Block

Page 7: 7 .Proses Dan Thread

Proses Control Block (PCB)

Masing-masing proses direpresentasikan oleh SO dg menggunakan PCB :Status Process : New, ready, running, waiting, terminated, dll.Program Counter : Alamat berikut yg akan dieksekusi.CPU Register : Selama PC berjalan, satus informasi harus disimpan bila terjadi interrupt.

Page 8: 7 .Proses Dan Thread

Proses Control Block (PCB)

Informasi Penjadwalan CPU : Berisi prioriotas dari suatu proses, pointer ke antrian penjadwalan, dan parameter penjadwalan yg lainInformasi Manajemen Memori : Base dan limit register, page table, atau segment table tergantung dr sistem memory.Informasi Accounting : Jumlah CPU dan real time yg digunakan, time limits, account number, jumlah job/prosesInformasi status I/O : Deretan I/O device

Page 9: 7 .Proses Dan Thread

Penjadualan Proses : Antrian

Page 10: 7 .Proses Dan Thread

Penjadualan Proses : Penjadual

Shorterm, menyeleksi proses-proses yang siap untuk dieksekusi, dan mengalokasikan CPU ke salah satu dr proses2 tersebut

Longterm, menyeleksi proses-proses dari suatu pool dan membawanya ke memori utama utk dieksekusi

Page 11: 7 .Proses Dan Thread

Penjadualan Proses : Alih Konteks

Page 12: 7 .Proses Dan Thread

Penjadualan Proses : Alih Konteks

Proses penyimpanan status proses mengambil status proses yg baru pada saat terjadi switching.

Page 13: 7 .Proses Dan Thread

Operasi Pada Proses : Induk Proses

Page 14: 7 .Proses Dan Thread

Operasi Pada Proses

Aktifitas yg terjadi :a. Memberi identitas (nama) pada proses yg

dibuatb. Menyisipkan proses pada list proses atau

tabel prosesc. Menentukan prioritas awal prosesd. Membuat PCBe. Mengalokasikan resource awal bagi proses

tsb

Page 15: 7 .Proses Dan Thread

Operasi Pada Proses : Induk Proses

Penyebab proses baru:a. Pada lingkungan batch sebagai

tambahan atas pemberian jobb. Pada lingkungan interaktif, user logonc. Sebagai tanggapan atas aplikasid. Proses menciptakan proses lain (child)

Page 16: 7 .Proses Dan Thread

Parent / Child

Bentuk eksekusi :a. Parent melanjutkan eksekusi beriringan

dengan childrenb. Parent menunggu hingga beberapa atau

seluruh children selesai

Page 17: 7 .Proses Dan Thread

Parent / Child

Bentuk ruang alamat :a. Child adalah duplikat dari parent prosesb. Child proses telah memanggil program ke

dirinya

Page 18: 7 .Proses Dan Thread

Parent / Child

Bentuk eksekusi :a. Parent melanjutkan eksekusi beriringan

dengan childrenb. Parent menunggu hingga beberapa atau

seluruh children selesai

Page 19: 7 .Proses Dan Thread

Operasi Pada Proses : Terminasi

Sebuah proses berakhir ketika proses tersebut selesai mengeksekusi pernyataan akhirnya dan meminta sistem operasi untuk menghapusnya dengan menggunakan sistem pemanggilan exit.

Page 20: 7 .Proses Dan Thread

Operasi Pada Proses : Terminasi

Penyebab terminasi :a. Proses telah selesai secara lengkapb. Proses berjalan melebihi batas waktu c. Memori tidak tersediad. Proses mengakses kawasan memori yg

tidak diijinkane. Terjadi kesalahan krn pelanggaran

proteksi, resource tidak diijinkan

Page 21: 7 .Proses Dan Thread

Operasi Pada Proses : Terminasi

f. Terjadi kesalahan hitungang. Proses menunggu terlalu lamah. Terjadi kegagalan I/Oi. Proses mengeksekusi intruski yg tidak

adaj. Proses menggunakan intruksi yg

disimpan utk SOk. Kesalahan penggunaan data

Page 22: 7 .Proses Dan Thread

Operasi Pada Proses : Terminasi

l. Terjadi intervensi dari operator atau SOm.Proses induk berakhirn. Atas permintaan dari proses induk

Page 23: 7 .Proses Dan Thread

Hubungan Antar Proses

Proses Kooperatif, Komunikasi proses dalam sistem :

Sistem Penyampaian PesanKomunikasi langsung & tidak langsungSinkronisasiBufferingMailbox

Page 24: 7 .Proses Dan Thread

Thread

Suatu unit dasar dari CPU utilization yang berisi program counter, kumpulan register dan ruang stack.Thread akan bekerjasama dg thread lain dalam hal penggunaan bagian kode, bagian data, dan resource-resource SO, spt open file dan sinyal sec kolektif (task)

Page 25: 7 .Proses Dan Thread

Thread

Semua thread dapat mengakses setiap alamat dalam suatu task, thread dapat membaca dan menulisi stack dari thread lain. Tidak ada proteksi antara satu thread dg thread yg lain

Page 26: 7 .Proses Dan Thread

Komunikasi Antar Proses

Komunikasi Langsung

Send(P,pesan); mengirim pesan ke proses PReceive(Q,pesan); menerima pesan dari proses Q

Page 27: 7 .Proses Dan Thread

Komunikasi Antar Proses

Komunikasi LangsungProducer-Consumer problem;

Produser menghasilkan suatu item dan konsumer mengkonsumsi item yg lainnya. Jika producer menghasilkan item, ia akan mengirimkan item tsb ke konsumer melalui operasi sends. Consumer mendapatkan item melalui operasi receive.

Page 28: 7 .Proses Dan Thread

Komunikasi Antar Proses

Producer-Consumer problem;Proses yg dilakukan produser :

Repeat…memproduksi satu item dalam nextp….send (consumer, nextp);

until false;

Page 29: 7 .Proses Dan Thread

Komunikasi Antar Proses

Producer-Consumer problem;Proses yg dilakukan produser :

Repeat… receive (producer, nextc); ….mengkonsumsi satu item dalam nextc

until false;

Page 30: 7 .Proses Dan Thread

Komunikasi Antar Proses

Komunikasi Tak LangsungPengiriman atau penerimaan pesan

dilakukan melalui mailbox (port). Mailbox adl suatu objek dimana pesan2 ditempatkan oleh proses atau dapat dihapus.Dua proses dapat saling berkomunikasi hanya jika mrk saling menggunakan mailbox sec bersama-sama

Page 31: 7 .Proses Dan Thread

Buffering

Pesan yg akan dikirim ditempatkan pada tempat sementara. Pesan antri dalam bentuk link, diimplementasikan sbb :

Page 32: 7 .Proses Dan Thread

Buffering

1. Zero Capacity 2. Bounded Capacity3. Unbounded Capacity

Page 33: 7 .Proses Dan Thread

Kondisi-kondisi Perkecualian

Proses dihentikan, yaitua. Penerima proses P menunggu suatu pesan dari proses Q yang dihentikan. Jika tidak ada aksi, maka P diblok. Sistem akan menghentikan P atau memberitahukan pada P bahwa Q dihentikan.

Page 34: 7 .Proses Dan Thread

Kondisi-kondisi Perkecualian Proses dihentikan, yaitu

b. Proses P mengirim pesan ke proses Q yg dihentikan. Pd sistem buffer otomatis, P melanjutkan eksekusi. Jk P ingin mengetahui apakah pesannya telah diproses oleh Q, mk P harus emprogram sec eksplisit suatu pengetahuan. Jk tdk ada buffer, P akan diblok, sistem akan menghentikan P atau memberitahukan pd P bahwa Q dihentikan.

Page 35: 7 .Proses Dan Thread

Kehilangan Pesan

3 metode utk mengatasi :1. SO mendeteksi adanya kejadian tsb, kmd

mengirim ulang pesan yg hilang2. Proses yg mengirim pesan mendeteksi kejadian

tsb, dan mentransmisikan kembali pesan tsb jk diminta

3. SO mendeteksi, kmd memberitahukan pd proses yg mengirim bhw pesan yg disampaikannya hilang. Proses pengirim dpt melakukan sesuatu yg dipilihnya.

Page 36: 7 .Proses Dan Thread

Pesan terganggu

Pesan yg dikirim sebelum sampai ke tempat tujuan mengalami gangguan ditengah jalan, jika hal ini terjadi maka akan dikirim kembali pesan yang asli.