Nama : Fajar Saputra
NPM : 21312063
Kelas : IF 21 B
Dosen Pengampu : Ajeng Savitri S.Kom., M.Kom.
Mata Kuliah : Organisasi dan Arsitektur Komputer
Tugas : Threads and Proses
Perbedaan Antara Threads dan Proses
Proses merupakan sebuah peristiwa pada sebuah program yang dapat dieksekusi. Sebagai sebuah eksekusi proses, maka hal
tersebut membutuhkan perubahan keadaan. Keadaan dari sebuah proses dapat
didefinisikan oleh aktivitas proses tersebut. Suatu proses adalah lebih dari
kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga
termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada
program counter dan isi dari daftar prosesor/ processor’s register. Suatu
proses umumnya
Proses memiliki dua karakteristik namun kedua karakteristik dilakukan secara independen oleh sistem operasi :
- Resource ownership (kepemilikan sumber daya) Proses mempunyai ruang alamat virtual untuk menangani image proses yangdidefinisikan dalam PCB.
- Scheduling-execution (penjadwalan-eksekusi)Mengikuti suatu path eksekusi (trace), ada pergatian dari satu proses kelainnya Unit dari kepemilikan sumber daya diacu sebagai proses atau taskuatu threadyang salah dapat menganggu thread yang lain didalam proses yang sama,karenathread berbagai pakai ruang memori virtual dan sumber daya lain yang sama.
Thread merupakan unit dasar dari penggunaan
CPU, thread mengandung Thread ID, program counter, register set, dan stack.
Sebuah Thread berbagi code section, data section,dan sumber daya sistem operasi
dengan Thread lain yang dimiliki oleh proses yang sama.Thread juga sering
disebut lightweight process. Sebuah proses tradisional atau heavyweight process
mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaan antara
proses dengan thread tunggal dengan proses dengan thread yang banyak adalah
prosesdengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada
satu satuan waktu.
- Pembentukan Thread membutuhkan waktu yang lebih sedikit daripada pembentukan process.
- Membutuhkan waktu yang lebih sedikit untuk menhakhiri Thread daripada process.
- Lebih mudah dan cepat untuk melakukan switch antar Thread daripada switch antar process.
- Thread menggunakan secara bersama ruang alamat dari proses yang menciptakannya.Proses memiliki ruang alamat sendiri-sendiri.
- Thread memiliki akses langsung ke segemen data dari prosesnya. Masing-masing proses memiliki salinan segmen data dari parent process-nya.
- Thread dapat saling komunikasi dengan thread lain dalam satu process. Antar prosesharus menggunakan komunikasi antar proses.
- Thread hampir tidak memiliki overhead. Proses memiliki overhead.
- Thread dapat memiliki pengaruh kontrol yang besar terhadap thread lain dalam satu proses. Proses hanya dapat mengendalikan proses anakannya.
- Perubahan pada thread utama seperti pembatalan atau perubahan prioritas dapatmempengaruhi tingkah laku thread lain dalam satu proses. Perubahan pada parent proses tidak mempengaruhi proses anakan.
Sedangkan persamaan antara proses dan thread adalah antara lain :
- Proses dan thread merupakan bagian dari program yang sedang dijalankan danmemerlukan resources register, PC, stack pointer.
- Proses dan thread mempunyai status (ready, run, block) pada saat menggunakan CPUdan diatur oleh scheduler. (Full credit jika telah menyebutkan diatur oleh scheduler)
- Kernel WindowsPada sistem operasi Windows, kernel ditangani oleh file kernel32.dll. Kernel inimenangani manajemen memori, operasi masukan / keluaran dan interrupt. Ketika bootWindows, kernel32.dll di-load ke dalam spasi protected memory sehingga spasi memorinyatidak digunakan oleh aplikasi lain. Apabila ada aplikasi yang mencoba mengambil spasimemori kernel32.dll, akan muncul pesan kesalahan "invalid page fault".
- Kernel LinuxKernel Linux adalah kernel yang digunakan dalam sistem operasi GNU/Linux. Kernel ini merupakan turunan dari keluarga sistem operasi UNIX, dirilis dengan menggunakanlisensi GNU General Public License (GPL), dan dikembangkan oleh pemrogram di seluruhdunia. Linux merupakan contoh utama dari perangkat lunak bebas dan sumber terbuka.Linux pertama kali ditulis oleh Linus Benedict Torvalds pada tahun 1991. Pada saatitu, Proyek GNU telah membuat banyak komponen yang dibutuhkan untuk membentuksebuah sistem operasi yang bebas, tapi belum memiliki kernel yang melandasi komponenaplikasi tersebut. Sebenarnya waktu itu, sudah ada kandidat kuat sebagai fondasi sistemoperasi GNU, yang dinamakan dengan Hurd, tapi pengembangannya belum selesai. Pada saatawal pengembangannya, Linux sangat sederhana. Tapi berkat dukungan semua pihak(khususnya komunitas sistem operasi Minix) yang menyumbang ide ke dalam Linuxsehingga dapat berkembang dengan pesat.
0 Komentar