NIM
: 125150205111004
Kelas : TIF-D
TUGAS SISTEM OPERASI
1. Jelaskan perbedaan mendasar dari proses dan thread!
Jawab :
- Secara informal, proses adalah program yang sedang dieksekusi. Proses
berbeda dengan program. Proses disini maksudnya adalah saat kita
menjalankan suatu program, maka akan terjadi proses sehingga program yg
dijalankan akan terbuka. Ada dua jenis proses, proses berat (heavyweight)
atau biasa dikenal dengan proses tradisional, dan proses ringan atau kadang
disebut thread. Thread, atau kadang-kadang disebut proses ringan
(lightweight), adalah unit dasar dari utilisasi CPU. Di dalamnya terdapat ID
thread, program counter, register, dan stack. Dan saling berbagi dengan
thread lain dalam proses yang sama. atau sebuah pengontrol aliran program
pelaksanaan program dengan menggunakan kendali tunggal atau sebuah
-
dari prosesnya.
Proses : memiliki overhead sedangkan Threads : hamper tidak memiliki
overheads.
sedikit.
Proses : Waktu yang dibutuhkan untuk mengakhiri proses lebih lama
sedangkan threads : Waktu yang dibutuhkan untuk mengakhiri thread lebih
sedikit.
2. Pada sistem yang menggunakan threads manakah yang digunakan satu stack
untuk setiap thread atau satu stack untuk setiap proses. Jelaskan!
Jawab :
Satu stack untuk setiap thread, karena dalam satu proses terdiri dari banyak
thread maka thread thread itulah yang perlu di maksukan ke dalam stack untuk
disimpan sebelum dijalankan bukan prosesnya.
3. Kesimpulan apakah yang bisa anda tarik pada Hukum Ahmdals?
Hukum Amdahls (Amdahls Law) adalah Mengidentifikasi keuntungan kinerja dari
menambahkan core tambahan ke aplikasi yang memiliki komponen baik serial
dan paralel. Hukum Amdahl adalah prinsip dasar dalam peningkatan kecepatan
proses suatu computer jika hanya sebagian dari peralatan hardware ataupun
software yang diperbaharui/ditingkatkan kinerjanya. Jadi, jika suatu processor
memiliki jumlah core yang besar, itu tidak akan menjamin bahwa kecepatan
computer akan cepat. Karena nantinya akan dibagi sama jumlah processornya
sehingga akan mendekati dengan 0 jika dibagi dan menjadi
1
s .
Dimana :
S : Serial Proses
N : Jumlah Core
4. Dalam Unix dikelan fork ( ) dan exec ( ). Jelaskan. Berikan penjelasan pula
berkaitan dengan fork ( ) dan exec ( ) dalam hubungannya dengan thread?
Jawab :
fork() berfungsi untuk membuat proses baru sedangkan exec () yang berguna
untuk membuat proses turunan yang terbentuk memiliki instruksi yang berbeda
dengan proses induknya. Terdapat dua kemungkinan dalam sistem UNIX jika
fork dipanggil oleh salah satu thread dalam proses:
- Semua thread diduplikasi.
- Hanya thread yang memanggil fork.
Jika suatu thread memanggil System Call exec maka program yang dispesifikasi
dalam parameter exec, akan mengganti keseluruhan proses termasuk thread.
Penggunaan dua versi dari fork di atas tergantung dari aplikasi. Kalau exec
dipanggil seketika sesudah fork, maka duplikasi seluruh thread tidak dibutuhkan,
karena program yang dispesifikasi dalam parameter exec akan mengganti
seluruh proses. Pada kasus ini cukup hanya mengganti thread yang memanggil
fork. Tetapi jika proses yang terpisah tidak memanggil exec sesudah fork maka
proses yang terpisah tersebut hendaknya menduplikasi seluruh thread.
atau
lebih
proses
mengakses shared memory/sumber daya pada saat yang bersamaan dan hasil
akhir dari data tersebut tergantung dari proses mana yang terakhir selesai
dieksekusi sehingga hasil akhirnya terkadang tidak sesuai dengan yang
dikehendaki.
6. Apakah yang dimaksud dengan deadlock dan starvation, jelaskan !
Jawab :
Deadlock
Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu
proses yang lain untuk melepaskan resource yang sedang dipakai. Karena
beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja
proses-proses tersebut. Deadlock adalah masalah yang biasa terjadi ketika
banyak proses yang membagi sebuah resource yang hanya boleh dirubah oleh
satu proses saja dalam satu waktu. Di kehidupan nyata, deadlock dapat
digambarkan dalam gambar diatas, deadlock dianalogikan sebagai dua antrian
mobil yang akan menyeberangi jembatan. Dalam kasus diatas, antrian di sebelah
kiri menunggu antrian kanan untuk mengosongkan jembatan (resource), begitu
juga dengan antrian kanan. Akhirnya tidak terjadi kemajuan dalam kerja dua
antrian tersebut. Misal ada proses A mempunyai resource X, proses B
mempunyai resource Y. Kemudian kedua proses ini dijalankan bersama, proses
A memerlukan resource Y dan proses B memerlukan resource X, tetapi kedua
proses tidak akan memberikan resource yang dimiliki sebelum proses dirinya
sendiri selesai dilakukan. Sehingga akan terjadi tunggu-menunggu.
Starvation
Sedangkan Starvation adalah kondisi yang biasanya terjadi setelah deadlock.
Proses yang kekurangan resource (karena terjadi deadlock) tidak akan pernah
mendapat resource yang dibutuhkan sehingga mengalami starvation (kelaparan).
Namun, starvation juga bisa terjadi tanpa deadlock. Hal ini ketika terdapat
kesalahan
dalam
sistem
sehingga
terjadi
ketimpangan
dalam
nyata
dapat
dilihat
Pada
gambar
diatas,
pada
antrian
kanan
terjadi starvation karena resource (jembatan) selalu dipakai oleh antrian kiri, dan
antrian kanan tidak mendapatkan giliran.
7. Apakah yang dimaksud dining philosoper problem, jelaskan!
Jawab :
? berikan
penjelasan!
Jawab :
Deteksi Deadlock dilakukan oleh Lock Monitor Thread, secara periodic
menginisiasi pencarian ke semua tasks di dalam instance database engine.
Proses pencarian dideskripsikan sebagai berikut :
Default interval 5 detik.