♢ THREAD DAN PROSES ♢
๐ฏ๐ฝ๐๐๐ถ๐น
☁
Thread (singkatan dari "thread of execution") dalam ilmu komputer, diartikan sebagai sekumpulan perintah (instruksi) yang dapat dilaksanakan (dieksekusi) secara sejajar dengan thread lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika thread-thread tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem).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.
๐ซ๐๐๐๐๐
☁
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.
Thread (singkatan dari "thread of execution") dalam ilmu komputer, diartikan sebagai sekumpulan perintah (instruksi) yang dapat dilaksanakan (dieksekusi) secara sejajar dengan thread lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika thread-thread tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem).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.
๐ซ๐๐๐๐๐
☁
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.
Pada saat proses dieksekusi, akan terjadi perubahan status.
Status proses didefinisikan sebagai bagian dari aktivitas proses yang sedang
berlangsung saat itu. Tipa-tiap proses dapat memiliki salah satu status di
bawah ini:
– New, yaitu status yang dimiliki pada saat proses baru saja
dibuat oleh penjadwalan tingkat tinggi, tetapi belum siap melakukan eksekusi
– Running, yaitu status yang dimiliki pada saat proses bisa dieksekusi, karena CPU tidak sedang mengerjakan tugas yang lain
– Waiting, yaitu status yang dimiliki pada saat proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu untuk menyelesaikan I/O atau menerima sinyal)
– Ready, yaitu status yang dimiliki pada saat proses menunggu jatah waktu dari prosesor
– Terminated, yaitu status yang dimiliki pada saat proses telah selesai dieksekusi
Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process membentuk proses turunan (child process) yang dilakukan oleh proses induk parent process. Proses turunan tersebut juga mampu membuat proses baru sehingga kesemua proses-proses ini pada akhirnya membentuk pohon proses.
Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti ”waktu CPU”, ”memori”, ”berkas” atau perangkat ”M/K”. Sumber daya ini dapat diperoleh langsung dari Sistem Operasi, dari Proses Induk yang membagi-bagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan Sistem Operasi.
Ada dua kemungkinan bagaimana jalannya (running) proses induk dan turunan berjalan (running). Proses-proses tersebut berjalan secara konkuren atau proses induk menunggu sampai beberapa/seluruh proses turunannya selesai berjalan.
– Running, yaitu status yang dimiliki pada saat proses bisa dieksekusi, karena CPU tidak sedang mengerjakan tugas yang lain
– Waiting, yaitu status yang dimiliki pada saat proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu untuk menyelesaikan I/O atau menerima sinyal)
– Ready, yaitu status yang dimiliki pada saat proses menunggu jatah waktu dari prosesor
– Terminated, yaitu status yang dimiliki pada saat proses telah selesai dieksekusi
Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process membentuk proses turunan (child process) yang dilakukan oleh proses induk parent process. Proses turunan tersebut juga mampu membuat proses baru sehingga kesemua proses-proses ini pada akhirnya membentuk pohon proses.
Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti ”waktu CPU”, ”memori”, ”berkas” atau perangkat ”M/K”. Sumber daya ini dapat diperoleh langsung dari Sistem Operasi, dari Proses Induk yang membagi-bagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan Sistem Operasi.
Ada dua kemungkinan bagaimana jalannya (running) proses induk dan turunan berjalan (running). Proses-proses tersebut berjalan secara konkuren atau proses induk menunggu sampai beberapa/seluruh proses turunannya selesai berjalan.
๐ฎ๐๐ถ๐๐๐ ๐ฏ๐ฝ๐๐๐ถ๐น
Suatu thread bisa
berada pada salah satu dari status berikut:
- New ,Thread yang berada di status ini adalah objek dari
kelas Thread yang baru dibuat, yaitu saat instansiasi objek
dengan statement new. Saat thread berada di
status new, belum ada sumber daya yang dialokasikan, sehingga thread belum
bisa menjalankan perintah apapun.
- Runnable, thread yang siap dijalankan dipindahkan ke status runnable. Dalam kondisi ini, thread mungkin benar-benar berjalan atau mungkin siap dijalankan kapan saja. Adalah tanggung jawab penjadwal thread untuk memberikan thread waktu untuk menjalankan.
- Blocked, ketika thread tidak aktif untuk sementara, maka itu berada di salah satu dari status blocked dan waiting. Misalnya, ketika thread menunggu I/O selesai, itu terletak pada status diblokir/blocked. Dan merupakan tanggung jawab penjadwalan thread untuk mengkaktifkan kembali dan menjadwalkan thread yang diblokir. Thread dalam kondisi ini tidak dapat melanjutkan eksekusi lebih jauh sampai ia dipindahkan ke status bisa runnable.
- Dead, Setelah utas selesai dieksekusi, statusnya diubah menjadi mati/dead dan dianggap tidak hidup.
Sumber:
http://ftp.gunadarma.ac.id/linux/docs/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch12s02.html
https://stackoverflow.com/questions/200469/what-is-the-difference-between-a-process-and-a-thread
https://vivimargaretha494.wordpress.com/2015/10/01/thread-pada-sistem-operasi-2/
https://www.geeksforgeeks.org/difference-between-process-and-thread/
https://www.backblaze.com/blog/whats-the-diff-programs-processes-and-threads/
https://vivimargaretha494.wordpress.com/2015/10/01/thread-pada-sistem-operasi-2/
https://www.geeksforgeeks.org/difference-between-process-and-thread/
https://www.backblaze.com/blog/whats-the-diff-programs-processes-and-threads/


Komentar
Posting Komentar