Praktikum 2
Praktikum 2
Next, based on the results above, fill in only the legal state changes in the table below:
First, you need to create a single process of this program using the CREATE NEW PROCESS
button in the Process tab.
Next, check ALL three Suspend on state change check boxes (there are three of them in OS
simulator).
Next, start the scheduler by clicking on the START button. Make a note in the table below of the
sequence of the next six states of the process (Note: You’ll need to click on the RESUME button
in the Process tab after each display of the message window just after the state change)
)
Setelah proses berpindah ke RUNNING state, klik resume.
States
1. RUNNING
2. WATING
3. READY
4. RUNNING
5. WAITING
6. READY
Investigating IO Interrupts
Exercise 1 – Describe what interrupt vectors are and explain how they are used
In the compiler window, check only the boxes Generate code, Enable optimizer and
Redundant Code. Enter the following source code and compile it:
program Vectors
sub IntVect1 intr 1 writeln("This is intr 1")
end sub
Interrupt
Int1 0
Int2 20
Int5 40
Gambar 2
1. Kode yang dihasilkan tadi dimuat menjadi instruksi dalam memori (RAM)
2. Jendela intrrupt Vector
Bandingkan dua tabel di atas dan beri komentar singkat tentang pengamatan Anda di tempat di
bawah ini:
Alamat awal pada subrutin memiliki nilai yang sama dengan interrupt yang sesuai
Gambar 3
Gambar 4
Gambar 5 Komentari pengamatan Anda di tempat di bawah ini:
Gambar 1
Ketika trigger interrupt di clik console akan menampilkan “This is intr 1”, program akan
menjalankan instruksi sesuai dengan interrupt dan R02 pada register akan berubah
nilai menjadi 6
Gambar 2
Ketika trigger interrupt di clik console akan menampilkan “This is intr 2”, program akan
menjalankan instruksi sesuai dengan interrupt dan R02 pada register akan berubah
nilai menjadi 26
Gambar 3
Ketika trigger interrupt di clik console akan menampilkan “This is intr 5”, program akan
menjalankan instruksi sesuai dengan interrupt dan R02 pada register akan berubah
nilai menjadi 46
Setelah itu akan kembali pada program utama dan nilai R02 pada register akan
kembali menjadi 1
Exercise 2 – Describe two main methods of interrupt handling
Enter the following source code in a new source editor and compile it.
program PolledInt var v integer
v=0
writeln("Program Starting") while true
read(nowait, v) for i = 1 to 100 if v > 0 then
break * end if write(".")
next
wend
writeln("Program Ending")
end
Jelaskan secara singkat apa yang dilakukan program diatas
Program ini adalah sebuah loop yang berlangsung sebanyak 100 kali dan akan terus
berjalan meskipun kita telah menginputkan suatu karakter dan akan ditampilkan
tepat sebelum program berakhir.
Next, enter the following source code in a new source editor and compile it.
program VectoredInt var v integer
v=0
writeln("Program Starting") while true
for i = 1 to 100
if v > 0 then
break * end if write(".")
next
wend
writeln("Program Ending")
end
Jelaskan secara singkat apa yang dilakukan program diatas (catat dimana letak read statement
pada kasus ini)
Program ini adalah sebuah loop yang akan berjalan sebanyak 100 kali. Tetapi ketika
kita menginputkan sebuah karakter, program akan menampilkan karakter dan akan
berhenti
tepat setelah itu. Dalam program ini read statement diletakkan diawal
Muat kode yang dihasilkan dalam memori CPU. Atur ulang dan jalankan kode ini dengan
kecepatan tercepat. Segera setelah pesan Program Memulai ditampilkan di Konsol, ketikkan
karakter tunggal apa pun di kotak INPUT Konsol. Tunggu hingga program berakhir
Gambar 7
Exercise 3 – Explain the difference between polled and vectored interrupts
Berdasarkan pengamatan Anda pada latihan sebelumnya, jelaskan secara singkat perbedaan
perilaku kedua program, PolledInt dan VectoredInt, sehubungan dengan kecepatan respons
terhadap input. Jelaskan mengapa perbedaan ini.
Program PolledInt menajalankan loop secara penuh sebanyak 100 kali dan
hanya memeriksa input sekali setelah semua perulangan selesai.
Program VectoredInt dapat memanggil interrupt segera setelah karakter dimasukkan
tanpa perlu menyelesaikan perulangan.
Dengan demikian VectoredInt memiliki respon input yang lebih cepat
Berdasarkan pengamatan Anda pada latihan 2, dan melihat tabel di bawah ini, metode
penanganan interupsi mana yang tercantum dalam tabel, lebih efisien (beri tanda X)
1. Berdasarkan pengamatan Anda di atas, sarankan dan jelaskan secara singkat alasan
mengapa Anda akan menggunakan metode Polled Interrupt daripada metode Vectored
Interrupt?
Polled Interrupt lebih cocok digunakan ketika event yang muncul tidak memerlukan
waktu respon yang cepat dan terjadi dan memiliki frekuensi muncul yang lebih sering
2. Jelaskan secara singkat di mana Anda akan menggunakan metode Vectored Interrupt
daripada Polled Interrupt?
Vectored Interrupt lebih cocok digunakan ketika event yang muncul memerlukan
waktu respon yang cepat dan terjadi dan memiliki frekuensi muncul yang jarang.