7 .Proses Dan Thread

Preview:

Citation preview

PERTEMUAN – 7KULIAH SISTEM OPERASIPROSES & 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.

Konsep Dasar Proses Penjadualan Proses Operasi pada Proses Hubungan antara Proses

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

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.

Process Control Block

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.

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

Penjadualan Proses : Antrian

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

Penjadualan Proses : Alih Konteks

Penjadualan Proses : Alih Konteks

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

Operasi Pada Proses : Induk Proses

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

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)

Parent / Child

Bentuk eksekusi :a. Parent melanjutkan eksekusi beriringan

dengan childrenb. Parent menunggu hingga beberapa atau

seluruh children selesai

Parent / Child

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

dirinya

Parent / Child

Bentuk eksekusi :a. Parent melanjutkan eksekusi beriringan

dengan childrenb. Parent menunggu hingga beberapa atau

seluruh children selesai

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.

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

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

Operasi Pada Proses : Terminasi

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

Hubungan Antar Proses

Proses Kooperatif, Komunikasi proses dalam sistem :

Sistem Penyampaian PesanKomunikasi langsung & tidak langsungSinkronisasiBufferingMailbox

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)

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

Komunikasi Antar Proses

Komunikasi Langsung

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

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.

Komunikasi Antar Proses

Producer-Consumer problem;Proses yg dilakukan produser :

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

until false;

Komunikasi Antar Proses

Producer-Consumer problem;Proses yg dilakukan produser :

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

until false;

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

Buffering

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

Buffering

1. Zero Capacity 2. Bounded Capacity3. Unbounded Capacity

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.

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.

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.

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.

Recommended