Script pertama-q

Sturktur Data

SELAMAT BELAJAR

STMIK KHARISMA KARAWANG Dhesie Dwi Sagita

Minggu, 06 September 2009

Sistem Operasi Bab III ( Proses Proses )

1. State Process/status proses adalah bagian dari aktivitas proses yang sedang berlangsung saat itu. Status Process terdiri dari 3 Status Utama dan 2 Status Tambahan. Status Utama terdiri dari :
Running merupakan status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi.
Waiting adalah saat proses menunggu beberapa event yang akan terjadi.
Ready status pada saat proses siap untuk dieksekusi.
Status Tambahan ada 2 yaitu :
New saat proses sedang dibuat
Terminate yaitu proses telah selesai di eksekusi.
Penjelasan diagram proses :
Status proses, New, ready, running, waiting dan terminated.
Proses Counter, menunjukkan alamat berikutnya ang akan dieksekusi oleh proses tersebut.
CPU Register. Register bervariasi tipe dan jumlahnyatergantung arsitektur komputer yang bersangkutan. Register-register tersebut terdiri atas : accumulator, index register, srtack pointer, dan register serbaguna dan beberapa informasi tentang kode kondisi. Selama program counter berjalan, status informasi harus disimpan pada saat terjadi interrupt.
Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu proses,pointer ke antrian penjadwala, dan beberapa parameter penjadwalan yang lainnya.
Informasi Manajemen Memori. Informasi tersebut berisi nilai (basis) dan limit register, page table atau segmen table tergantung system memori yang digunakan oleh SO.
Informasi Accounting. Informasi tersebut berisi jumlah CPU dan real time yang digunakan,time limit, account number, jumlah job atau proses dll.
Informasi status I/O. informasi tersebut berisi deretan I/O device (seperti tape driver) yang dialokasikan untuk proses tersebut, deretan file yang dibuka, dll.
2. Ada dua bentuk tipe penjadwalan yaitu :
Short term scheduler (CPU scheduler), memilih proses-proses yang siap dieksekusi, dan mengalokasikan CPU ke salah satu dari proses-proses tersebut.
Longterm scheduler (job scheduler), menyeleksi proes-proses yang mana yang harus dibawa ke ready queue.
3. Alasan proses harus saling bekerja sama adalah dapat memberi 4 keuntungan yaitu :
Terjadi pembagian informasi
Meningkatkan kecepatan komputasi
Proses dapat dibagi dalam modul-modul.
Memberikan kenyamanan pad aprogrammer.
4. Kode program untuk menyelesaikan permasalahan producer consumer dengan menggunakan shared memori :
# define BUFFER_SIZE 10
Typedef struck {
. . .
} ietm;
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. 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 Received yang dieksekusi.
b. Bagaimana urutan send dan received yang dieksekusi P jika P menunggu satu pean dari mailbox A atau mailbox B (salah satu atau keduanya)
6. Yang dimaksud dengan thread adalah suatu unit dasar dari CPU utilization yang berisi program counter,kumpulan register, dan ruang stack,
Struktur Thread : seperti halnya proses thread juga memiliki status ready, blocked, running dan terminate, hanya satu thread yang aktif dalam satu waktu. Thread dapat membuat child thread. Jika satu thread dalam keadaan blocked,maka thread yang lain dapat dijalankan. Namun tidak saling bebas, sebab semnua 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 trerhadap thread yang lainnya. Satu proses dapat terdiri dari satu thread ( single thread) dan beberapa thread (multi thread).
7. Keuntungan menggunakan thread pada multiple proses adalah :
menggunakan resource bersama-sama,
respon lebih cepat,
lebih ekonomis dan
meningkatkan utilitas arsitektur mikroprosessor.
8. Perbedaan user – level thread dan kernel – supported thread :
User level thread :
Thread diatur menggunakan pustaka user level thread
Hanya memerlukan sebuah stack dan sebuah program counter, tanpa resource dari kernel.
Kernel tidak dilibatkan dalam penjadwalan, sehingga perpindahan antar user level thread sangat cepat.
Kernel-Supported thread :
Thread yang didukung oleh kernel.
Mempunyai struktur data yang kecil dan sebuah stack.
Perpindahan antar kernel tidak mengubah informasi akses memori sehingga relatif cepat.
LWP berisi proses control block dengan register data, informasi akuntansi dan informasi memori.
Perpindahan antar LWP membutuhkan tambahan pekerjaan dan relatif lambat.
9. Ada 3 model multithreading yaitu :
a. Model Many-to-One : setiap user level thread dipetakkan ke satu kernel thread dan digunakan pada system yang tidak mendukung kernel thread.
b. Model One-to-One : setiap user level thread dipetakan ke kernel thread.
c. Model Many-to-Many : user level thread dipetakan ke beberapa kernel thread.
10. 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 satu state new, runnable, blocked data dead.


Tugas Bab III
Nama : Dhesie Dwi Sagita
NPM : 43E57006085018
Kelas : Malam ( Teknik Informatika )

Tidak ada komentar: