MATERI 4
RISKY FERNANDO
20066044
D3 TEKNIK ELEKTRONIKA
Ikhtisar
Microkernel
Windows
Solaris
Linux
Resource ownership (kepemilikan sumber daya) – proses mempunyai ruang alamat virtual untuk menangani image proses yang didefinisikan dalam PCB
Scheduling-execution (penjadwalaneksekusi) – Mengikuti suatu path eksekusi (trace), ada pergatian dari satu proses ke lainnya
Unit dari kepemilikan sumber daya diacu sebagai proses atau task
Multithreading
Beberapa UNIX, mendukung banyak proses pengguna (user process) tetapi hanya mendukung satu thread
per-proses.
Pendekatan Multithreading
Java run-time environment (JRE) merupakan proses tunggal dengan banyak thread
Banyak proses & thread dijumpai di Windows, Solaris, & versi modern dari UNIX
(termasuk Linux)
Proses
Akses terproteksi ke
Processor,
Proses lain,
2
File,
Stack eksekusi
Akses terhadap memory & sumber daya dari prosesnya (semua thread dari proses saling berbagi pakai)
Satu Pandangan…
• Salah satu cara memandang thread adalah sebagai suatu program counter independen yang beroperasi di dalam proses.
3
Thread vs. Proses
4
Keuntungan dari Thread
Switching antara dua thread lebih singkat daripada switching antar proses
Pemrosesan asynchronous
Kecepatan eksekusi
Penanganan Thread
Contoh:
Mensuspend suatu proses berarti mensuspend semua thread dari proses tersebut
Menghentikan suatu proses akan menghentikan semua thread di dalam proses tersebut
5
Thread mempunyai status eksekusi dan dapat sinkron satu dengan lainnya.
Menyerupai proses
Status
Sinkronisasi
Block
Unblock
Finish (thread)
• Anggap:
6
RPC dengan Thread Tunggal
7
Multithreading pada Uniprocessor
Adobe PageMaker
8
Kategori Implementasi Thread
User-Level Thread
9
Hubungan antara ULT Status Thread & Proses
10
Kernel-Level Thread
– Manajemen thread
Kernel dapat secara simultan menjadwal banyak thread dari proses yang sama pada banyak processor.
Jika satu thread dalam suatu proses diblock, kernel dapat menjadwal thread yang lain dari proses yang sama.
• Transfer kontrol dari satu thread ke lainnya di dalam proses yang sama mengharuskan switch modus ke kernel
11
Pendekatan Gabungan
Contoh: Solaris
Symmetric Multiprocessing
Processor mengeksekusi satu demi satu instruksi (satu pada satu waktu) secara urut
(sequence)
Processor tunggal mengeksekusi stream intruksi tunggal untuk beroperasi pada data yang disimpan dalam memory tunggal
Setiap instruksi dieksekusi pada himpunan data berbeda oleh processor berbeda
12
Kategori Sistem Komputer (2)
– Serangkaian data ditransmisikan ke suatu himpunan processor, masing-masing mengeksekusi rangkaian instruksi berbeda
– Sekumpulan processor secara simultan mengeksekusi rangkaian instruksi berbeda pada kumpulan data berbeda
13
Arsitektur Processor Parallel
14
Symmetric Multiprocessing
Biasanya setiap processor melakukan self-scheduling dari pool proses atau thread yang tersedia
15
Organisasi SMP (Typical)
16
Rancangan SO Multiprocessor
Scheduling (penjadwalan)
Synchronization (sinkronisasi)
Manajemen Memory
Microkernel
Microkernel merupakan suatu inti SO kecil yang menyediakan fondasi bagi ekstensiekstensi modular.
Pertanyaan besar: seberapa kecil harusnya suatu kernel agar dapat disebut sebagai microkernel
Dalam teori, pendekatan ini memberikan fleksibilitas & modularitas derajat tinggi.
Arsitektur Kernel
17
Rancangan Microkernel:
Manajemen Memory
Manajemen memory level bawah (lowlevel): Memetakan setiap page virtual ke frame fisik
Rancangan Microkernel:
18
Body yang mengandung data langsung, pointer ke suatu block data, atau beberapa informasi kontrol mengenai proses.
Rancangan Microkernal:
Di dalam mikrokernel, adalah mungkin menangani interupsi hardware sebagai message dan menyertakan port I/O dalam ruang alamat.
Proses user-level tertentu dilewatkan ke interrupt & kernel memelihara pemetaan tersebut.
Keuntungan dari
Organisasi Microkernel
Extensibility
Flexibility
Portability
Reliability
Studi Kasus:
19
Apakah thread disediakan
Mekanisme apa yang digunakan bagi komunikasi & sinkronisasi antar proses
Proses Windows
• Proses & service disediakan oleh kernel Windows relatif sederhana dan bertujuan umum (simple & general purpose)
20
Hubungan Proses & Resource
21
Obyek Proses Windows
22
Obyek Thread Windows
23
Status Thread
24
Dukungan SMP Windows
Pertalian soft
Dispatcher mencoba untuk melewatkan suatu thread ready ke processor yang sama saat berjalan terakhir.
Ini membantu reuse data masih dalam yang cache memory processor dari eksekusi thread sebelumnya.
Pertalian hard
Solaris
Solaris mengimplementasikan dukungan thread multilevel yang dirancang untuk menyediakan fleksibilitas dalam mengeksploitasi sumber daya processor.
Proses Solaris
Lightweight process: suatu pemetaan antara thread ULT & kernel. – Thread kernel
25
Hubungan Proses & Thread
26
Unix vs Solaris Tradisional
Solaris replaces
the processor state
block with a list of
27
LWPs
28
Tugas (task) Linux
Status
Pengenal (identifier)
Dan lain-lain
29
Model Proses/Thread Linux
30
Tugas Pertemuan 4
Baca tutorial Thread Programming di Java & C/C++, buat rangkumannya, sebutkan sumber bacaan anda secara jelas!
Jelaskan tentang Mikrokernel, mencakup kelebihannya, kinerja, rancangan, manajemen memory, komunikasi antar proses, manajemen I/O & Interupsi!
31