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.