IF524 – Sistem Operasi

4/

1- 15

PROCESS DAN THREADS PROCESS − Multiprogramming − Pseudoparallelism − Multiprocessor MODEL PROSES − Sequential process − Multiprogramming − CPU switching − Program counter

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002

IF524 – Sistem Operasi

4/

2- 15

− Process vs program PROCESS CREATION − Events yang menyebabkan penciptaan proses: 1. Inisialisasi sistem 2. Eksekusi sistem call 3. Permintaan user 4. Inisiasi batch job
Edisi : 1 BINA NUSANTARA Revisi : 2 Sept - 2002

IF524 – Sistem Operasi

4/

3- 15

− Foreground vs background process − Fork system call PROCESS TERMINATION − Kondisi yang menyebabkan proses berhenti: 1. Normal exit (voluntary) 2. Error exit (voluntary) 3. Fatal error (voluntary) 4. Killed by another process (voluntary) PROCESS HIERARCHIES − Parent process menciptakan child process − Child process dapat menciptakan proses selanjutnya − Membentuk suatu hirarki − Pada Unix disebut “process group” − Misal: init − Windows tidak memiliki konsep hirarki proses

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002

IF524 – Sistem Operasi

4/

4- 15

PROCESS STATES − Kemungkinan proses states antara lain: o Running o Blocked o Ready − Transisi antar states:

− Layer terbawah dari struktur proses menangani interrupt dan scheduling − Layer diatasnya adalah proses sekuensial

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002

IF524 – Sistem Operasi

4/

5- 15

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002

IF524 – Sistem Operasi

4/

6- 15

IMPLEMENTASI PROSES

Proses table/process control block ⇒ berisi informasi tentang proses, dengan field sbb:

− Interrupt vector
Edisi : 1 BINA NUSANTARA Revisi : 2 Sept - 2002

IF524 – Sistem Operasi

4/

7- 15

− Interrupt handling and scheduling:

THREADS − Multiple threads of control in the same address space in quasi-parralel, as though they are separate processes THREAD MODEL − Thread memungkinkan multiple execution terjadi pada environment proses yang sama − Lightweight process ⇒ karena thread memiliki beberapa sifat proses − Multithreading ⇒ Beberapa thread pada proses yang sama

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002

IF524 – Sistem Operasi

4/

8- 15

(a) Tiga proses dengan satu threads (b) Satu process dengan tiga threads

Multithreading ⇒ Beberapa thread pada proses yang sama

− Items yang dimiliki semua thread dalam satu proses dan items yang khusus dimiliki oleh masing-masing thread adalah sbb:

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002

IF524 – Sistem Operasi

4/

9- 15

− Masing-masing thread memiliki stack

PEMAKAIAN THREADS − Alasan pemakaian threads:  Multiple sequential threads bisa dijalankan secara quasi-parallel   Lebih mudah di-create dan di-delete Performance

 Lebih sesuai diterapkan pada sistem dengan multiple CPU
Edisi : 1 BINA NUSANTARA Revisi : 2 Sept - 2002

IF524 – Sistem Operasi

4/

1015

− Suatu word processor dengan tiga threads:

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002

IF524 – Sistem Operasi

4/

1115

− Multithreaded web server:

(a) Dispatcher thread (b) worker thread
Edisi : 1 BINA NUSANTARA Revisi : 2 Sept - 2002

IF524 – Sistem Operasi

4/

1215

− Tiga cara untuk membangun server:

IMPLEMENTASI THREADS PADA USERSPACE

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002

IF524 – Sistem Operasi

4/

1315

− Kelebihan:  Proses dapat memiliki algoritma penjadwalan tersendiri (customised)  Performance

− Kekurangan:  Implementasi blocking system calls  Jika suatu thread dijalankan, thread yang lain tidak dapat dijalankan

Jacket/Wrapper ⇒ code yang diletakkan sekitar system call

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002

IF524 – Sistem Operasi

4/

1415

IMPLEMENTASI THREADS PADA KERNEL

− Kelebihan:
BINA NUSANTARA Revisi : 2

Edisi : 1

Sept - 2002

IF524 – Sistem Operasi

4/

1515

 Tidak memerlukan non-blocking system calls yang baru − Kekurangan:  Greater cost of creating and destryoing threads IMPLEMENTASI HYBRID − Kombinasi antara user-level threads dan kernel-level threads

Edisi : 1

BINA NUSANTARA Revisi : 2

Sept - 2002