Perbedaan Proses dan Thread dalam Sistem Operasi

advertisement
Nama
: Artika Sari
Nim
: 14121014
Prodi
: Sistem Informasi / 21 (Pagi)
Tugas Sistem Operasi
Perbedaan Proses dan Thread dalam Sistem Operasi
Dalam rangka untuk membiarkan komputer melakukan lebih dari satu kegiatan pada satu waktu,
proses dan thread memberikan layanan besar, tetapi ada perbedaan antara mereka dalam cara
mereka beroperasi. Semua program yang berjalan pada komputer menggunakan setidaknya satu
proses atau thread. Proses dan thread membiarkan saklar prosesor lancar antara beberapa tugas
sambil berbagi sumber daya komputer. Jadi itu adalah tugas dari seorang programmer untuk
menggunakan thread dan proses dalam cara yang efisien untuk membuat prosesor dengan kinerja
tinggi. Pelaksanaan thread dan proses berbeda sesuai dengan sistem operasi yang tersedia.
Apa itu Proses?
Sebuah proses, secara umum, adalah serangkaian terus menerus dari tindakan untuk mencapai
hasil yang spesifik. Namun, dalam dunia komputer, proses adalah sebuah contoh dari
mengeksekusi program komputer. Dengan kata lain, itu adalah konsep dari kejadian tunggal dari
program komputer yang berjalan. Proses yang berjalan secara binar akan mengandung satu atau
lebih thread.
Menurut jumlah thread yang terlibat dalam proses, ada dua jenis proses. Mereka adalah proses
single-thread dan proses multi-thread. Seperti namanya, proses tunggal-thread adalah proses
yang hanya memiliki satu thread. Oleh karena itu, thread ini adalah sebuah proses, dan hanya ada
satu aktivitas yang terjadi. Dalam proses multi-thread, ada lebih dari satu thread, dan ada lebih
dari satu aktivitas yang terjadi.
Dua atau lebih proses dapat berkomunikasi dalam setiap menggunakan komunikasi antar-proses
lain. Tapi itu cukup sulit dan membutuhkan lebih banyak sumber daya. Ketika membuat proses
baru programmer harus melakukan dua hal. Mereka adalah duplikasi proses induk dan alokasi
memori dan sumber daya untuk proses baru. Jadi ini benar-benar mahal.
Apa yang dimaksud dengan Thread?
Dalam dunia IT, thread adalah pelaksanaan instruksi terkecil dari program komputer yang dapat
dikelola secara independen sesuai dengan jadwal. Sebuah thread adalah jalan eksekusi sederhana
dalam proses. Sebuah thread adalah sebagai proses kuat karena thread bisa melakukan proses apa
saja yang bisa dilakukan. Sebuah thread adalah proses ringan dan membutuhkan sumber daya
yang lebih sedikit. Thread dapat mulai dari membaca dan menulis ke variabel yang sama dan
struktur data variabel. Thread dapat berkomunikasi antara thread dengan mudah.
Hari ini multi-threading telah menjadi pendekatan alami untuk banyak masalah. Sebuah
pekerjaan besar dibagi menjadi beberapa bagian dan masing-masing ditugaskan untuk unit
eksekusi yang disebut thread. Ini hanya multi-threading. Hal ini memerlukan kehati-hatian
pemrograman karena thread berbagi struktur data yang dimodifikasi oleh thread lain pada satu
waktu dan juga karena thread berbagi ruang alamat yang sama. Satu keuntungan lebih dari thread
adalah bahwa thread menyediakan cara yang efisien dan efektif untuk mencapai paralelisme.
Sebuah throughput sistem dapat ditingkatkan dengan membiarkan beberapa thread berjalan pada
beberapa prosesor karena thread adalah entitas independen yang dapat dijadwal (schedulable).
Apa perbedaan antara Proses dan Thread?
Proses sulit untuk membuat karena membutuhkan duplikasi proses induk dan alokasi memori
sedangkan thread lebih mudah untuk membuat karena mereka tidak memerlukan ruang alamat
yang terpisah.
Thread digunakan untuk tugas-tugas sederhana, sementara proses yang digunakan untuk tugastugas yang berat-berat seperti pelaksanaan aplikasi.
Proses tidak berbagi ruang alamat yang sama, namun thread dalam berbagi proses yang sama
ruang alamat yang sama.
Proses yang independen satu sama lain, tetapi thread saling bergantung karena mereka berbagi
ruang alamat yang sama.
Sebuah proses dapat terdiri dari beberapa thread.
Karena thread berbagi ruang alamat yang sama, virtual memori hanya terkait dengan proses tapi
tidak dengan thread. Tapi prosesor virtual yang berbeda dikaitkan dengan setiap thread.
Setiap proses memiliki kode dan data sendiri sedangkan proses thread berbagi kode yang sama
dan data.
Setiap proses dimulai dengan thread utama, tapi dapat membuat thread tambahan jika diperlukan.
Konteks beralih antara proses jauh lebih lambat dibandingkan konteks beralih antara thread dari
proses yang sama.
Thread dapat memiliki akses langsung ke segmen data, tetapi proses memiliki salinan sendiri
segmen data mereka.
roses memiliki overhead tapi tidak thread.
Ringkasan Proses vs Thread
Proses dan thread dua teknik yang digunakan oleh programmer untuk mengontrol prosesor dan
pelaksanaan instruksi pada komputer dengan cara yang efisien dan efektif. Sebuah proses dapat
berisi beberapa thread. Thread menyediakan cara yang efisien untuk berbagi memori meskipun
beroperasi beberapa eksekusi dari proses. Oleh karena itu, thread merupakan alternatif untuk
beberapa proses. Dengan tren yang berkembang menuju prosesor multi-core, thread akan
menjadi alat yang paling penting dalam dunia programmer.
Download