Definisi Proses
Prosesnya adalah pelaksanaan suatu program dan
melakukan tindakan yang relevan yang ditentukan dalam suatu program, atau itu
adalah unit eksekusi di mana suatu program berjalan. Sistem operasi membuat,
menjadwalkan dan mengakhiri proses untuk penggunaan CPU. Proses lain yang
dibuat oleh proses utama dikenal sebagai proses anak.
Suatu operasi proses yang dikendalikan dengan
bantuan PCB (Process control Block) dapat dianggap sebagai otak dari proses
tersebut, yang berisi semua informasi penting mengenai suatu proses seperti id
proses, prioritas, keadaan, PWS dan isi register CPU .
PCB juga merupakan struktur data berbasis
kernel yang menggunakan tiga jenis fungsi yaitu penjadwalan, pengiriman dan
penyimpanan konteks.
- Penjadwalan -
Ini adalah metode pemilihan urutan proses dalam kata-kata sederhana
memilih proses yang harus dieksekusi terlebih dahulu dalam CPU.
- Pengiriman -
Ini mengatur lingkungan untuk proses yang akan dieksekusi.
- Simpan konteks -
Fungsi ini menyimpan informasi mengenai suatu proses ketika akan
dilanjutkan atau diblokir.
Ada beberapa kondisi tertentu yang termasuk
dalam siklus hidup proses seperti siap, berjalan, diblokir, dan diakhiri.
Status Proses digunakan untuk melacak aktivitas proses secara instan.
Dari sudut pandang programmer, proses adalah
media untuk mencapai eksekusi bersamaan dari suatu program. Proses utama dari
program bersamaan menciptakan proses anak. Proses utama dan proses anak perlu
berinteraksi dengan masing-masing untuk mencapai tujuan bersama.
Operasi interleaving dari proses meningkatkan
kecepatan komputasi ketika operasi i / o dalam satu proses tumpang tindih
dengan aktivitas komputasi dalam proses lain.
Properti dari Proses:
- Pembuatan setiap proses termasuk panggilan sistem untuk
setiap proses secara terpisah.
- Suatu proses adalah entitas eksekusi yang terisolasi
dan tidak berbagi data dan informasi.
- Proses menggunakan mekanisme IPC (komunikasi antar
proses) untuk komunikasi yang secara signifikan meningkatkan jumlah
panggilan sistem.
- Manajemen proses mengkonsumsi lebih banyak panggilan
sistem.
- Setiap proses memiliki memori tumpukan, dan tumpukan,
instruksi, data dan peta memori.
Definisi
dari Thread
Utas adalah eksekusi program yang menggunakan
sumber daya proses untuk menyelesaikan tugas. Semua utas dalam satu program
secara logis terkandung dalam suatu proses. Kernel mengalokasikan tumpukan dan
blok kendali ulir (TCB) untuk setiap utas. Sistem operasi hanya menyimpan stack
pointer dan status CPU pada saat beralih di antara utas dari proses yang sama.
Thread diimplementasikan dalam tiga cara yang
berbeda; ini adalah utas tingkat kernel, utas tingkat pengguna, utas hibrida.
Utas dapat membuat tiga negara berjalan, siap dan diblokir; itu hanya mencakup
keadaan komputasi, bukan alokasi sumber daya dan keadaan komunikasi yang
mengurangi overhead switching. Ini meningkatkan concurrency (paralelisme) maka
kecepatan juga meningkat.
Multithreading juga dilengkapi dengan
demerits, Multiple threads tidak menciptakan kompleksitas, tetapi interaksi di
antara mereka tidak.
Sebuah utas harus memiliki properti prioritas
ketika ada beberapa utas yang aktif. Waktu yang didapat untuk eksekusi
masing-masing untuk utas aktif lainnya dalam proses yang sama ditentukan oleh
prioritas utas.
Properti sebuah Thread:
- Hanya satu panggilan sistem yang dapat membuat lebih
dari satu utas (Proses ringan).
- Thread berbagi data dan informasi.
- Thread berbagi instruksi, wilayah global dan heap
tetapi memiliki tumpukan dan register tersendiri.
- Manajemen utas tidak menggunakan atau lebih sedikit
panggilan sistem karena komunikasi antar utas dapat dicapai menggunakan
memori bersama.
- Properti isolasi dari proses meningkatkan overhead
dalam hal konsumsi sumber daya.
Perbedaan Kunci Atau Yang Mendasari Antara
Proses dan Thread yaitu:
- Semua utas program secara logis terkandung dalam suatu
proses.
- Suatu proses berbobot berat, tetapi utas berbobot
ringan.
- Suatu program adalah unit eksekusi yang terisolasi
sedangkan utas tidak terisolasi dan berbagi memori.
- Utas tidak dapat memiliki keberadaan individu; itu
melekat pada suatu proses. Di sisi lain, suatu proses dapat eksis secara
individual.
- Pada saat berakhirnya utas, tumpukan yang terkait dapat dipulihkan karena setiap utas memiliki tumpukan sendiri. Sebaliknya, jika suatu proses mati, semua utas mati termasuk proses.