Kamis, 17 September 2009

Sistem Operasi bab 3

1. Sebutkan state pada proses dan jelaskan diagram proses
State pada proses terdiri dari :
a. New: proses sedang dibuat.
b. Running: proses sedang dieksekusi.
c. Waiting: proses sedang menunggu beberapa event yang akan terjadi (seperti
menunggu untuk menyelesaikan I/O atau menerima sinyal).
d. Ready: proses menunggu jatah waktu dari CPU untuk diproses.
e. Terminated: proses telah selesai dieksekusi.


2. Apa yang dimaksud short term scheduler dan long term scheduler ?
Terdapat dua bentuk penjadwal, yaitu:
a. Longterm-Scheduler (job scheduler), menyeleksi proses-proses mana yang harus
dibawa ke ready queue. long-term scheduler terjadi sangat jarang (dalam
detik atau menit), sehingga setiap proses dijadwal dengan lambat. Long-term scheduler
digunakan untuk mengontrol tingkat multiprogramming.
b. Short-term Scheduler (CPU scheduler), memilih proses-proses yang siap untuk
dieksekusi, dan mengakolakasikan CPU ke salah satu dari proses-proses tersebut. Short-term scheduler terjadi sangat sering (dalam milidetik), jadi setiap proses dijadwal dengan cepat,

3. Jelaskan 4 alasan mengapa proses harus bekerja sama.
Keuntungan proses harus saling bekerja sama adalah
1. terjadi pembagian informasi antara satu proses dengan proses yang lain.
2. meningkatkan kecepatan komputasi dalam menyelesaikan suatu proses.
3. proses dapat dibagi dalam modul-modul.
4. lebih memberikan kenyamanan pada programmer.

4. Tuliskan kode program untuk penyelesaian permasalahan producer consumer dengan menggunakan shared memory.
#define BUFFER_SIZE 10
Typedef struct {
. . .
} item;
item buffer[BUFFER_SIZE];
int in = 0;
int out = 0;
Proses producer :
item nextProduced;
while (1) {
while (((in + 1) % BUFFER_SIZE) == out)
; /* do nothing */
buffer[in] = nextProduced;
in = (in + 1) % BUFFER_SIZE;
}
Proses consumer :
item nextConsumed;
while (1) {
while (in == out)
; /* do nothing */
nextConsumed = buffer[out];
out = (out + 1) % BUFFER_SIZE;
}

5. Diketahui skema komunikasi antar proses menggunakan mailbox
a. Proses P ingin menunggu 2 pesan, satu dari mailbox A dan satu dari mailbox B.
Tunjukkan urutan send dan receive yang dieksekusi
Send (A pesan ); mengirim pesan ke mailbox A,
Receive(A pesan ); Proses P menerima pesan dari mailbox A
Send (B pesan ); mengirim pesan ke mailbox B,
Receive(B pesan ); Proses P menerima pesan dari mailbox B.
b. Bagaimana urutan send dan receive yang dieksekusi P jika P ingin menunggu
satu pesan dari mailbox A atau mailbox B (salah satu atau keduanya)
Hanya bisa menerima satu pesan:
Caranya :
Receive ( P pesan); menerima peasan dari mailbox A.
Receive ( P pesan); menerima peasan dari mailbox B.

6. Jelaskah apa yang dimaksud dengan thread dan struktur dari thread.
Thread atau lighweight process (LWP) adalah suatu unit dasar dari CPU utilization yang berisi program counter, kumpulan register, dan ruang stack. Thread akan bekerjasama dengan thread yang lainnya dalam hal penggunaan bagian kode, bagian data, dan resource sistem operasi, seperti open file dan sinyal secara kolektif yang sering disebut dengan task.
Struktur dari thread terdiri atas dua struktur :
1. Single thread
2. Multi thread

7. Jelaskan empat keuntungan menggunakan threads pada multiple process.
1. respon lebih cepat.
2. menggunakan resource bersama-sama.
3. lebih ekonomis.
4. meningkatkan utilitas arsitektur mikroprosessor.

8. Apakah perbedaan antara user-level thread dan kernel-supported threads ?
User level thread adalah thread yang diatur dengan menggunakan pustaka user level thread. Contoh sistem yang menggunakan user thread adalah POSIX Pthreads, Mach C-threads dan Solaris threads.
Kernel thread adalah thread yang didukung oleh Kernel.
Contoh sistem yang menggunakan kernel thread adalah Windows 95/98/NT/2000, Solaris, Tru64 UNIX, BeOS dan Linux.

9. Ada 3 model multithreading, jelaskan.
a. One to One yaitu satu user-level thread dipetakan ke satu kernel thread.
b. Many-to-One , beberapa user level thread dipetakan ke satu kernel thread.
c. Many-to-Many, beberapa user level thread dipetakan ke beberapa kernel threads.
10. Jelaskan state pada Java thread.
Bahasa pemrograman Java menggunakan Java thread yang dibuat dengan menggunakan class Thread dan mengimplementasikan antar muka yang bersifat runnable (dapat dijalankan). Java thread diatur oleh Java virtual machine (JVM). Java thread terdiri dari state new, runnable, blocked dan dead.
ekoprihastopo © 2008 Template by:
SkinCorner