Konsep Thread Sistem Operasi


Konsep Thread Sistem Operasi

Hasil gambar untuk thread sistem operasi


Konsep Thread

Thread adalah unit terkecil dalam suatu proses yang bisa dijadwalkan oleh sistem operasi. Merupakan sebuah status eksekusi (ready, running, suspend, block, queue, dll) kadang disebut sebagai proses ringan (lightweight). Unit dasar dari dari sistem utilisasi pada processor (CPU). Dalam thread terdapat: ID Thread, Program Counter, Register dan Stack. Sebuah thread berbagi code section, data section dan resource sistem operasi dengan thread yang lain yang memiliki proses yang sama.


Keuntungan Tread
  • Responsif: Umpamanya, sebuah thread dari web browser dapat melayani permintaan pengguna sementara thread yang lain berusaha menampilkan gambar.
  • Berbagi sumber daya: Beberapa thread yang melakukan proses yang sama akan berbagi sumber daya. Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.
  • Ekonomis: Thread membagi memori dan sumber daya yang dimilikinya sehingga lebih ekonomis untuk membuat thread dan context switching thread. Akan susah mengukur perbedaan waktu antara thread dan switch, tetapi secara umum pembuatan dan pengaturan proses akan memakan waktu lebih lama dibandingkan dengan thread.
  • Utilisasi arsitektur multiprosesor: Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara paralel di atas procesor yang berbeda.

Model Multi-Threading

1. Many-to-One
Memetakan beberapa thread tingkatan pengguna ke sebuah thread tingkatan kernel. Pengaturan thread dilakukan dalam ruang pengguna, sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat.

2. One-to-One
Memetakan setiap thread tingkatan pengguna ke thread kernel. Model ini menyediakan lebih banyak concurrency dibandingkan model Many-to-One. D3 KomSI UGM Sistem Operasi

3. Many-to-Many
Mengelompokkan banyak thread pengguna untuk dipetakan ke thread kernel yang jumlahnya lebih sedikit atau sama dengan tingkatan pengguna. Mengijinkan sistem operasi untuk membuat sejumlah thread kernel.


Pustaka Thread

Pustaka Thread atau yang lebih familiar dikenal dengan Thread Library bertugas untuk menyediakan API untuk programmer dalam menciptakan dan memanage thread. Ada dua cara dalam mengimplementasikan pustaka thread:
  • Menyediakan API dalam level pengguna tanpa dukungan dari kernel sehingga pemanggilan fungsi tidak melalui system call. Jika memanggil fungsi yang sudah ada di pustaka, maka akan menghasilkan pemanggilan fungsi call yang sifatnya lokal dan bukan system call.
  • Menyediakan API di level kernel yang didukung secara langsung oleh sistem operasi. Pemanggilan fungsi call akan melibatkan system call ke kernel.

Cancellation atau Pembatalan Thread

Thread cancellation ialah pemberhentian thread sebelum tugasnya selesai. Thread yang akan diberhentikan biasa disebut target thread. Pemberhentian target thread dapat terjadi melalui dua cara yang berbeda:
  • Asynchronous cancellation: suatu thread seketika itu juga memberhentikan target thread.
  • Defered cancellation: target thread secara perodik memeriksa apakah dia harus berhenti, cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara terurut.

Penjadwalan Thread

Penjadwalan berkaitan dengan permasalahan memutuskan proses mana yang akan dilaksanakan dalam suatu sistem. Proses yang belum mendapat jatah alokasi dari CPU akan mengantri di ready queue. Algoritma penjadwalan berfungsi untuk menentukan proses manakah yang ada di ready quque yang akan di eksekusi oleh CPU.

Komentar

Postingan Populer