PROCESS vs. PROGRAM
Program adalah instruksi-instruksi untuk mengerjakan suatu task
Proses adalah eksekusi dari sebuah program
Proses model memiliki 3 kategori :
- Multiprogramming of four program
- Conceptual model of four independent, sequential processes
- Only one program is active at once
PROCESS CREATION
Penyebab adanya pembuatan suatu proses :
- Inisialisasi sistem
- Eksekusi dari sebuah pemanggilan pembuatan proses oleh sebuah proses yg sedang berjalan (fork())
- User meminta untuk membuat proses yg baru
- Inisialisasi batch job
PROCESS
Proses disebut juga task, merupakan eksekusi dari sebuah program , dapat dilacak karena ada daftar urutan instruksi yg sudah dieksekusi.
SUSPENDED PROCESSES
Prosesor lebih cepat dibanding dengan I/O jadi semua proses mungkin menunggu untuk masuk ke I/O, memindahkan proses ke disk untuk membebaskan memori. Dalam suspended processes ada 2 jenis state :
- Blocked, Suspend
- Ready, Suspend
PROCESS TABLE
Tabel proses ini adalah tempat proses itu diletakka. Atribut yg penting yg digunakan saat tahun lalu :
- Process ID
- Process state
- Location in memory
PROCESS LOCATION
Proses berisi kumpulan program yg akan dieksekusi, dapat berupa :
- Control and status register
- Processor state information
- Process control information
MODES of EXECUTION
Mode-mode untuk eksekusi dibagai menjadi 2 :
- User mode
- System node, control mode, atau kernel mode
PROCESS TERMINATION
Penyebab-penyebab terjadinya process termination :
- Normal exit (voluntary)
- Error exit (voluntary)
- Fatal error (involuntary)
- Killed by another process (involuntary)
SYSTEM()
System digunakan untuk mengeksekusi perintah dalam sebuah program
FORK()
Ketika suatu program memanggil fungsi fork() maka program tersebut akan menjalan proses duplikasi yg disebut pembuata proses child.
THREAD
Thread memiliki state dalam eksekusi (contoh : running,ready,dll ), mempunyai sebuah stack/tempat penyimpanan, bisa mengakses memori (primary dan secondary) dan sumber data untuk proses tersebut. Thread juga mengijinkan banyak eksekusi yg dilakukan secara sekaligus dalam suatu proses yg sama. Lightweight process adalah thread yg mempunyai beberapa properti dalam suatu proses. Sedangkan multithreading adalah melakukan banyak eksekusi pada thread dalam proses tersebut.
Kelebihan thread :
BEHAVIOUR of PROCESS
Ada 2 kebiasaan dari proses :
Kelebihan thread :
- membutuhkan waktu yg relatif cepat untuk membuat suatu thread
- mengurangi waktu untuk mengakhiri thread
- mengurangi waktu untuk bertukar informasi
- antar thread bisa langsung komunikasi dan tidak akan mengganggu kinerja dari kernel
USER SPACE
Kelebihan :
- mengijinkan setiap proses untuk melakukan penjadwalannya diri sendiri
- performa
Kekurangan :
- thread dapat terblock ketika proses yg lain juga terblock
- thread yg satu saling meggantung proses
KERNEL SPACE
Kelebihan : tidak membutuhkan sebuah pemanggilan nonblocking system
Kekurangan : biaya untuk membuat dan mengakhiri thread akan semakin meningkat
POP-UP THREAD
Pop-up thread adalah thread yg tiba-tiba muncul. Pembuatan suatu dengan logo ketika suatu pesan telah diterima : antara sebelum makan nanti ganti
BEHAVIOUR of PROCESS
Ada 2 kebiasaan dari proses :
- Process-bounded
- I/O bound
CPU SCHEDULER()
CPU Scheduler berfungsi untuk menampilkan proses-proses didalam sebuah memori yg sudah siap untuk dieksekusi, dan dialokasikan ke dalam CPU. CPU scheduling mempunyai 4 keputusan :
CPU Scheduler berfungsi untuk menampilkan proses-proses didalam sebuah memori yg sudah siap untuk dieksekusi, dan dialokasikan ke dalam CPU. CPU scheduling mempunyai 4 keputusan :
- berubah dari running ke waiting state
- berubah dari running ke ready state
- berubah dari waiting ke ready state
- terminate/mengakhiri
DISPATCHER
Dispatcher memberikan pengaturan tentang CPU untuk memproses yg terpilih oleh scheduler jangka pendek. Dispatcher melibatkan :
- perubahan konteks
- perubahan ke mode user
- melompat ke lokasi yg salah dalam program user
Dispatcher latency adalah waktu yg dibutuhkan oleh dispatcher untuk menyelesaikan 1 proses dan memulai proses yg lainnya.
Kriteria scheduling :
- CPU utilization, untuk menjaga agar CPU tetap dalam keadaan sibuk/bekerja
- Throughput, jumlah dari proses yg eksekusinya telah selesai per satuan waktu
- Turnaround time, jumlah waktu untuk mengeksekusi proses tertentu
- Waiting time, jumlah waktu tunggu yg digunakan oleh proses untuk berada dalam antrian ready
- Response time, jumlah waktu ketika suatu pekerjaan direquest
Optimization criteria :
- Max CPU utilization
- Max throughput
- Min turnaround time
- Min waiting time
- Min response time
GOAL OF SCHEDULING
- All system
- fairness
- policy enforcement
- balance - Batch system
- throughput
- turn around time
- CPU utilization - Interactive system
- Response time
- Proportionallity - Real time system
- meeting deadlines
- predictability
BATCH SCHEDULING ALGORITHM
Ada beberapa metode dalam scheduling :
- First-Come First-Serve
Proses diassign ke dalam CPU secara urut. Kemudahan menggunakan algoritma ini adalah mudah dimengerti dan mudah untuk di buat programnya. Sedangkan kesulitannya adalah tugas yg kecil/sedikit akan menunggu telalu lama jika mengantri dibelakang tugas yg besar. - Shortest Job First - Non Preemptive
Ketika CPU diberikan suatu proses yg tidak bisa di interupsi sampai CPU burst-nya selesai. - Shortest Job First - Preemptive
Ketika CPU diberikan suatu proses yg bisa di interupsi sebelum CPU burst-nya selesai. - Interactive Scheduling Algorithm
- Round-robin scheduling
- Priority scheduling
- Multiple queues
- Shortest process next
- Guaranteed scheduling
- Lottery scheduling
- Fair-share scheduling
Semoga bermanfaat ! ^^
wagalasehhh....mantab gan
BalasHapusPower supply hp