Minggu, 13 Januari 2013

Pengertian Thread, Multithreading dan Multiprocessing

Thread

Pengertian
Ulir atau thread (singkatan dari "thread of execution") dalam ilmu komputer, diartikan sebagai sekumpulan perintah (instruksi) yang dapat dilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika ulir-ulir tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem). Ulir sebenarnya mirip dengan proses, tapi cara berbagi sumber daya antara proses dengan ulir sangat berbeda. Multiplethread dapat dilaksanakan secara sejajar pada sistem komputer. Secara umum multithreading melakukan time-slicing (sama dengan time-division multipleks), di mana sebuah CPU bekerja pada ulir yang berbeda, di mana suatu kasus ditangani tidak sepenuhnya secara serempak, untuk CPU tunggal pada dasarnya benar-benar melakukan sebuah pekerjaan pada satu waktu. Teknik penggantian (switching) ini memungkinkan CPU seolah-olah bekerja secara serempak.
Urutan. Sesuatu yang dieksekusi secara konsekuen dan dapat diiterupsi sehingga prosesor beralih ke thread lain. Dari sudut pandang penjadwalan, konsep ini ekivalen proses pada kebanyakan sistem operasi konvensional sebagai satu unit sasaran penjadwalan.

1. Multithreading dan Multiprocessing
Semua proses merupakan unit kepemilikan dan unit penjadwalan (aktivitas). Pada system operasi mutakhir, proses dapat mempunyai banyak aktivitas idependen, sehingga:
-  Thread adalah abstraksi dari unit aktivitas (penjadwalan)
 - Proses adalah unit kepemilikan sumber daya
Proses adalah lingkungan eksekusi, unit managemen sumber daya, yaitu kumpulan sumber daya dimana thread-thread dapat mengaksesnya.

1.1. Proses dan Thread
Proses memiliki satu thread atau lebih. System yang memungkinkan lebih dari satu thread dip roses disebut multithread ing. Pada multiprocessors, thread-thread di satu proses dapat berjalan secara paralel.
Thread sering disebut Light Weight Process (LWP) yaitu unit dasar utilitasi pemroses dan berisi progam counter, register set dan stack space. Thread-thread di satu proses berbagi (memakai
bersama) bagian kode, data dan sumber daya system operasi seperti file dan signal. Pemakaian ektensif menyebabkan alih pemroses antara thread –thread di satu proses tidak mahal disbanding alih konteks antar proses. Meski alih thread masih memerlukan alih himpunan register, namun tidak ada keterlibatan manajemen memori.

Multithread ing merupakan upaya meningkatkan kinerja system computer, disebabkan [TAN92]:
1. Penciptaan thread baru lebih cepat dibanding penciptaan proses baru
2. Terminasi thread lebih cepat dibanding pengakhiran proses.
3. Alih ke thread lain di satu proses lebih cepat dibanding dari satu proses ke proses lain.
4. Thread-thread di satu proses dapat berbagi kode, data dan sumber daya lain secara nyaman dan efisien dibanding proses-proses terpisah.

Tidak ada komentar:

Poskan Komentar