Anda di halaman 1dari 15

Proses dan Thread

Oleh : Adhitya Nugraha


Objektif
 Memahami tentang konsep pada proses dan penjadwalan proses
 Memahami operasi pembuatan dan penghapusan proses
 Memahami kerjasana dan komunikasi antar proses.
 Memahami konsep multi thread, model multi thread dan contoh
implementasi thread
Konsep Proses
 Proses dalam ruang lingkup sistem operasi dapat dikatakan
sebagai sebuah aplikasi/program yang sedang dijalankan
 Proses adalah program yang sedang dieksekusi.
 Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana
digambarkan oleh nilai pada program counter dan isi dari daftar
prosesor/ processor’s register
 Tekankan bahwa program itu sendiri bukanlah sebuah proses
Status Proses
 Meskipun tiap-tiap proses terdiri dari suatu kesatuan yang terpisah
namun adakalanya proses-proses tersebut butuh untuk saling
berinteraksi. Satu proses bisa dibangkitkan dari output proses
lainnya sebagai input.

 Pada saat proses dieksekusi, akan terjadi perubahan status. Status


proses didefiniskan sebagai bagian dari aktivitas proses yang
sedang berlangsung saat itu
3 Diagram State Proses
 Secara garis besar ada 3 state/status dasar/utama pada proses
a. Ready:
• Proses menunggu jatah waktu dari CPU untuk diproses.
• Proses siap (ready) dieksekusi, tapi pemroses belum tersedia
untuk eksekusi proses ini
b. Running:
• Proses sedang dieksekusi.
c. Waiting (blocked):
• Proses sedang menunggu beberapa event yang akan terjadi
• Selesainya operasi perangkat masukan/keluaran
• Tersedianya memori
• Tibanya pesan jawaban
Perpindahan State

 Process blocks for input


 Saat proses cetak (print), karena kertas/tinta habis maka proses cetak
berhenti/menunggu
 Scheduler picks another process
 Scheduler picks this process
 Input becomes available
 Proses mencetak tadinya berhenti karena menunggu kertas
dimasukkan, setelah kertas dimasukkan proses mencetak dapat
dilanjutkan
5 Diagram State Proses
 Status proses biasanya terdiri dari :
a. New: proses sedang dibuat.
b. Running: proses sedang dieksekusi.
c. Waiting (blocked): proses sedang menunggu beberapa event
yang akan terjadi (seperti menunggu untuk menyelesaikan I/O
atau menerima sinyal).
d. Ready: proses menunggu jatah waktu dari CPU untuk
diproses.
e. Terminated: proses telah selesai dieksekusi.
5 Diagram State Proses

 Jadi
ada tiga kemungkinan bila sebuah proses memiliki status
Running :
1. Jika program telah selesai dieksekusi maka status dari proses tersebut akan
berubah menjadi Terminated.
2. Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis
maka akan terjadi interrupt dan proses tersebut kini berstatus Ready.
3. Jika suatu event terjadi pada saat proses dieksekusi (seperti ada permintaan
I/O) maka proses tersebut akan menunggu event tersebut selesai dan proses
berstatus Waiting.
Process Control Block (PCB)
 Sebuah proses yang sedang berjalan disimpan di dalam memori
utama (RAM) dan dua bagian penting dari sebuah proses adalah:
 Kode program atau instruksi-instruksi program yang harus dieksekusi
oleh prosesor (yang dapat dibagi pakai bersama dengan proses lain)
dan
 Sekumpulan data yang berhubungan dengan kode program dari proses

 Tetapi dua bagian di atas tidak memiliki cukup informasi yang


dibutuhkan oleh sistem operasi untuk memanajemen banyak proses
yang berjalan bersamaan.
 Informasi-informasi tersebut dibuat oleh sistem operasi dan
disimpan dalam struktur data yang disebut PCB (Process Control
Block)
Process Control Block (PCB) Lanjutan
1. Status Proses Status:
new, ready, running, waiting, terminated, dan juga banyak
lagi.
2. Program Counter:
Suatu stack yang berisi alamat berikutnya yang akan
dieksekusi oleh proses tersebut
3. CPU register:
Register tersebut termasuk accumulator, register indeks,
stack pointer, general-purposes register, ditambah code
information pada kondisi apa pun. Beserta dengan program
counter, keadaan/status informasi harus disimpan ketika
gangguan terjadi, untuk memungkinkan proses tersebut
berjalan/bekerja dengan benar setelahnya
4. Informasi penjadwalan CPU
Informasi ini berisi prioritas dari suatu proses, pointer ke
antrian penjadwalan, dan beberapa parameter penjadwalan
yang lainnya.
Process Control Block (PCB) Lanjutan
6. Informasi manajemen memori
Informasi ini dapat termasuk suatu informasi sebagai
nilai dari dasar dan batas register, tabel halaman, atau
tabel segmen tergantung pada sistem memori yang
digunakan oleh sistem operasi
7. Informasi pencatatan
Informasi ini termasuk jumlah dari CPU dan waktu riil
yang digunakan, batas waktu, jumlah akun, jumlah job
atau proses, dan banyak lagi.
8. Informasi status I/O
Informasi termasuk daftar dari perangkat I/O yang
digunakan pada proses ini, daftar berkas-berkas yang
sedang diakses dan banyak lagi.
Proses dalam PCB
 PCB hanya berfungsi sebagai tempat penyimpanan informasi yang
dapat bervariasi dari proses yang satu dengan yang lain
 Adapun proses-proses yang terjadi pada PCB adalah:
 Mutual Exclusion adalah jaminan bahwa hanya satu proses
yang mengakses sumber daya pada suatu interval waktu tertentu.
 Deadlock adalah proses tunggu dimana proses tersebut tidak pernah
terjadi. Deadlock biasa juga disebut hang.
 Stravation situasi dimana proses-proses menunggu secara tidak tentu
dengan menggunakan semaphore. Semaphore adalah pendekatan
dimana dua ataulebih dapat bekerjasama menggunakan penanda-
penanda sederhana.
Proses dalam PCB Lanjut
 Strategi preemptive yaitu suatu strategi dimana proses yang sedang
dieksekusidapat diambil alih oleh proses lain.
 Strategi Non Preemptive yaitu suatu strategi dimana proses sedang di
eksekusi, maka proses tidak dapat dihentikan atau diambil alih oleh
proses lain.
 Multiprocessing system yaitu dapat menjalankan beberapa proses
dalam waktu yang bersamaan.
 Multiprogramming yaitu menjalankan suatu program dalam waktu
yang bersamaan.
Penjadwalan Proses

 MINGGU DEPAN AJAH…


Terima Kasih

Anda mungkin juga menyukai