Jumat, 08 Mei 2015

Process and Threads



Proses merupakan eksekusi dari sebuah program

Program merupakan kumpulan instruksi untuk mengerjakan suatu tugas

Terdapat 3 proses model              :
1. Multiprogramming of four programs
2. Conceptual model of four independent, sequential processes. 
3. Only one program is active at once.

Cara untuk membuat proses      :
1.       Inisialiasi dari sistem
2.       Menggunakan fungsi fork()
3.       Permintaan user untuk membuat proses baru
4.       Inisialisasi dari batch job

Five state  proses model               :


1.       Running                : kondisi pada saat proses sedang berjalan atau sedang tereksekusi
2.       Ready                   : kondisi pada saat proses siap untuk di eksekusi
3.       Blocked/Waiting  : kondisi pada saat proses tidak dapat berjalan sampai terdapat event yang terjadi
4.       New                      : kondisi pada saat proses baru mau dibuat sehingga belum dapat di eksekusi
5.       Exit                         : kondisi pada saat proses telah di eksekusi atau telah di release

Thread mengizinkan dilakukannya eksekusi dalam satu proses yang sama

Relationship antara thread dan process :
1.       One to one, terdapat 1 proses dan 1 thread
2.       Many to one, terdapat banyak thread dalam 1 proses
3.       One to many, terdapat 1 thread punya banyak proses

Manfaat dari thread       :
1.       Waktu pembuatan thread lebih singkat dari pada waktu pembuatan proses
2.       Butuh waktu lebih sedikit untuk terminate thread daripada proses
3.       Adanya komunikasi antar thread

Keuntungan thread        :
1.       Memungkinkan setiap proses punya algoritma penjadwalannya masing-masing
2.       Menghasilkan performa yang lebih cepat untuk mengerjakan suatu task

Kerugian Thread               :
1.       Thread dapat ikut ter-block ketika proses ter-block
2.       Thread perlu saling menunggu thread lain

Multithreading  merupakan adanya banyak thread yang berada dalam satu proses yang sama, yang memungkin performa proses yang lebih cepat dari biasanya

Penjadwalan CPU dibutuhkan untu memilih proses proses yang terdapat di dalam CPU yang siap untuk di ekseskusi

Kondisi – kondisi yang terdapat dalam penjadwalan CPU               :
1.       Pergantian running ke waiting state
2.       Pergantian dari running ke ready state
3.       Pergantian dari waiting ke ready state
4.       Terminates

Dispatcher adalah suatu kendali untuk mengatur processor dengan menggunakan short-term scheduler, yang dapat mengatur mulai dan berhentinya suatu proses

Tipe-tipe dari processor scheduling         :
1.       Long-term scheduling
2.       Medium-term schedulling
3.       Short-term scheduling

Kriteria penjadwalan      :
1.       CPU utilization
memastikan agar CPU tetap berada dalam kondisi sibuk atau bekerja
2.       Throuhput
Jumlah atau banyaknya proses yang selesai pada suatu waktu
3.       Turnaround time
Jumlah atau banyaknya waktu yang dibutuhkan untuk proses proses tertentu
4.       Waiting time
Jumlah waktu yang digunakan oleh suatu proses sampai di eksekusi
5.       Response time

Waktu yang dibutuhkan sampai adanya pemberian atau balasan response
Kriteria yang digunakan untuk membuat scheduler jadi optimal :
1.       Max CPU utilization
Memaximum kemampuan kerja dari CPU
2.       Max throughput
Memaximum proses yang dapat selesai dalam suatu waktu
3.       Min turnaround time
Memiinimal waktu untuk melakukan eksekusi sampai proses itu selesai
4.       Min waiting time
Meminimalkan waktu tunggu dari proses tersebut
5.       Min response time
Meminimalkan waktu response

Tujuan dari adanya scheduling   :
1.       All systems
A.      Fairness       : membagi penggunaan CPU secara adil
B.      Policy            : terdapat kebijakan
C.      Balance        : pastikan pembagian kerja secara rata dan tetap bekerja, agar tugas dapat cepat selesai
2.       Batch system    
A.      Throughput                : memaksimalkan banyaknya proses yang dapat diselesaikan
B.      Turnaround time      : meminimalkan waktu yang digunakan untuk menyelesaikan suatu pekerjaan
C.      CPU utilization           : tetap menjaga agar CPU tetap sibuk
3.       Interactive systems
A.      Response time          : waktu sewaktu pemberian response
B.      Proportionality          : Pemberian respon yang sesuai dengan yang di minta
4.       Real-time system
A.      Meeting deadlines  : jaminan agar tidak ada data yang hilang
B.      Predictability              : menjaga kualitas dari multimedia system
 



Tidak ada komentar:

Posting Komentar