Top Banner
1 Bab 4: Thread Pendahuluan Model Multithreading Model Multithreading PermasalahanThreading Pthreads Solaris 2 Threads Windows 2000 Threads Linux Threads Java Threads 5.1 Java Threads Single Process dan Multithread Process 5.2
10
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 04 Thread.pdf

1

Bab 4: Thread

� Pendahuluan� Model Multithreading� Model Multithreading� PermasalahanThreading� Pthreads� Solaris 2 Threads� Windows 2000 Threads� Linux Threads� Java Threads

5.1

� Java Threads

Single Process dan MultithreadProcess

5.2

Page 2: 04 Thread.pdf

2

Kelebihan

� Tingkat responsif

� Penggunaan Resource bersama-sama

� Ekonomi

� Utilitas arsitektur mikroprosessor

5.3

User Threads

� Adalah pengelolaan thread yang dilakukan oleh user-level threads librarylevel threads library

� Contoh- POSIX Pthreads- Mach C-threads- Solaris threads

5.4

Page 3: 04 Thread.pdf

3

Kernel Threads

� Didukung dengan Kernel

� Contoh- Windows 95/98/NT/2000- Solaris- Tru64 UNIX- BeOS- Linux

5.5

Model Multithreading

� Many-to-One

� One-to-One

� Many-to-Many

5.6

Page 4: 04 Thread.pdf

4

Many-to-One

� Beberapa user-level threads dipetakan ke satu kernel thread.thread.

� Digunakan pada sistem yang tidak didukung kernel threads.

5.7

Model Many-to-One

5.8

Page 5: 04 Thread.pdf

5

One-to-One

� Setiap user-level thread dipetakan ke kernel thread.

� Contoh- Windows 95/98/NT/2000- OS/2

5.9

Model One-to-one

5.10

Page 6: 04 Thread.pdf

6

Many-to-Many

� Memungkinkan beberapa user level thread dipetakan ke beberapa kernel thread.beberapa kernel thread.

� Memungkinkan sistem operasi membuat sejumlah kernel thread.

� Solaris 2 � Windows NT/2000 dengan ThreadFiber package

5.11

Model Many-to-Many

5.12

Page 7: 04 Thread.pdf

7

Permasalahan Threading

� Semantik system call fork() dan exec().� Pembatalan Thread.� Pembatalan Thread.� Penanganan sinyal (signal handling)� Thread pools� Thread specific data

5.13

Pthreads

� Adalah API standar POSIX (IEEE 1003.1c) untuk pembuatan dan sinkronisasi thread.pembuatan dan sinkronisasi thread.

� API menentukan perilaku thread library, implementasi sesuai perkembangan library.

� Umum pada sistem operasi UNIX.

5.14

Page 8: 04 Thread.pdf

8

Solaris 2 Threads

5.15

Solaris Process

5.16

Page 9: 04 Thread.pdf

9

Windows 2000 Threads

� Mengimplementasikan pemetaan one-to-one.� Setiap thread terdiri dari � Setiap thread terdiri dari

- thread id- sekumpulan register- memisahkan stack user dan kernel- area penyimpan data privat

5.17

Linux Threads

� Linux menggunakan istilah thread sebagai tasks daripadathread.thread.

� Pembuatan thread dilakuka dengan system call clone().� Clone() memungkinkan task child menggunakan ruang

alamat yang sama dengan task parent (process).

5.18

Page 10: 04 Thread.pdf

10

Java Threads

� Java threads dibuat dengan :

� Class Thread� Mengimplementasikan antar muka yang Runnable

� Java thread dikelola oleh JVM.

5.19

State pada Java Thread

5.20