Pengertian Thread

Daftar Isi

    Lancang Kuning - Thread adalah aliran kontrol independen yang beroperasi dalam ruang alamat yang sama dengan aliran kontrol independen lainnya dalam suatu proses. Dalam versi AIX sebelumnya, dan di sebagian besar sistem UNIX, karakteristik utas dan proses dikelompokkan menjadi satu entitas yang disebut proses. Di sistem operasi lain, utas terkadang disebut "proses ringan," atau arti kata " thread" kadang-kadang sedikit berbeda.

    Baca juga : Tempat Wisata di Riau

    Berikut ini untuk mempelajari lebih lanjut tentang utas di AIX:

       -Thread dan Proses

       -Implementasi Thread

    Thread dan Proses

    Dalam sistem proses single-threaded tradisional, suatu proses memiliki seperangkat properti. Dalam sistem multi-threaded, properti ini dibagi antara proses dan thread.

    Properti Proses

    Proses dalam sistem multi- threaded adalah entitas yang dapat diubah. Itu harus dianggap sebagai kerangka eksekusi. Ia memiliki semua atribut proses tradisional, seperti:

       -ID proses, ID proses grup, ID pengguna, dan ID grup

       -Lingkungan Hidup

       -Direktori kerja.

    Suatu proses juga menyediakan ruang alamat umum dan sumber daya sistem umum:

       -Penjelas file

       -Tindakan sinyal

       -Perpustakaan bersama

       -Alat komunikasi antar-proses (seperti antrian pesan, pipa, semafor, atau memori bersama).

    Properti Thread

    Thread adalah entitas yang dapat dijadwalkan. Hanya memiliki sifat-sifat yang diperlukan untuk memastikan aliran kontrol independen. Ini termasuk properti berikut:

       -Tumpukan

       -Properti penjadwalan (seperti kebijakan atau prioritas)

       -Set sinyal yang tertunda dan diblokir

       -Beberapa data khusus utas.

    Contoh data khusus utas adalah indikator kesalahan, errno. Dalam sistem multi-threaded, errno tidak lagi menjadi variabel global, tetapi biasanya subrutin yang mengembalikan nilai errno spesifik-thread. Beberapa sistem lain mungkin menyediakan implementasi errno lainnya.

    Threads dalam suatu proses tidak boleh dianggap sebagai kelompok proses. Semua threads berbagi ruang alamat yang sama. Ini berarti bahwa dua pointer memiliki nilai yang sama dalam dua utas mengacu pada data yang sama. Juga, jika ada utas yang mengubah salah satu sumber daya sistem bersama, semua threads dalam proses akan terpengaruh. Misalnya, jika utas menutup file, file ditutup untuk semua threads.

    Baca juga : Perbedaan Komentar, Identifier dan Tipe Data

    Thread Awal

    Ketika suatu proses dibuat, satu thread secara otomatis dibuat. Thread ini disebut thread awal. Ini memastikan kompatibilitas antara proses lama dengan thread implisit unik dan proses multi-utas baru. Utas awal memiliki beberapa sifat khusus, tidak terlihat oleh programmer, yang memastikan kompatibilitas biner antara program ulir tunggal dan sistem operasi multi-ulir. Ini juga merupakan utas awal yang menjalankan rutin utama dalam program multi-threads.

     

    Implementasi Thread

    Thread adalah entitas yang dapat dijadwalkan, yang berarti bahwa penjadwal sistem menangani utas. Threads ini, dikenal oleh penjadwal sistem, sangat bergantung pada implementasi. Untuk memudahkan penulisan program portabel, perpustakaan menyediakan jenis utas lainnya.

    Kernel Threads dan User Threads

    Thread kernel adalah entitas kernel, seperti proses dan penangan interrupt; itu adalah entitas yang ditangani oleh penjadwal sistem. Utas kernel berjalan dalam suatu proses, tetapi dapat dirujuk oleh threads lain dalam sistem. Programmer tidak memiliki kontrol langsung atas utas-utas ini, kecuali menulis ekstensi kernel atau driver perangkat. Lihat AIX Versi 4.3 Kernel Extensions dan Konsep Pemrograman Dukungan Perangkat untuk informasi lebih lanjut tentang pemrograman kernel.

    User thread adalah entitas yang digunakan oleh programmer untuk menangani banyak aliran kontrol dalam suatu program. API untuk menangani utas pengguna disediakan oleh perpustakaan, perpustakaan threads. Thread pengguna hanya ada dalam suatu proses; thread pengguna dalam proses A tidak bisa mereferensikan thread pengguna dalam proses B.

    Perpustakaan menggunakan antarmuka berpemilik untuk menangani threads kernel untuk mengeksekusi utas pengguna. API utas pengguna, tidak seperti antarmuka utas kernel, adalah bagian dari model pemrograman portabel. Dengan demikian, program multi-utas yang dikembangkan pada sistem AIX dapat dengan mudah porting ke sistem lain.

    Pada sistem lain, utas pengguna hanya disebut utas, dan proses yang ringan mengacu pada utas kernel.

    Model Thread dan Pemroses Virtual

    Utas pengguna dipetakan ke utas kernel oleh perpustakaan utas. Cara pemetaan ini dilakukan disebut model ulir. Ada tiga model utas yang memungkinkan, sesuai dengan tiga cara berbeda untuk memetakan utas pengguna ke utas kernel.

        M: 1 model

        Model 1: 1

        M: N. model.

    Pemetaan utas pengguna ke utas kernel dilakukan menggunakan prosesor virtual. Prosesor virtual (VP) adalah entitas perpustakaan yang biasanya implisit. Untuk utas pengguna, prosesor virtual berperilaku sebagai CPU untuk threads kernel. Di perpustakaan, prosesor virtual adalah utas kernel atau struktur yang terikat pada threads kernel.

    Baca juga : Tempat Wisata di Pekanbaru

    Dalam model M: 1 semua utas pengguna dipetakan ke satu utas kernel; semua threads pengguna dijalankan pada satu VP. Pemetaan ditangani oleh penjadwal perpustakaan. Semua fasilitas pemrograman utas pengguna sepenuhnya ditangani oleh perpustakaan. Model ini dapat digunakan pada sistem apa pun, terutama pada sistem single-threaded tradisional.

     

    Dalam model 1: 1, setiap utas pengguna dipetakan ke satu utas kernel; setiap utas pengguna berjalan pada satu VP. Sebagian besar fasilitas pemrograman utas pengguna langsung ditangani oleh utas kernel.

     

    Dalam model M: N, semua threads pengguna dipetakan ke kumpulan utas kernel; semua utas pengguna berjalan di kumpulan prosesor virtual. Threads pengguna dapat terikat ke VP tertentu, seperti pada model 1: 1. Semua threads pengguna yang tidak terikat berbagi VP yang tersisa. Ini adalah model threads yang paling efisien dan paling rumit; fasilitas pemrograman utas pengguna dibagi antara perpustakaan utas dan utas kernel.(Faisal)

    Bagikan Artikel

    data.label
    data.label
    data.label
    data.label
    Beri penilaian untuk artikel Pengertian Thread
    Sangat Suka

    0%

    Suka

    0%

    Terinspirasi

    33%

    Tidak Peduli

    0%

    Marah

    66%

    Komentar