Anda di halaman 1dari 8

KESIMPULAN DARI MAKALAH

“Perbedaan Antara Proses dan Thread” dan “Perbedaan: Program,


Proses, dan Utas”

DISUSUN OLEH:
NAOMI CINDY HERMINA TAMPUBOLON
1184018
Kelas 1B

D4 TEHNIK INFORMATIKA

POLITEKNIK POS INDONESIA


TA. 2019/2020
Perbedaan Antara Proses dan Thread
Dalam Pengembangan Linux: Gambar biner, memori virtual, berbagai sumber daya
kernel, konteks keamanan terkait, dan sebagainya. Sedangkan Threads adalah unit eksekusi
dalam suatu proses: Prosesor yang tervirtualisasi, stack, dan status program. dan juga disebut
sebagai, menjalankan dan menjalankan unit eksekusi penjadwalan oleh penjadwal proses sistem
operasi.Suatu proses mengandung satu atau lebih utas. Anda dapat mengatakan utas adalah
sebuah proses. Dalam proses single-threaded, proses tersebut berisi satu utas - satu hal terjadi.
Dalam proses multithreaded, proses tersebut berisi lebih dari satu utas - ada lebih dari satu hal
yang terjadi.
Dua abstraksi tervirtualisasi utama dalam sistem operasi modern adalah memori
tervirtualisasi dan prosesor tervirtualisasi. Keduanya membeli sumber daya mesin sendirian.
Memori virtual memberi proses tampilan unik dari memori yang secara mulus memetakan
kembali ke RAM fisik atau penyimpanan di-disk (ruang swap). Sebuah prosesor virtual
memungkinkan proses bertindak seolah-olah mereka berjalan pada prosesor, padahal sebenarnya
banyak proses multitasking di beberapa prosesor.
Memori virtual dikaitkan dengan proses dan bukan thread. Dengan demikian, thread
berbagi satu ruang alamat memori. Sebaliknya, prosesor virtual yang berbeda dikaitkan dengan
setiap thread. Setiap thread adalah entitas penjadwalan independen.
Ada empat manfaat utama untuk multithreading:
1. Pemrograman abstraksi.
Membagi pekerjaan dan menugaskan masing-masing divisi ke unit eksekusi
adalah pendekatan alami untuk banyak masalah. Pola pemrograman yang
memanfaatkan pendekatan ini meliputi reaktor, pola per sambungan, dan pola
kumpulan benang. Namun, beberapa utas tampilan anti-pola.
2. Paralelisme.
Pada mesin dengan banyak prosesor, utas menyediakan cara yang efisien untuk
mencapai paralelisme sejati. Karena setiap utas menerima prosesor tervirtualasinya
sendiri dan entitas terjadwal yang independen, beberapa utas menjalankan banyak
proses pada saat yang sama, meningkatkan throughput sistem.
3. Memblokir I / O.
Tanpa thread, memblokir I / O menghentikan seluruh proses. Ini dapat merusak
throughput dan latensi. Dalam proses multithreaded, individu dapat memblokir
thread, menunggu di I / O, sementara thread lainnya maju. Asynchronous & solusi I /
O non-blocking alternatif untuk utas untuk masalah ini.
4. Penghematan memori.
Thread menyediakan cara yang efisien untuk berbagi memori namun
menggunakan beberapa unit eksekusi. Dengan cara ini mereka adalah alternatif untuk
banyak proses.

Perbedaan: Program, Proses, dan Utas

I. Program
Program adalah kode yang disimpan di komputer Anda yang dimaksudkan untuk
memenuhi tugas tertentu. Ada banyak jenis program, termasuk program yang membantu
fungsi komputer Anda dan merupakan bagian dari sistem operasi, dan program lain yang
memenuhi tugas tertentu. Program khusus tugas ini juga dikenal sebagai "aplikasi," dan
dapat mencakup program seperti pengolah kata, penelusuran web, atau mengirim email
pesan ke komputer lain.

Program biasanya disimpan pada disk atau memori non-volatile dalam bentuk
yang dapat dieksekusi oleh komputer. Mereka dibuat menggunakan bahasa pemrograman
seperti C, Lisp, Pascal, atau banyak lainnya menggunakan instruksi yang melibatkan
logika, manipulasi data dan perangkat, perulangan, dan interaksi pengguna. Hasilnya
adalah bahwa file teks dikompilasi ke dalam bentuk biner (1 dan 0) untuk dijalankan di
komputer. Jenis program lain disebut "ditafsirkan," dan alih-alih dikompilasi terlebih
dahulu untuk menjalankannya, ia ditafsirkan menjadi kode yang dapat dieksekusi pada
saat dijalankan. Beberapa bahasa pemrograman yang umum ditafsirkan, adalah Python,
PHP, JavaScript, dan Ruby.

Hasil akhirnya adalah sama, namun ketika program dijalankan, ia dimasukkan ke


dalam memori bentuk biner. CPU komputer (Central Processing Unit) hanya memahami
instruksi biner, sehingga program harus berada di saat dijalankan.

Biner adalah bahasa asli komputer karena sirkuit listrik pada tingkat dasarnya
memiliki dua keadaan, hidup atau mati, diwakili oleh satu atau nol. Dalam sistem
penomoran yang umum kita gunakan setiap hari, basis 10, setiap posisi digit bisa apa saja
dari 0 hingga 9. Dalam basis 2 (atau biner), setiap posisi adalah 0 atau 1. (Dalam posting
blog di masa depan kita mungkin mencakup komputasi kuantum, yang melampaui
konsep komputasi hanya 1 dan 0.)
Decimal—Base 10 Binary—Base 2
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

II. Proses
Setelah program dimuat ke dalam memori komputer dalam bentuk biner.
Program pelaksana membutuhkan lebih dari sekadar kode biner yang memberi
tahu komputer apa yang harus dilakukan. Program ini membutuhkan memori dan
berbagai sumber daya sistem operasi untuk dapat berjalan. "Proses" adalah apa yang kami
sebut program yang telah dimuat ke dalam memori bersama dengan semua sumber daya
yang diperlukan untuk beroperasi. "Sistem operasi" adalah otak di belakang
mengalokasikan semua sumber daya ini, dan hadir dalam berbagai rasa seperti macOS,
iOS, Microsoft Windows, Linux, dan Android. OS menangani tugas mengelola sumber
daya yang diperlukan untuk mengubah program Anda menjadi proses yang berjalan.

Beberapa sumber daya penting yang diperlukan untuk setiap proses adalah
register, penghitung program, dan tumpukan. "Daftar" adalah area penyimpanan data
yang merupakan bagian dari prosesor komputer (CPU). Register dapat menyimpan
instruksi, alamat penyimpanan, atau jenis data lain yang dibutuhkan oleh proses.
"Penghitung program," juga disebut "penunjuk instruksi," melacak di mana komputer
berada dalam urutan programnya. "Stack" adalah struktur data yang menyimpan
informasi tentang subrutin aktif dari program komputer dan digunakan sebagai ruang
awal untuk proses tersebut. Ini dibedakan dari memori yang dialokasikan secara dinamis
ke proses yang dikenal sebagai "tumpukan."
Proses Komputer

Ada beberapa contoh satu program, dan setiap contoh program yang sedang
berjalan adalah suatu proses. Setiap proses memiliki ruang alamat memori yang terpisah,
yang berarti bahwa suatu proses berjalan secara independen dan terisolasi dari proses
lain. Itu tidak dapat secara langsung mengakses data bersama dalam proses lain. Beralih
dari satu proses ke proses lainnya membutuhkan waktu (relatif) untuk menyimpan dan
memuat register, peta memori, dan sumber daya lainnya.
Kemandirian proses ini sangat berharga karena sistem operasi mencoba merusak
atau menyebabkan malapetaka dengan proses lain. Tidak diragukan lagi ada situasi di
mana aplikasi pada komputer membeku atau memiliki masalah dan dapat keluar dari
program tanpa mempengaruhi yang lain.

III. Thread
Thread adalah unit eksekusi dalam suatu proses. Suatu proses dapat memiliki
mana saja dari hanya satu utas ke banyak utas.
Proses vs. Thread
Ketika suatu proses dimulai, itu diberikan memori dan sumber daya. Setiap utas
sedang dalam proses berbagi memori dan sumber daya itu. Dalam proses single-threaded,
proses tersebut berisi satu utas. Proses dan utasnya satu dan sama, dan hanya ada satu hal
yang terjadi.

Dalam proses multithreaded, proses tersebut berisi lebih dari satu utas, dan proses
mencapai sejumlah hal pada saat yang sama (secara teknis, kadang-kadang hampir pada
saat yang sama).

Thread kadang-kadang disebut proses ringan karena mereka memiliki tumpukan


mereka sendiri tetapi dapat mengakses data bersama. Karena utas berbagi ruang alamat
yang sama dengan proses dan utas lainnya dalam proses, biaya operasional komunikasi
antara utas rendah, yang merupakan untung. Kerugiannya adalah bahwa masalah dengan
satu utas akan mempengaruhi utas lainnya dan kelangsungan proses itu sendiri.

Threads vs. Proses


Jadi untuk meninjau:
1. Program dimulai sebagai file teks dari kode pemrograman,
2. Program ini dikompilasi atau ditafsirkan ke dalam bentuk biner,
3. Program dimuat ke dalam memori,
4. Program menjadi satu atau lebih proses yang sedang berjalan.
5. Proses biasanya tidak tergantung satu sama lain,
6. Sementara utas ada sebagai bagian dari suatu proses.
7. Thread dapat berkomunikasi satu sama lain lebih mudah daripada proses
bisa,
8. Tetapi utas lebih rentan terhadap masalah yang disebabkan oleh utas lain
dalam proses yang sama.

Proses vs Thread - Keuntungan dan Kerugian

Process Thread
Proses adalah operasi kelas berat Proses adalah operasi kelas berat
Thread adalah operasi yang lebih
ringan
Setiap proses memiliki ruang Setiap proses memiliki ruang memori
memori sendiri sendiri Threads menggunakan
memori dari proses yang dimilikinya
Komunikasi antar proses lambat Komunikasi antar proses yang lambat
karena proses memiliki alamat Karena proses memiliki alamat
memori yang berbeda memori yang berbeda Komunikasi
antar-thread dapat lebih cepat
daripada komunikasi antar-proses
karena utas dari proses yang sama
berbagi memori dengan proses yang
mereka miliki
Pergantian konteks antar proses Pergantian konteks antar proses lebih
lebih mahal mahal Pergantian konteks antara utas
dari proses yang sama lebih murah
Memproses tidak membagikan Memproses tidak membagikan
memori dengan proses lain memori dengan proses lain Thread
berbagi memori dengan utas lain dari
proses yang sama

Thread dan proses tidak selalu (bergantung pada) berjalan pada saat yang sama.
Pada sistem dengan banyak prosesor atau inti CPU (seperti biasanya dengan prosesor
modern), banyak proses atau utas dapat dijalankan secara paralel. Pada satu prosesor,
meskipun, tidak mungkin untuk memiliki proses atau utas benar-benar mengeksekusi
pada saat yang sama. Dalam hal ini, CPU dibagi antara proses yang berjalan atau utas
menggunakan algoritma penjadwalan yang membagi waktu CPU dan menghasilkan ilusi
eksekusi paralel. Waktu yang diberikan untuk setiap tugas disebut "irisan waktu." Bolak-
balik antar tugas terjadi begitu cepat sehingga biasanya tidak terlihat. Istilah paralelisme
(eksekusi simultan asli) dan konkurensi (interleaving proses tepat waktu untuk
memberikan tampilan eksekusi simultan), membedakan antara dua jenis operasi simultan
nyata atau perkiraan.

Anda mungkin juga menyukai