Anda di halaman 1dari 4

Nama : Sri Rahayu Indal Fatra

Nim : D121181011
Departemen : Teknik Informatika

“ SISTEM OPERASI “
Latihan Bab 4
1. Berikan tiga contoh pemrograman yang menyediakan multithreading kinerja yang lebih baik
daripada solusi single-threaded.
Jawaban :
a. Dalam lingkungan server web, sejumlah pengguna meminta aplikasi. Jadi, ketika palikasi
apapun dijalankan melalui server web, sejumlah thread berbeda dijalankan untuk
pengguna yang berbeda.
b. Dalam antarmuka pengguna grafis, thread berbeda dijalankan untuk tugas yang berbeda.
Misalnya, thread pertama digunakan untuk memperbaiki bug, thread kedua bertanggung
jawab untuk pelaksanaan program, dan yang lainnya bertanggung jawab atas kinerja
program.
c. Jika ada program yang dijalankan hanya dengan menggunakan satu thread, maka ketika
thread tersebut diblokir, aplikasi total akan berhenti merespon. Jadi, dapat dikatatakan
bahwa kinerja multi-threading jauh lebih baik daripada system dengan single thread.

2. Menggunakan Hukum Amdahl, hitunglah perolehan percepatan aplikasi itu memiliki


komponen parallel 60 persen untuk :
(a) Dua inti pemrosesan
(b) Empat inti pemrosesan
Jawaban :
Sesuai rumus hukum Amdahl untuk perolehan speedup suatu aplikasi adalah
speedup <= 1 / (S + (1 - S) / N) di mana, S adalah bagian dari aplikasi yang harus dilakukan
secara seri dan N adalah no . inti pemrosesan.
a. Untuk dua inti pemrosesan dan komponen paralel 60 persen, S adalah 40 persen yaitu 0,4
dan N adalah 2.
• Speedup :
= 1 / (0.4 + (1-0.4) / 2
• Speedup
= 1.428
• Gain speedup adalah 1.428 kali.
b. Untuk empat inti pemrosesan dan komponen paralel 60 persen Di sini, S adalah 40 persen
yaitu 0,4 dan N adalah 4
• Speedup
= 1 / (0,4 + (1-0,4) / 4)
• Speedup
= 1,81
• Gain speedup adalah 1,81 kali.

3. Apakah server web multithreaded dijelaskan dalam bagian 1 tugas pameran atau paralelisme
data ?
Jawaban :
Server web multithreaded dalam tugas nomor 1 adalah Task Parallelism. Dalam utas
tunggal, utas yang dibuat hanya mampu melakukan satu tugas, sedangkan multithreaded
membuat utas sedemikian rupa sehingga mampu melakukan multitask pada saat yang
mengarah pada kinerja yang lebih baik.

4. Apakah dua perbedaan antara utas level pengguna dan level kernel utas ? Dalam keadaan apa
salah satu jenis lebih baik dari yang lain ?
Jawaban :
Berikut ini adalah perbedaan antara utas tingkat pengguna dan utas tingkat kernel:

Utas Tingkat Pengguna Utas Tingkat Kernel

Keberadaan utas tingkat pengguna tidak Keberadaan utas tingkat kernel diketahui
diketahui oleh kernel. oleh kernel.
Utas tingkat pengguna dikelola tanpa Utas tingkat kernel dikelola oleh sistem
dukungan kernel. operasi.
Utas tingkat pengguna lebih cepat untuk Utas tingkat kernel adalah utas tingkat
dibuat daripada utas tingkat kernel. pengguna.
Utas tingkat pengguna dijadwalkan oleh
Utas tingkat kernel dijadwalkan oleh kernel.
pustaka utas.

Keadaan di mana utas tingkat kernel lebih baik daripada utas tingkat pengguna :
• Jika kernel adalah utas tunggal, maka utas level kernel lebih baik daripada utas level
pengguna, karena utas level pengguna yang melakukan panggilan sistem pemblokiran
akan menyebabkan seluruh proses memblokir, bahkan jika utas lain tersedia untuk
dijalankan dalam aplikasi.
• Misalnya proses P1 memiliki 2 utas tingkat kernel dan proses P2 memiliki 2 utas tingkat
pengguna. Jika satu utas di P1 diblokir, utas kedua tidak terpengaruh. Tetapi dalam kasus
P2 jika satu utas diblokir (katakan untuk I / O), seluruh proses P2 bersama dengan utas 2
akan diblokir.
• Dalam lingkungan multiprosesor, utas level kernel lebih baik daripada utas level
pengguna, karena utas level kernel dapat berjalan pada prosesor yang berbeda secara
bersamaan sementara utas tingkat pengguna dari suatu proses akan berjalan pada satu
prosesor saja bahkan jika banyak prosesor tersedia.

5. Jelaskan tindakan yang dilakukan oleh kernel untuk beralih konteks antara utas kernel level.
Jawaban :
Kernel adalah kepala dari setiap sistem operasi. Sejumlah utas dengan tugas berbeda
dijalankan oleh kernel. Interupsi yang dihasilkan oleh multi-threading ditangani oleh kernel.
Ketika sakelar konteks terjadi di antara utas level kernel, kernel menangguhkan semua utas
dan nilainya masing-masing dari register unit pemrosesan pusat (CPU). Utas yang baru
dijadwalkan akan mengembalikan nilai dalam register.
Untuk kernel, waktu eksekusi adalah masalah utama. Jika proses baru dibuat untuk
eksekusi, bukan utas, itu menjadi lebih memakan waktu. Jadi, konteks yang tersimpan dalam
register CPU diaktifkan. Atau Pergantian konteks antara utas-utas kernel biasanya
membutuhkan penyimpanan nilai register CPU dari utas yang dialihkan dan mengembalikan
register CPU dari utas baru yang dijadwalkan.
6. Sumber daya apa yang digunakan saat utas dibuat ? Bagaimana mereka berbeda ? dari yang
digunakan saat proses dibuat ?
Jawaban :
Thread adalah unit dasar pemanfaatan CPU, juga dikenal sebagai proses yang ringan.
Jadi, membuat pengguna atau utas kernel melibatkan pengalokasian struktur data kecil untuk
menyimpan ID utas, program counter, set register, tumpukan dan prioritas, sedangkan
menciptakan proses melibatkan pengalokasian struktur data besar yang disebut PCB
(Process Control Block) yang meliputi peta memori, daftar file yang terbuka, dan variabel
lingkungan. Mengalokasikan dan mengelola peta memori biasanya merupakan aktivitas yang
paling memakan waktu.
Sumber daya sistem operasi lain seperti file terbuka dan sinyal dengan utas lain yang
termasuk dalam proses yang sama sedangkan setiap proses memiliki bagian kode yang
terpisah, bagian data dan sumber daya sistem operasi.

7. Asumsikan bahwa sistem operasi memetakan utas tingkat pengguna ke kernel menggunakan
model banyak-ke-banyak dan pemetaan dilakukan melalui LWP. Selanjutnya, sistem ini
memungkinkan pengembang untuk membuat waktu nyata utas untuk digunakan dalam sistem
waktu nyata. Apakah perlu untuk mengikat waktu nyata utas ke LWP ? Jelaskan.
Jawaban :
Ya, waktu sangat penting untuk aplikasi waktu nyata. Jika utas bersifat real-time tetapi
tidak terikat pada LWP, ia mungkin harus menunggu untuk dilampirkan ke LWP sebelum
dijalankan. Dengan mengikat LWP ke utas realtime, Anda memastikan utas akan dapat
berjalan dengan penundaan minimal setelah dijadwalkan. Dan dalam aplikasi yang didasarkan
pada pemrosesan waktu nyata, waktu memainkan peran penting untuk eksekusi. Thread
adalah bagian dari proses dan juga dikenal sebagai proses bobot ringan (LWP).
Ketika utas terlihat sebagai utas waktu nyata tetapi proses yang ringan tidak dibatasi
dengan utas ini, maka, utas tersebut harus menunggu lampiran LWP. Ketika LWP dilampirkan
ke utas apa pun, prioritas utas itu menjadi lebih tinggi. Jadi, dalam kondisi kunci mati, jika
utas memiliki LWP, utas memiliki waktu tunggu minimum untuk eksekusi dan waktu
disimpan. Dengan demikian, dapat dikatakan thread terpasang LWP diperlukan dalam sistem
waktu nyata.

Anda mungkin juga menyukai