Get Started. It's Free
or sign up with your email address
THREAD by Mind Map: THREAD

1. Definisi

1.1. Lightweight Process

1.2. Multithreading

1.3. Ilustrasi

2. Kegunaan

2.1. Foreground and Background

2.2. Asynchronous processing

2.3. Kecepatan eksekusi

2.4. Struktur modular

3. Tipe

3.1. User-Level Thread: manajemen thread oleh aplikasi

3.1.1. Kelebihan

3.1.1.1. Thread switching tidak membutuhkan kernel mode privilege

3.1.1.2. Penjadwalan dapat dibuat spesifik

3.1.1.3. ULT dapat berjalan di OS manapun

3.1.2. Kekurangan

3.1.2.1. Satu thread blocked, thread lain pada proses yang sama juga blocked.

3.1.2.2. ULT murni tidak dapat memanfaatkan multiprocessing

3.2. Kernel-Level Thread: manajemen thread oleh kernel

3.2.1. Kelebihan

3.2.1.1. Thread pada proses yang sama dapat dijalankan pada prosesor yang berbeda.

3.2.1.2. Kernel routines juga dapat multithreaded.

3.2.2. Kekurangan

3.2.2.1. Thread switching antar proses yang sama tetap melibatkan kernel.

3.2.2.2. Dapat memperlambat.

3.3. Kombinasi: gabungan ULT dan KLT

3.4. Ilustrasi

4. Jacketing

4.1. Konversi blocking system call menjadi non-blocking system call

5. Keunggulan

5.1. Lebih cepat membuat thread

5.2. Terminasi thread lebih cepat

5.3. Lebih cepat switch antar thread dalam satu proses dibanding dengan switch antar proses

5.4. Efisiensi komunikasi antar proses

6. Anatomi

6.1. State thread

6.1.1. Spawn : Thead muncul atau dibuat oleh proses/OS.

6.1.2. Block : Thread menunggu sebuah event.

6.1.3. Unblock : Ketika event yang ditunggu oleh thread muncul.

6.1.4. Finish : Thread selesai. Register context dan stack yang digunakan dibebaskan.

6.2. Thread context

6.3. Execution stack

6.4. Static storage untuk local variabel

6.5. Akses ke memori dan resource. Resource dishare dengan semua thread dalam satu proses

6.6. Ilustrasi

7. Muhammad Arief (1301180265) IF 42-GAB03