You are on page 1of 24

Chapter

4
www.themegallery.com
www.themegallery.com
Bahasa Bahasa
n n
Proses dan Thread
SMP
Microkernel
Bedah OS:
Windows
Solaris
Linux
www.themegallery.com
enda enda
Proses dan Thread
MultiThreadin
unsionalitas Thread
* Status thread
* Sinkronisasi thread
Contoh aplikasi : dobe PaeMaker
Jenis thread :
* User-Level Thread (ULT)
* Kernel-Level Thread (KLT)
* Kombinasi ULT dan KLT
Model thread lainnya
* Relasi Satu ke Banyak
* Relasi Banyak ke Banyak
SMP

MCROKERNEL
BED OS
www.themegallery.com
Proses adalah proram dalam eksekusi.
Suatu proses adalah lebih dari kode proram,
dimana kadan kala dikenal sebaai baian tulisan.
Proses jua termasuk aktivitas yan sedan terjadi,
Suatu proses umumnya jua termasuk process
stack, yan berisikan data temporer (seperti
parameter metoda, address yan kembali, dan
variabel lokal) dan sebuah data section, yan
berisikan
variabel lobal.
Process Process
www.themegallery.com
Konsep Konsep
Proses Proses
* KEPEMLKN RESOURCE:
Process memerlukan ruan alamat virtual untuk menyimpan
process imae
Process imae = proram + data + stack + PCB
Unit terkecil yan dapat memiliki resource adalah proses
atau task
Resource = memori, /O channel, /O device, file, CPU, dll
* PENJDWLN / EKSEKUS :
Menikuti jalur eksekusi (trace)
Eksekusi suatu proses bisa secara interleavin (selan-
selin)
denan proses lain
Thread = pecahan dari suatu proses yan dapat
dijadwalkan
atau dieksekusi = lihtweiht process (LWP)
www.themegallery.com
dalah sebuah alur kontrol dari sebuah proses.
Suatu proses yan multithreaded menandun
beberapa perbedaan alur kontrol denan ruan
alamat yan sama.
Keuntunan dari multithreaded meliputi peninkatan
respon dari user, pembaian sumber daya proses,
ekonomis, dan kemampuan untuk menambil
keuntunan dari arsitektur multiprosesor.
Threads Threads
www.themegallery.com
Multithreadin Multithreadin
* Merupakan kemampuan sistem operasi dalam
meneksekusi banyak thread yan berasal dari sebuah proses
* OS Tradisional :
Satu proses hanya terdiri dari satu thread
MS-DOS : hanya satu proses dan tiap proses hanya
satu thread
UNX tradisional : banyak proses, tetapi tiap proses
hanya satu thread
* OS Modern :
Banyak proses dan tiap proses terdiri dari banyak thread
Misal : Windows, Solaris, Linux, Mac OS, dan OS/2
www.themegallery.com
www.themegallery.com
Model Thread
Thread Control Block (TCB) = isi reister + prioritas + info
thread
lainnya
www.themegallery.com
unsi Threads
* Pembentukan suatu thread jauh lebih cepat daripada
pembentukan proses baru
Penelitian menunjukkan pembentukan thread 10x
lebih cepat daripada pembentukan proses
* Terminasi suatu thread jauh lebih cepat daripada terminasi
proses
* Perpindahan eksekusi antar thread jauh lebih cepat
* ntar thread dapat berkomunikasi tanpa melibatkan kernel
Sebaai efek dari penunaan share memori dan file
www.themegallery.com
unsi Threads
* Pembentukan suatu thread jauh lebih cepat daripada
pembentukan proses baru
Penelitian menunjukkan pembentukan thread 10x
lebih cepat daripada pembentukan proses
* Terminasi suatu thread jauh lebih cepat daripada terminasi
proses
* Perpindahan eksekusi antar thread jauh lebih cepat
* ntar thread dapat berkomunikasi tanpa melibatkan kernel
Sebaai efek dari penunaan share memori dan file
www.themegallery.com
Contoh Penunaan Contoh Penunaan
Threads Threads
* ktifitas foreround dan backround
* MS Excel : tiap satu tuas dilakukan oleh satu thread
- Tampilkan menu
- Baca inputan dari user
- Eksekusi perintah user
- Update data
* Pemrosesan synchronous
* MS Word : proteksi data jika listrik tiba-tiba padam
- da thread yan tuasnya khusus untuk melakukan
penyimpanan data dari RM ke harddisk secara
periodik
- Jadwal thread lansun dikendalikan oleh sistem
operasi
www.themegallery.com
Contoh Penunaan Contoh Penunaan
Threads Threads
* Percepatan eksekusi
- da thread yan bertuas melakukan penolahan data
dan dalam waktu bersamaan ada thread yan bertuas
menambil data berikutnya yan akan diolah
- ile server
* Setiap ada request dari user dibentuk satu thread baru
* Bila request telah selesai, maka thread diterminasi
* Struktur proram Modular
- Thread diterapkan pada aplikasi denan berbaai macam
aktifitas dan bermacam - macam input dan output
www.themegallery.com
Sinkronisasi Threads Sinkronisasi Threads
* Thread menunakan ruan alamat memori yan sama
maka bila terjadi perubahan data pada suatu resource
dapat mempenaruhi thread yan lain
* Baaimana aar antar thread tidak salin menanu
dan tidak salin memperebutkan resource ?
- Diunakan metode sinkronisasi yan mirip denan
sinkronisasi yan diunakan pada proses
www.themegallery.com
Contoh plikasi : dobe Contoh plikasi : dobe
Paemaker Paemaker
* dobe PaeMaker
merupakan aplikasi untuk menulis,
merancan, dan menhasilkan
desktop publishing
* plikasi berjalan pada shared
system pada sistem operasi OS/2
* Terdiri dari 3 thread yan
selalu aktif :
- Service thread
- Event-handlin thread
- Screen-redraw thread
www.themegallery.com
Jenis Threads Jenis Threads
* User - Level Thread (ULT)
- Semua manajemen thread dilakukan oleh proram
aplikasi
- Tidak ada code proram untuk menatur thread
pada proram kernel
* Kernel-Level Thread (KLT)
- Kernel supported threads = lihtweiht process
- Semua manajemen thread dilakukan oleh kernel
- Tidak ada code proram untuk menatur thread
pada proram aplikasi
www.themegallery.com
User Level Threads (ULT) User Level Threads (ULT)
* Jumlah thread sudah direncanakan sejak
membuat proram aplikasi
* Terdapat thread library pada
kode proram
* Relasi antara thread user : thread
kernel adalah M:1
* si thread library adalah kode proram untuk :
- Membentuk dan menhapus thread
- Melewatkan pesan dan data antar thread
- Menjadwalkan eksekusi thread
- Menyimpan dan menambil konteks thread
* Contoh OS: POSX (Pthread), Mach (C-thread), dan
Solaris 2 (U-thread)
www.themegallery.com
User Level Threads (ULT) User Level Threads (ULT)
* Prosedur eksekusi ULT
- Mula-mula proram aplikasi dieksekusi hanya denan
satu
thread
- Pada saat aplikasi tersebut dieksekusi thread berikutnya
dibuat (bila diperlukan)
* Pembuatan thread baru dilakukan denan cara
memanil utility yan ada di thread library
* Pada saat library dieksekusi > konteks (user reister,
PC,
dan stack pointer) thread yan sedan runnin
disimpan
* Thread library membuat struktur data baru untuk setiap
thread yan dibentuk
* Setelah thread library selesai > konteks thread yan
www.themegallery.com
Contoh hub. antara status ULT
denan status Proses
Contoh hub. antara status ULT
denan status Proses
www.themegallery.com
Kernel Level Threads (KLT) Kernel Level Threads (KLT)
* Jumlah thread sudah
direncanakan sejak membuat
proram aplikasi
* Kernel menanani isi konteks
proses dan setiap thread
* Penjadualan bukan berbasis pada
proses tetapi berbasis pada thread
* Relasi antara thread user :
thread kernel adalah 1:1
* Model KLT diunakan pada sistem
operasi Windows NT, Windows
2000,
Solaris 2, BeOS, Tru64 UNX, OS/2
www.themegallery.com
Kelebihan KLT dibandin
ULT
Kelebihan KLT dibandin
ULT
* Thread-thread yan berasal dari sebuah proses
dapat
dieksekusi pada prosesor berbeda secara
bersamaan
* Thread yan melakukan service call tidak
menyebabkan proses terblok, thread lainnya dalam
satu proses masih dapat dieksekusi
* Routine kernel dapat terdiri dari banyak thread
www.themegallery.com
Kekuranan KLT dibandin ULT Kekuranan KLT dibandin ULT
* Perpindahan eksekusi dari satu thread ke thread
lainnya menyebabkan overhead akibat mode switch
* loritma penjadwalan eksekusi suatu aplikasi
harus
menikuti aloritma penjadwalan sistem operasi
- Tidak fleksibel
* KLT tidak dapat dijalankan pada sistem operasi
berbeda-beda, karena terantun pada kernel
masin-masin
www.themegallery.com
Kombinasi ULT dan KLT Kombinasi ULT dan KLT
* Pembentukan thread dilakukan
pada aplikasi (user space)
* Penjadualan dan sinkronisasi
dilakukan pada level aplikasi
* Beberapa thread ULT dari sebuah
aplikasi dipetakan ke sejumlah
thread KLT (jumlahnya sama atau
lebih kecil)
* Relasi antara thread user :
thread kernel adalah M:N
* Model kombinasi diunakan pada
sistem operasi Solaris 2, RX,
P-UX, dan Tru64 UNX
www.themegallery.com
Kelebihan kombinasi ULT dan KLT Kelebihan kombinasi ULT dan KLT
* Prorammer dapat menatur jumlah KLT
berdasarkan aplikasi atau mesin yan akan
diunakan untuk mendapatkan hasil optimum
* Beberapa thread dari sebuah aplikasi dapat
dieksekusi secara bersamaan pada sistem
multiprocessor
* Thread yan melakukan system call (perlu /O
device)
tidak menyebabkan proses terblok
* Performansinya lebih baik dibandin ULT maupun
KLT

You might also like