Nama
: Syarif Umar
Nim : T31 11 141
Kelas : 3 Reguler E
Nim : T31 11 141
Kelas : 3 Reguler E
1.
Sebutkan State pada proses dan jelaskan diagram proses
Jawab :
- New : proses sedang dibuat
- Running : proses sedang dieksekusi
- Waiting : proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu untuk menyelesaikan I/O atau menerima sinyal).
- Ready : proses menunggu jatah waktu dari CPU untuk diproses
- Terminated : proses telah selesai dieksekusi.
Penjelasan Proses Diagram :
- Status Proses. New, ready, running, waiting dan terminated.
- Program Counter. Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut.
- CPU Registers. Register bervariasi tipe dan jumlahnya tergantung arsitektur komputer yang bersangkutan. Register-register tersebut terdiri-atas: accumulator, index register, stack pointer, dan register serbaguna dan beberapa informasi tentang kode kondisi. Selama Program Counter berjalan, status informasi harus disimpan pada saat terjadi interrupt. Gambar 3-3 menunjukkan switching proses dari satu proses ke proses berikutnya.
- Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan beberapa parameter penjadwalan yang lainnya.
- Informasi Manajemen Memori. Informasi tersebut berisi nilai (basis) dan limit register, page table, atau segment table tergantung pada sistem memory yang digunakan oleh SO.
- Informasi Accounting. Informasi tersebut berisi jumlah CPU dan real time yang digunakan, time limits, account numbers, jumlah job atau proses, dll.
2.
Apa yang dimaksud dengan short term scheduler dan long term scheduler?
Jawab :
Dua bentuk penjadwal, yaitu:
Longterm-Scheduler (job scheduler),
menyeleksi proses-proses mana yang harus dibawa ke ready queue.
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,
sedangkan long-term scheduler terjadi sangat jarang (dalam detik atau menit),
sehingga setiap proses dijadwal dengan lambat. Long-term scheduler digunakan
untuk mengontrol tingkat multiprogramming.
3.
Jelaskan 4 alasan mengapa proses harus bekerja sama.
Jawab :
Proses harus kerjasama karena
mempunyai keuntungan yaitu :
- Pembagian informasi
- Meningkatkan kecepatan komputasi
- Proses dapat dibagi dalam modul-modul dan
- Lebih memberikan kenyamanan pada programmer
4.
Tuliskan kode program untuk penyelesaian permasalahan producer consumer dengan
menggunakan shared memory
Jawab :
#define BUFFER_SIZE 10
Typedef struct {
. . .
} item;
item buffer[BUFFER_SIZE];
int in = 0;
int out = 0;
Proses producer :
Proses producer :
item nextProduced;
while (1) {
while (((in + 1) % BUFFER_SIZE) ==
out)
; /* do nothing */
buffer[in] = nextProduced;
in = (in + 1) % BUFFER_SIZE;
}
Proses consumer :
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
Jawab :
Urutan eksekusinya :
- Sambungan antara dua proses diberikan jika antara kedua proses tersebut saling menggunakan mailbox secara bersama –sama
- Sambungan tersebut disambungkan dengan beberapa proses
- Antar tiap – tiap pasangan proses yang lain berkomunikasi, ada sejumlah sambungan yang berbeda, tiap – tiap link berhubungan dengan satu mailbox.
- 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)
Jawab :
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.
Jelaskah apa yang dimaksud dengan thread dan struktur dari thread
Jawab :
Tread adalah Suatu unit dasar dari
CPU utilization yang berisi program counter, kumpulan register, dan ruang stack
disebut dengan thread atau lighweight process (LWP). 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 Thread :
Seperti halnya proses, thread
memiliki status: ready, blocked, running dan terminated, dan hanya satu thread
yang aktif dalam satu waktu. Thread dapat membuat child thread. Jika satu
thread dalam keadaan blocked, maka thread yang lainnya dapat dijalankan. Namun,
tidak saling bebas, Sebab semua thread dapat mengakses setiap alamat dalam satu
task, thread dapat membaca dan menulisi stack dari thread yang lainnya.
Sehingga tidak ada proteksi antara satu thread terhadap thread yang lainnya.
Suatu proses dapat terdiri dari satu thread (single thread) dan beberapa thread
(multi thread)
7.
Jelaskan empat keuntungan menggunakan threads pada multiple process!
Jawab :
- Pada respon lebih cepat
- Menggunakan resource bersama-sama
- Lebih ekonomis
- Meningkatkan utilitas arsitektur mikroprosessor
8.
Apakah perbedaan antara user-level thread dan kernel-supported threads?
Jawab :
User 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 multi threading, jelaskan!
Jawab :
Model multi thread terdiri dari
model Many-to-One, One-to-One dan Many-to-Many.
Pada model Many-to-One, beberapa user level thread dipetakan ke satu kernel thread dan digunakan pada sistem yang tidak mendukung kernel threads.
Pada model Many-to-One, beberapa user level thread dipetakan ke satu kernel thread dan digunakan pada sistem yang tidak mendukung kernel threads.
Pada model One-to-One, setiap
user-level thread dipetakan ke kernel thread, misalnya pada Windows
95/98/NT/2000 dan OS/2.
Pada model 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
Jawab :
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
Tidak ada komentar:
Posting Komentar
Jangan Lupa Di Koent Yaa..
Jangan Lupa juga di Folow..
Dan ter akhri Salam Kenal adja