KEJARLAH DUNIAMU SEAKAN ENGKAU HIDUP SERIBU TAHUN
DAN KEJARLAH AKHIRATMU SEAKAN ENGKAU MATI ESOK

Selasa, 25 Agustus 2009

Sistem Operasi

Nama :DEDI ISKANDAR
NPM : 43E57006085014
Kelas : Malam
Jurusan : Teknik Informatika
Mata Kuliah : Sistem Operasi
Tugas III : BAB 3 ( Proses – Proses)

LATIHAN SOAL :

1. Sebutkan state pada proses dan jelaskan diagram pada proses!
State : adalah suatu kesatuan yang terpisah namun adakalanya proses – proses tersebut butuh untuk saling berinteraksi.


admitted exit exit

interrupt

scheduler dispach

I/O or event completion I/O or event wait

Pada saat proses dieksekusi, akan terjadi perubahan status, status proses didefinisikan sebagai bagian dari aktifitas proses yang sedang berlangsung saat itu.
Keterangan :
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)Terminatted : Proses telah selesai dieksekusi.

2. Apa yang dimaksud dengan short-term scheduler dan longterm-scheduler?
short-term scheduler (CPU scheduler) : memilih proses –proses yang siap untuk dieksekusi dan mengalokasikan CPU ke salah satu dari proses –proses tersebut.
longterm-scheduler (job scheduler) : Menyeleksi proses –proses mana yang harus dibawa ke reday queue.

3. Jelaskan 4 alasan mengapa proses harus bekerja sama?
a)Proses yang teripsah adalah proses yang berakibat atau diakibatkan oleh eksekusi dari proses lain
b)Sedangkan proses yang saling bekerja sama adalah proses yang dapat berakibat atau diakibatkan oleh eksekusi dari proses lain.
c)Keuntungan proses yang saling bekerjasama adalah terjadi pembagian informasi, meningkatkan kecepatan komputasi, proses dapat dibagi dalam modul-modul dan lebih memberikan kenyamanan pada programmer.
d)Untuk mengilustrasikan proses-proses yang saling bekerjasama ini digunakan producer-consumer problem.

4. Tuliskan kode program untuk penyelesaian permasalahan producer consumer dengan menggunakan shared memory.
# define BUFER_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
Proses p ingin menunggu 2 pesan, satu dari mailbox A dan satu dari mailbox B. Tunujukan urutan send dan receive yang dieksekusi.
Urutan eksekusinya :
1. Sambungan antara dua proses diberikan jika antara kedua proses tersebut saling menggunakan mailbox secara bersama –sama
2. Sambungan tersebut disambungkan dengan beberapa proses
3. Antar tiap – tiap pasangan proses yang lain berkomunikasi, ada sejumlah sambungan yang berbeda, tiap – tiap link berhubungan dengan satu mailbox.
4. Sambungan tersebut mungkin bersipat unidirectional, namun biasanya bidirectional

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).
Urutan eksekusinya :
P1,p2, dan p3 menggunakan mailbox A bersama –sama . p1 mengirim pesan sedangkan p2 dan p3 menjalankan operasi receife. Solusi ini dapat menggunakan salah satu cara dibawah ini :
Mengijinkan satu sambungan dihubungkan dengan paling banyak dua proses.
Mengijinkan hanya satu proses pada satu waktu mengeksekusi proses receife.
Mengijinkan sistem untuk memilih penerima tertentu. Proses pengirim diberitahukan proses mana yang menerima

6. Jelaskan apa yang maksud dengan thread dan struktur dari thread?
Thread : Suatu unit dasar dari CPU utilization yang berisi program counter, kumpulan register, dan ruang satck disebut dengan thread lighweigt proces.
Struktur thread :
*Code
*Data
*Files
*Register
*Stack
7. Jelaskna empat keuntungan menggunakan threads pada multyple process?
Pada respon lebih cepat
b.Menggunakan resource bersama –sama
c.Lebih ekonomis
d.Menigkatkan utilitas arsitektur mikroprocessor

8. Apa perbedaan antara user-level thread dan kernel-supported threads?
user-level thread : Thread yang diatur denagn menggunakan pustaka user level thread. Contoh sistem yang menggunakan user thread adalah POSIX Ptherads, Mach C-threads dan Solaris Threads.
kernel-supported threads : 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 multithredaing, Jelaskan?
a. Many-to-one : beberapa user level thread dipetakan kesatu kernel thread dan digunakan pada sistem yang tidak mendukung kernel threads
b. One-to-One : setiap user level threads dipetakan ke kernel therad.Misalnya pada Windows 95/98/NT/2000 dan OS/2.
c. Many-to-Many : user level thread dipetakan ke beberapa kernel threads, pada sistem operasi ini akan dibuat sejumlah kernel thread, contohnya solaris 2 dan Windows NT/2000 dengan ThreadFiber package.
10. Jelaskan state pada java thread?
Java Thread : Bahasa pemrograman java menggunakan java thread yang dibuat dengan menggunakan class thread dan mengimplementasikan antar muka yang bersipat runnable (dapat dijalankan). Java thread diatur oleh java virtual machine (JVM). Java thread terdiri dari state new,runnable,blocked, dan dead.