T0542 / 03 - 01 PROCESS DAN THREADS PROCESS • Multiprogramming • Pseudoparallelism • Multiprocessor MODEL PROSES • Sequential process • Multiprogramming • CPU switching • Program counter T0542 / 03 - 02 • Process vs program T0542 / 03 - 03 PROCESS CREATION • Events yang menyebabkan penciptaan proses: 1. Inisialisasi sistem 2. Eksekusi sistem call 3. Permintaan user 4. Inisiasi batch job • Foreground vs background process • Fork system call PROCESS TERMINATION • Kondisi yang menyebabkan proses berhenti: 1. Normal exit (voluntary) 2. Error exit (voluntary) • Fatal error (voluntary) • Killed by another process (voluntary) T0542 / 03 - 04 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 PROCESS STATES • Kemungkinan proses states antara lain: 1. Running 2. Blocked 3. Ready T0542 / 03 - 05 • Transisi antar states: • Layer terbawah dari struktur proses menangani interrupt dan scheduling • Layer diatasnya adalah proses sekuensial T0542 / 03 - 06 IMPLEMENTASI PROSES • Proses table/process control block berisi informasi tentang proses, dengan field sbb: T0542 / 03 - 07 • Interrupt vector • Interrupt handling and scheduling: T0542 / 03 - 08 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 (a) Tiga proses dengan satu threads (b) Satu process dengan tiga threads T0542 / 03 - 09 • 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: T0542 / 03 - 010 • Masing-masing thread memiliki stack T0542 / 03 - 011 PEMAKAIAN THREADS Alasan pemakaian threads: • Multiple sequential threads bisa dijalankan secara quasiparallel • Lebih mudah di-create dan di-delete • Performance • Lebih sesuai diterapkan pada sistem dengan multiple CPU T0542 / 03 - 012 • Suatu word processor dengan tiga threads: T0542 / 03 - 013 • Multithreaded web server: (a) Dispatcher thread (b) worker thread T0542 / 03 - 014 • Tiga cara untuk membangun server: T0542 / 03 - 015 IMPLEMENTASI THREADS PADA USER-SPACE T0542 / 03 - 016 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 T0542 / 03 - 017 IMPLEMENTASI THREADS PADA KERNEL Kelebihan: • Tidak memerlukan non-blocking system calls yang baru Kekurangan: • Greater cost of creating and destryoing threads T0542 / 03 - 018 IMPLEMENTASI HYBRID • Kombinasi antara user-level threads dan kernel-level threads
© Copyright 2024 Paperzz