Sistem Operasi Pertemuan 4

Session 1 & Season 2 : Thread

Thread adalah sebuah proses yang membuat banyak eksekusi dalam proses di tempat yang sama dan memiliki kendali tunggal

Thread memiliki 3 status eksekusi, yaitu

  • Running
  • Ready
  • Terminated

Ada 2 jenis Threads

  1. Lightweight Process : Thread yang mempunyai beberapa properti dalam suatu proses
  2. Multithreading : Melakukan banyak eksekusi pada thread dalam proses tersebut

thread

Kelebihan dari Thread

  • Proses pembuatan Thread tidak memakan waktu yang lama
  • Proses terminate Thread cepat
  • Pertukaran informasi antar thread berlangsung dengan cepat

Thread dapat diimplementasikan kedalam

  1. User Space
  2. Kernel Space
  3. Hybrid

 

User Space

user space

Keuntungan & Kelemahan User Space

+ Memungkinkan setiap proses untuk mengatur schedulenya sendiri

+ Performa

– Jika Thread pertama berhenti maka Thread lainnya juga ikut berhenti

– Ketika ada proses yang diblock, Thread juga dapat ikut ter-block

 

Kernel Space

Kernel Space

Kelebihan & Kelemahan Kernel Space:

+ Tidak membutuhkan non blocking system call yang baru

–  Cost untuk membuat dan mengakhiri thread lebih besar

 

Hybrid

Hybrid

Semua thread di proses yang sama mempunyai

  • Ruang alamat yang sama
  • Instruksi proses
  • Data terbanyak
  • Deskriptor
  • Sinyal dan penangan sinyal
  • Direktori kerja saat ini
  • User ID dan group ID

Setiap thread mempunyai

  • Thread ID
  • Set register, stack pointer
  • Stack untuk variabel lokal, mengembalikan alamat
  • Signal mask
  • Prioritas
  • Nilai kembali

Thread dapat memiliki 4 state, yaitu

  • Spawn : Thread dibuat oleh OS
  • Block : Thread menunggu event
  • Unblock : Event terjadi dan Thread mulai berjalan
  • Finish : Thread selesai

Relasi antara Thread & Process

Picture5

  • 1:1 -> Setiap thread dari eksekusi adalah sebuah proses unik yang memiliki address space & resourcenya sendiri
  • M:1 -> Sebuah proses mendefinisikan sebuah address space dan kepemilikan dynamic resources
  • 1:M -> Suatu thread bisa berpindah dari sebuah proses environment ke proses environment lainnya
  • M:M -> Menggabungkan atribut dari M:1 dan 1:M

Tipe-tipe Threading

  1. Coarse Threading : Modul individu, yang disebut sistem, yang ditugaskan untuk prosesor individu.
  2. Fine-Grained Threading : Banyak tugas yang sama atau identik dibagi di beberapa prosesor.
  3. Hybrid Threading : Merupakan gabungan dari Fine-Grained Threading dan Coarse Threading.

POSIX(Portable Operating System Interface)Threads

Picture7

 

www.binus.ac.id

www.skyconnectiva.com

 

 

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *