• Tidak ada hasil yang ditemukan

1. Tujuan percobaan: setelah melakukan percobaan ini, diharapkan mahasiswa dapat a) Menjelaskan tentang tiga state processes dalam komputer

b) Menjelaskan tentang transisi yang terjadi antara state processes dalam komputer

c) Menjelaskan tentang dua kejadian yang dapat menyebabkan suatu proses berubah keadaan dari waiting state-nya

d) Menjelaskan tentang tiga placement methods yang digunakan dalam manajemen memori e) Menjelaskan tentang virtual memori

2. Dasar teori: Sebagaimana proses bekerja, maka proses tersebut merubah state (keadaan statis/ asal). Status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut. Tiap proses mungkin adalah satu dari keadaan berikut ini:

• New: Proses sedang dikerjakan/ dibuat. • Running: Instruksi sedang dikerjakan.

• Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O atau penerimaan sebuah tanda/ signal).

• Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor. • Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.

Nama-nama tersebut adalah arbitrer/ berdasar opini, istilah tersebut bervariasi disepanjang sistem operasi. Keadaan yang mereka gambarkan ditemukan pada seluruh sistem. Namun, sistem operasi tertentu juga lebih baik menggambarkan keadaan/ status proses. Adalah penting untuk menyadari bahwa hanya satu proses dapat berjalan pada prosesor mana pun pada waktu kapan pun. Namun, banyak proses yang dapat ready atau waiting.

Sebuah proses membutuhkan memori untuk dieksekusi. Sebuah proses dapat ditukar sementara keluar memori ke backing store (disk), dan kemudian dibawa masuk lagi ke memori untuk dieksekusi.

Sebagai contoh, asumsi multiprogramming, dengan penjadualan algoritma CPU Round-Robin. Ketika kuantum habis, manager memori akan mulai menukar keluar proses yang selesai, dan memasukkan ke memori proses yang bebas. Sementara penjadualan CPU akan mangalokasikan waktu untuk proses lain di memori. Ketika tiap proses menghabiskan waktu kuantumnya, proses akan ditukar dengan proses lain. Idealnya memori manager, dapat

ketika penjadual CPU ingin menjadual ulang CPU. Besar kuantum juga harus cukup besar, sehingga jumlah perhitungan yang dilakukan antar pertukaran masuk akal. Variasi dari kebijakan swapping ini, digunakan untuk algoritma penjadualan berdasarkan prioritas. Jika proses yang lebih tinggi tiba, dan minta dilayani, memori manager dapat menukar keluar proses dengan prioritas yang lebih rendah, sehingga dapat memasukkan dan mengeksekusi proses dengan prioritas yang lebih tinggi.

Ketika proses dengan prioritas lebih tinggi selesai, proses dengan prioritas yang lebih rendah, dapat ditukar masuk kembali, dan melanjutkan. Macam-macam pertukaran ini kadang disebut roll out, dan roll in. Memori virtual merupakan suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Teknik ini mengizinkan program untuk dieksekusi tanpa seluruh bagian program perlu ikut masuk ke dalam memori.

Berbeda dengan keterbatasan yang dimiliki oleh memori fisik, memori virtual dapat menampung program dalam skala besar, melebihi daya tampung dari memori utama yang tersedia. Prinsip dari memori virtual yang patut diingat adalah bahwa: "Kecepatan maksimum eksekusi proses di memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang sama di sistem tanpa menggunakan memori virtual."

3. Fitur-fitur CPU simulator: pada simulator ini, juga terdapat fitur untuk menampilkan bagaimana sistem operasi dalam sebuah komputer bekerja. Untuk membuka fitur ini, klik tombol OS Output pada layar tampilan utama simulator ini (seperti pada gambar 1) sehingga keluar tampilan seperti berikut ini

Gambar 14. Layar tampilan OS Simulator

Anda dapat memasukkan program dengan cara melakukan Load In Memory lebih dahulu jika program dibuat dengan menggunakan Compiler ataupun dengan cara membuat program secara langsung dengan set instruksi pada layar tampilan utama simulator. Jika program tersebut ingin dijalankan pada layar tampilan OS Simulator (seperti pada gambar 14), maka klik dahulu tombol Create New Process yang ada pada Process Tab di Program List pada layar tampilan OS Simulator. Program kemudian dijalankan dengan mengklik tombol Start yang ada pada OS Control Tab.

Jika anda mengklik tombol View Tab, maka akan ada menu untuk menampilkan antara lain: View Utilization, View Process List, View Process States, View Resources, View Memory, View Log, dan View Libraries. Anda dapat memilih salah satu menu tersebut sesuai dengan apa yang ingin diamati. Dalam percobaan ini, anda cukup menggunakan menu View Process States untuk dapat melihat State Processes yang ada dalam komputer (gambar 15), menu View Memory untuk dapat melihat kondisi memori di dalam komputer (gambar 16) dalam hubungannya dengan proses Swapping, lalu View Utilization untuk dapat melihat keadaan Resource pada komputer (gambar 17) sehubungan dengan proses Virtual Memory.

Gambar 15. Layar tampilan Process States

Gambar 17. Layar tampilan Resource Utilisation

4. Prosedur percobaan:

4.1. Pada OS Simulator Window, load program ForeverLooping lalu buat proses dari program tersebut dengan mengklik tombol Create New Process. Berikutnya buka tampilan Process States Window seperti pada gambar 15. Pada tampilan tersebut, anda akan dapat melihat berbagai macam state process dalam komputer. Sesuaikan kecepatan simulator dengan mengaturnya pada OS Control Tab pada layar OS Simulator Window seperti pada gambar 14, lalu klik tombol Start, setelah itu buka kembali layar Process States Window. Pada percobaan ini, lakukan proses perubahan state process pada layar Process States Window (gambar 15) dengan melakukan klik dan drag menggunakan mouse anda sesuai dengan urutan yang ada pada tabel di bawah ini, amati apa yang terjadi, lalu isilah tabelnya:

Perlakuan Hasil Berhasil (ya

atau tidak)

Gagal (ya atau tidak) 1. Drag proses dari waiting queue ke waiting

state

2. Drag proses ke Process Bin (terminate) 3. Drag proses ke CPU Box (run)

6. Drag proses ke Process Bin

7. Drag proses ke Ready Queue (ready) 8. Klik tombol Resume di OS Control Tab 9. Drag proses ke Ready Queue

10. Klik tombol Resume di OS Control Tab 11. Drag proses ke Process Bin

Berdasarkan hasil di atas, isilah keadaan yang diperbolehkan pada tabel di bawah ini:

Keadaan Awal Keadaan Akhir

Pada gambar di bawah ini, berilah tanda panah di mana keadaan perubahan State Process diijinkan

4.2. Pada percobaan kali ini, Load program OSQueuesDemo lalu buat proses dari program ini ke dalam OS Simulator Window. Jalankan program ini, amati apa yang terjadi, lalu isilah urutan State Process yang terjadi dari hasil pengamatan anda ke dalam tabel di bawah ini:

Urutan State Process 1. Running

tampilan Running Processes di layar OS Simulator Window seperti pada gambara 14, klik tombol Remove jika proses sedang ada dalam keadaan Ready atau Waiting)

4.3. Kali ini Load program WaitOnreadDemo, buat proses baru dari program ini pada layar OS Simulator Window, jalankan (input dari luar dapat diberikan dengan cara menampilkan Show Keyboard pada layar tampilan IO Console seperti pada gambar 10), amati apa yang terjadi ! Pada program kali ini, jika sebuah proses dalam keadaan Running dan tiba-tiba membutuhkan suatu input dari luar, maka sistem operasi pada komputer akan merubah keadaan proses menjadi Waiting State. Berikan kesimpulan anda !

4.4. Untuk percobaan ini, pastikan simulator dalam keadaan bersih tidak ada program apapun sama sekali (lakukan Remove Program jika masih terdapat program pada simulator). Kemudian, pada layar OS Simulator Window, klik Views Tab lalu Klik tombol View Memory. Anda akan melihat layar Main memory seperti pada gambar 16. Pilih pilihan yang ada pada opsi Frames menjadi bernilai satu, lalu klik tombol Add sedemikian rupa sampai Main Memory terlihat penuh (kira-kira sepuluh kali klik). Sekarang buat Hole pada memori dengan cara memilih frame yang akan dihilangkan kemudian mengklik tombol Remove. Hilangkan Frame yang ke-3, ke-5, ke-7, ke-8, dan ke-9 sehingga hanya Frame 0, 1, 4, dan 6 saja yang ada pada Main Memory.

Sekarang pilih opsi pada Placement Policy menjadi First Fit, load program ForeverLooping, buat proses dari program ini pada OS Simulator Window. Amati apa yang terjadi pada layar tampilan Main Memory seperti pada gambar 16 !

Remove proses tersebut (jangan meremove programnya, hanya prosesnya saja). Rubah Placement Policy menjadi Best Fit. Buat lagi proses dari program ForeverLooping lalu amati apa yang terjadi pada layar Main Memory !

Remove lagi proses tersebut, sekarang rubah Placement Policy menjadi Worst Fit dan ulangi langkah seperti di atas, amati apa yang terjadi pada layar Main Memory !

Dari hasil pengamatan anda, berikan kesimpulan bagaimana cara bekerja dari masing-masing Placement Policy tersebut!

pada gambar 16 dan hilangkan centang pada opsi Paging Enabled Box. Setelah itu, load program OSQueuesDemo, kemudian buat tiga macam proses dengan konfigurasi yang berbeda dari program ini pada Process Tab di layar OS Simulator Window seperti pada gambar 14 sesuai dengan tabel di bawah ini. Amati apa yang terjadi pada layar Resource Utilisation dan isilah tabel di bawah ini:

Process Pages Free Alloc Swap

P1 4

P2 5

P3 3

Jelaskan kenapa dilakukan proses Swap pada memori untuk proses P3 !

Sekarang, jalankan program di atas dengan menyesuaikan dahulu kecepatan simulasi lalu klik tombol Start pada layar OS Simulator Window seperti pada gambar 14 dan lakukan pengamatan terhadap layar Resource Utilisation seperti pada gambar 17. Dari hasil pengamatan anda, isilah tabel di bawah ini:

Process Free Alloc Swap

P1 P2 P3 P1 P2 P3

Kali ini, saat program sedang berjalan pada keadaan Running, lakukan proses Kill satu persatu pada proses tersebut dengan mengklik Tombol Kill pada layar OS Simulator Window. Amati layar Resource Utilisation lalu isilah tabel di bawah ini:

CPU % Free Alloc Swap

Semua yang anda lakukan di atas menunjukkan bagaimana sebenarnya prinsip kerja dari manajemen memori dalam sistem operasi. Buatlah kesimpulan umum tentang proses manajemen memori tersebut !

PIPELINING

1. Tujuan percobaan: setelah melakukan percobaan ini, diharapkan mahasiswa dapat a) Menjelaskan perbedaan tentang cara kerja komputer dengan dan tanpa proses pipelining b) Menjelaskan tentang keadaan dependency yang ada dalam proses pipelining dan cara-cara

mengatasinya

2. Dasar teori: CPU modern menggunakan teknologi pipelining agar mampu memproses berbagai tahap instruksi secara paralel sehingga meningkatkan kinerja keseluruhan CPU. Namun, sebagian besar program memiliki keadaan, syarat, dan kondisi tertentu untuk menjamin kelancaran proses pipelining (disebut dengan dependency). Akibatnya CPU dirancang dengan beberapa trik tertentu agar dapat mengatasi keadaan dependency tersebut.

3. Fitur-fitur CPU simulator: pada CPU-OS Simulator ini, terdapat fitur agar dapat mengamati proses pipelining yang terjadi pada CPU. Untuk mengaktifkan fitur ini, pada layar utama CPU-OS Simulator ini (gambar 1), klik tombol Show Pipeline yang ada pada Cache-Pipeline Tab sehingga keluar tampilan layar Instruction Pipeline.

pipelining dalam komputer. Sedangkan pada layar sebelah kanan, anda dapat melihat tahapan-tahapan pipeline yang dilakukan oleh komputer dengan urutan set instruksi yang dijalankan terlebih dahulu sampai dengan yang terakhir yaitu dari atas sampai ke bawah.

4. Prosedur percobaan:

4.1. Pada layar Compiler, seperti pada gambar 11, buat program berikut ini

program Ex1

for n = 1 to 20 p = p + 1 next

end

Compile program tersebut lalu lakukan Load In Memory. Buka layar Instruction Pipeline seperti pada gambar 18 kemudian jalankan program tersebut dengan mengklik tombol Run pada layar utama CPU-OS Simulator. Amati apa yang terjadi pada layar Instruction Pipeline ! Anda seharusnya dapat melihat tahapan-tahapan langkah pada proses pipeline dari hasil pengamatan anda. Tahapan-tahapan ini disebut dengan Pipeline Stages. Tuliskanlah nama dari Pipeline Stages tersebut !

Amati juga keterangan CPI (Clocks Per Instruction) dan SF (Speed Factor) yang ada pada layar Instruction Pipeline seperti pada gambar 18 lalu isilah tabel di bawah ini (pastikan saat itu terdapat centang pada opsi No Instruction Pipeline).

CPI (Clocks Per Instruction) SF (Speed Factor)

Sekarang Stop program tersebut, Reset ulang, hilangkan centang pada opsi No Instruction Pipeline, lalu jalankan lagi program tersebut. Amati perubahan apa yang terjadi pada layar Instruction Pipeline dan isilah tabel di bawah ini:

CPI (Clocks Per Instruction) SF (Speed Factor)

Dari hasil pengamatan anda tersebut, simpulkan bagaimana prinsip kerja dari proses Pipelining dalam sebuah komputer !

Pipeline. Yang pertama adalah tentang Data Hazard. Buat program di bawah ini dengan menggunakan set instruksi (bahasa Assembly) pada layar utama CPU-OS Simulator seperti pada gambar 1 tetapi jangan dijalankan terlebih dahulu.

MOV #1, R01 MOV #5, R03 MOV #3, R01 ADD R01, R03

Dokumen terkait