Konsep proses sistem Java

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
- Data section
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.
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

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
  • 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
=>Semua threads di Java mempunyai prioritas. Prioritas tertinggi dijadualkan untuk
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 :
  • 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.

Metoda Wait() dan Notify()

  1. Thread melepaskan kunci untuk objek.
  2. Status thread diblok.
  3. Thread yang berada dalam status wait menunggu objek.
  1. Pindahkan thread yang dipilih dari wait set ke entry set.
  2. Atur status dari thread yang dipilih dari blocked menjadi runnable.

0 komentar:

Posting Komentar

 
Powered By Blogger
Powered By Blogger

Easy Blog Tricks

Powered By Blogger
© Grunge Theme Copyright by Rhossy Kawaii (si chubby) | Template by Blogger Templates | Blog Trick at Blog-HowToTricks