Konsep Proses
Proses adalah suatu program yang sedang dieksekusi. Suatu proses meliputi:
- Program counter
Tempat untuk menyimpan alamat suatu proses yang akan dieksekusi selanjutnya
- Stack
tempat penyimpanan temporary data yang dibutuhkan selama program dieksekusi
tempat penyimpanan temporary data yang dibutuhkan selama program dieksekusi
- Data section
mengandung variabel global dari suatu proses
Status Proses
mengandung variabel global dari suatu proses
Status Proses
Suatu proses dapat berstatus:
- New: pada saat proses pertama kali dibuat
- Running: pada saat proses sedang dieksekusi
- Waiting: proses menunggu suatu event lain
(contoh: proses I/O)
- Ready: proses siap untuk diekseskusi
- Terminated: pada saat proses sudah selesai
dieksekusi
Interaksi Proses
->Sistem operasi akhir-akhir ini menjalankan program secara simultan (concurrent).
-> Program yang dijalankan secara simultan itu dapat bekerja sama dengan proses lain
ataupun bekerja sendiri.
-> Program yang dijalankan secara simultan itu dapat bekerja sama dengan proses lain
ataupun bekerja sendiri.
Cooperating Processes
~ Proses yang independen : proses yang tidak bisa dipengaruhi dan tidak bisa
mempengaruhi proses lain
~ Proses yang cooperating : proses yang bisa mempengaruhi atau dipengaruhi oleh
proses lain
mempengaruhi proses lain
~ Proses yang cooperating : proses yang bisa mempengaruhi atau dipengaruhi oleh
proses lain
THREAD
Definisi: unit dasar dari penggunaan CPU, thread terdiri dari thread ID, program counter,
set register, dan stack.
- Thread juga sering disebut Lightweight process.
- Thread berbagi code section, data section, dan sumber daya sistem operasi dengan thread lain
yang termasuk dalam proses yang sama.
-Proses tradisional ( Heavyweight process ) mempunyai thread tunggal yang berfungsi
sebagai pengontrol.
Java Threads
set register, dan stack.
- Thread juga sering disebut Lightweight process.
- Thread berbagi code section, data section, dan sumber daya sistem operasi dengan thread lain
yang termasuk dalam proses yang sama.
-Proses tradisional ( Heavyweight process ) mempunyai thread tunggal yang berfungsi
sebagai pengontrol.
Java Threads
- Threads di Java dibuat dengan cara :
->meng-extends class Threads
->men-implement interface Runnable
- Threads di Java diatur oleh Java Virtual
Machine (JVM)
Keunggulan Java Threads adalah:
=>JVM menggunakan prioritas preemptive berdasarkan algoritma penjadualan
Keunggulan Java Threads adalah:
=>JVM menggunakan prioritas preemptive berdasarkan algoritma penjadualan
=>Semua threads di Java mempunyai prioritas. Prioritas tertinggi dijadualkan untuk
dieksekusi oleh JVM
dieksekusi oleh JVM
=>Jika ada 2 thread yang prioritasnya sama, digunakan algoritma First In First Out (FIFO)
Keadaan Threads di Java dibagi menjadi 4 keadaan :
Keadaan Threads di Java dibagi menjadi 4 keadaan :
- new: sebuah thread pada keadaan ini ada ketika objek dari thread tersebut dibuat
- runnable: memanggil start() method untuk mengalokasikan memori bagi thread baru
dalam JVM dan memanggil run() method untuk membuat objek.
- block: sebuah thread akan diblok jika menampilkan sebuah kalimat pengeblokan.
Contohnya: sleep() atau suspend()
- dead: sebuah thread dipindahkan ke keadaan dead ketika run() method berhenti atau ketika
stop() method dipanggil.
0 komentar:
Posting Komentar