Anda di halaman 1dari 4

KUK : 1.

1
1.
Proses paralel merupakan sejumlah proses yang dapat dijalankan secara bersama-sama oleh banyak
processor. Adapun contoh sistem operasi yang mendukung proses paralel adalah semua sistem operasi
moderen sekarang ini mendukung proses paralel baik keluarga windows, unix maupun linux.

KUK : 1.2
2. Uraikan dengan singkat, apa itu proses multiprogramming dan bagaimana proses multi programming itu
dikendalikan oleh sistem operasi serta berikan contohnya!
Proses multi programming merupakan kegiatan atau aktivitas menjalankan beberapa program pada
memori dan menyimpan beberapa tugas tersebut dalam memori dalam satu waktu.
Untuk mengendalikan proses multi programming dilakukan dengan menggunakan metode interleave
(saling melanjutkan) yaitu dapat melanjutkan proses setelah melayani proses yang lain, menggunakan
kebijaksanaan tertentu yaitu sistem operasi harus mengalokasikan sumber daya ke suatu proses
berdasarkan prioritasnya dan menerapkan komunikasi antara proses dan penciptaan proses.
Contohnya: menjalankan browser bersamaan dengan media player atau programm pengolah gambar
seperti photoshop.

KUK : 1.3
3. Uraikan dengan singkat, apa itu proses multi tasking dan bagaimana proses multi tasking itu
dikendalikan oleh sistem operasi serta berikan contohnya.
Proses multitasking merupakan mekanisme kerja komputer yang dapat memproses beberapa tugas pada
waktu yang bersamaan atau menangani beberapa proses dalam waktu yang sama secara akurat.
Untuk mengendalikan proses multi tasking dalam sistem operasi dilakukan dengan menggunakan
metode interleave (saling melanjutkan) yaitu dapat melanjutkan proses setelah melayani proses yang
lain, menggunakan kebijaksanaan tertentu yaitu sistem operasi harus mengalokasikan sumber daya ke
suatu proses berdasarkan prioritasnya dan menerapkan komunikasi antara proses dan penciptaan
proses. Contohnya: membuka program excel yang digunakan untuk mengolah data kemudian mencetak
dokumen tersebut sambil mendengarkan musik, artinya ada proses (mengolah, mencetak,
mendengarkan musik) yang dijalankan secara bersamaan, akan tetapi sebenarnya adalah komputer
tersebut menjalankan Satu program pada satu saat (one program at any instant). Untuk itu keberadaan
sistem operasi terhadap proses-proses tersebut adalah mengatur kerjanya dengan melakukan
pengendalian proses atau pengaturan urutan (prioritas) dan pembagian waktu yang sangat cepat (dalam
orde 1/ 1 Juta detik = 1 mikro detik). Sehingga seolah olah proses-proses tersebut dapat berjalan secara
bersama sama (bersifat semu). Contohnya lain adalah, dalam OS windows, pada saat membuka task
manager, terdapat task task yang sedang berjalan, dapat terlihat bahwa CPU seolah-olah menjalankan
secara bersamaan, tetapi ternyata tidak

KUK 2.1
4. Jelaskan bagiamana suatu sumber daya atau resource dari sistem, dimanfaatkan oleh semua program
yang berjalan pada sistem operasi.
Pemanfaatan sumber daya (resource) yang dimiliki oleh sistem dimanfaatkan oleh semua program yang
berjalan pada sistem operasi dengan cara terlebih dahulu meminta layanan kepada sistem operasi
untuk mengendalikan sumber daya bagi aplikasi sehingga penggunaan sumber daya sistem
komputer dapat dilakukan secara benar dan efisien.
KUK 2.2
5. Jelaskan apa yang itu resource pada sistem operasi dan berikan contoh resource tersebut!
Resource adalah sumber daya yang digunakan untuk memindahkan, memproses dan menyimpan data
dalam komputer. Resource sumber daya ini terdiri dari sumber daya fisik dan sumber daya abstrak.
Contoh: sumber daya fisik (sumber daya yang dapat memberikan manfaat dan secara fisik) seperti CPU,
motherboard, bios / cmos, power supply, RAM, change memory, register, hardisk, CD-ROM drive, USB
Flash Disk, dan Floppy Disk Drive dll.
Contoh: sumber daya abstrak seperti data (PCB, file/berkas, semaphore) dan program.
6. Jelaskan bagaimana sistem operasi membagi suatu sumber daya atau resource digunakan oleh program
tidak menyebabkan suatu proses berhenti.
Sistem operasi akan membagi sumber daya yang dimiliki kepada semua program yang membutuhkan
dengan memperhatikan kemampuan sumber daya yang dimiliki dan menentukannya berdasarkan
prioritas dan kebutuhannya.
KUK 3.1
7. Uraikan apa yang dimaksud dengan semaphore pada sistem operasi!
semaphore adalah teknik klasik/teknik penysinyalan sederhana antar proses (penanda) untuk
melindungi bagian penting dari kode yang secara simultan dieksekusi oleh lebih dari satu proses.
KUK 3.2
Uraikan bagaimana resource yang digunakan program aplikasi diberitahukan kepada sistem operasi
untuk dilakukan pengelolaan.
Setiap program aplikasi yang membutuhkan sumber daya akan diketahui oleh sistem operasi
melalui suatu intrupsi terhadap setiap program yang mendapatkan waktu dan memiliki ruang
dalam menggunakan sumberdaya.

1. Jelaskan bagaiaman sistem operasi mengatur sumber daya (resource) yang digunakan oleh suatu
program tidak dapat digunakan oleh program lain sampai resource tersebut dibebaskan.
Sistem operasi akan mengatur penggunaan sumber daya yang digunakan oleh suatu program dengan
menerapkan metode interleave (saling melanjutkan) yaitu dapat melanjutkan proses setelah melayani
proses yang lain, menggunakan kebijaksanaan tertentu yaitu sistem operasi harus mengalokasikan
sumber daya ke suatu proses berdasarkan prioritasnya dan menerapkan komunikasi antara proses dan
penciptaan proses. Suatu sumber daya (resource) yang digunakan oleh suatu program tidak bisa
digunakan oleh program/proses lain sebelum sumber daya itu dibebaskan untuk program/proses
tersebut.

KUK 4.1
2. Jelaskan apa itu bahasa pemrograman mnemonics processor dan berikan contohnya!
Bahasa pemrograman mnemonic prosesor adalah bahasa pemrograman yang memiliki perintah dasar
sederhana yang umum digunakan oleh Programmable Logic Controller (PLC) berupa sebuah
keyword yang mewakili suatu instruksi. Contoh printahnya adalah: Add, Sub, Load, Mov, Set, Push dan
lain-lain.

KUK 4.2
Sebut dan jelaskan bahasa pemrograman yang memiliki fasilitas untuk membuat suatu program paralel.
Bahasa pemrograman yang memiliki fasilitas untuk membuat program paralel adalah:
a. MPI (Message Passing Interface)
MPI ini adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat
sebuah aplikasi yang dapat dijalankan secara paralel.
Kegunaan MPI :
1. Menyediakan fungsi - fungsi untuk menukar pesan
2. Menulis kode paralel secara portable
3. Mendapatkan performa yang tinggi dalam pemrograman paralel
4. Menghadapi permasalah yang melibatkan hubungan data irreguler atau dinamis

b. PVM (Parallel Virtual Machine)


PVM ini adalah perangkat lunak yang memungkinkan sekumpulan komputer yang heterogen
terlihat seperti satu sistem komputer paralel dan dapat digunakan sebagai sebuah sumber daya
komputasi yang koheren.

Memberi contoh penerapan semaphore pada setiap program yang menggunakan resource bersama.
Pekerja 1
<?php
$key = 123;
$max = 1;
$permissions = 0666;
$auto_release = 1;
$semaphore = sem_get($key, $max, $permissions, $auto_release);
if (!$semaphore) {
echo "Gagal membuat/mendapatkan semaphore!\n\n";
exit;
}
$i = 1;
while ($i <= 5) {
echo "Mencoba memperoleh token semaphore.\n";
sem_acquire($semaphore); // blok
echo "Mendapatkan token semaphore.\n";
$date = date("H:i:s");
$handler = fopen("resource.txt", "a+");
echo "Pekerjaan ke-$i.\n";
fwrite($handler, "$date => Pekerjaan ke-$i oleh pekerja 1\n");
fclose($handler);
sleep(5);
sem_release($semaphore); // bebaskan
echo "Token semaphore dibebaskan.\n";
$i++;
}
?>

Pekerja 2
<?php
$key = 123;
$max = 1;
$permissions = 0666;
$auto_release = 1;
$semaphore = sem_get($key, $max, $permissions, $auto_release);
if (!$semaphore) {
echo "Gagal membuat/mendapatkan semaphore!\n\n";
exit;
}
$i = 1;
while ($i <= 9) {
echo "Mencoba memperoleh token semaphore.\n";
sem_acquire($semaphore); // blok
echo "Mendapatkan token semaphore.\n";
$date = date("H:i:s");
$handler = fopen("resource.txt", "a+");
echo "Pekerjaan ke-$i.\n";
fwrite($handler, "$date => Pekerjaan ke-$i oleh pekerja 2\n");
fclose($handler);
sleep(1);
sem_release($semaphore); // bebaskan
echo "Token semaphore dibebaskan.\n";
$i++;
}
?>

void kunci(int sem_value) {


while(sem_value <= 0);
sem_value;
}
void buka(int sem_value) {
sem_value++;
}

void buka(int sem_value)


{
sem_value++;
if(sem_value <= 0)
{
/*keluarkan satu thread dari waiting queue*/
/*aktifkan thread tersebut*/
}
}
void kunci(int sem_value)
{
sem_value;
if(sem_value < 0)
{
/*masukkan thread ke dalam waiting queue*/
/*blok thread tersebut*/
}
}