Anda di halaman 1dari 25

Metode I/O

• Pada saat operasi I/O dijalankan ada dua


kemungkinan, yaitu :
1. Synchronous – menunggu sampai proses I/O selesai
• Sebuah thread memulai operasi I/O kemudian akan masuk
ke state wait (tunggu) sampai operasi I/O selesai
• Ketika dalam state wait, CPU idle
2. Asynchronous – proses lain dapat berjalan walaupun
operasi I/O belum selesai
• Sebuah thread mengirim permintaan I/O ke kernel dengan
memanggil fungsi yang cocok, jika diterima oleh kernel,
thread akan melanjutkan proses yang lain sampai kernel
memberitahu bahwa operasi I/O sudah selesai. Kemudian
thread tersebut akan melakukan interupsi terhadap proses
yang sedang dikerjakannya dan memproses data operasi I/O
Metode I/O
Direct Memory Access ( DMA )
• Perangkat pengendali memindahkan data
dalam blok-blok dari buffer langsung ke
memory utama atau sebaliknya tanpa
campur tangan prosesor.
• Interupsi hanya terjadi tiap blok bukan tiap
word atau byte data.
• Seluruh proses DMA dikendalikan oleh
sebuah controller bernama DMA Controller
(DMAC).
Direct Memory Access ( DMA )
• DMA Controller mengirimkan atau
menerima signal dari memori dan I/O
device.
• Prosesor hanya mengirimkan alamat awal
data, tujuan data, panjang data ke
pengendali DMA.
• Interupsi pada prosesor hanya terjadi saat
proses transfer selesai.
Proses DMA
Device-Status Table
BUS
• Jalur komunikasi antara beberapa device
yang berbeda
• Terdiri 3 macam :
– Bus alamat – jalur komunikasi alamat
– Bus data – jalur komunikasi data
– Bus kendali – jalur sinyal kendali (misal :
read/write)
Bus (Dahulu)
Bus (Sekarang)
• FSB – bus utama berkecepatan tinggi
yang menghubungkan RAM, Prosesor,
GPU(VGA AGP)
• Bridge - Perangkat lain yang lebih lambat
dihubungkan bus berkecepatan lebih
rendah yang terhubung ke bus lain yang
lebih cepat sampai ke bus utama
INTERUPSI
• Hardware atau software meminta layanan dari CPU
dan CPU akan menghentikan sementara proses
yang dilakukannya untuk melayani interupsi
tersebut
• Interupsi dari hardware biasanya dikirimkan melalui
sinyal tertentu
• Interupsi software dengan cara menjalankan system
call. System call ini akan menyebabkan trap /
exception (interupsi khusus yang dihasilkan
software karena adanya masalah atau permintaan
terhadap OS)
Interupsi
• Setiap interupsi terjadi, sekumpulan kode yang
dikenal sebagai ISR (Interrupt Service Routine)
akan menentukan tindakan yang akan diambil.
• Untuk menentukan tindakan yang harus dilakukan,
dapat dilakukan dengan dua cara yaitu :
• polling yang membuat komputer memeriksa satu
demi satu perangkat yang ada untuk menyelidiki
sumber interupsi
• menggunakan alamat-alamat ISR yang disimpan
dalam array yang dikenal sebagai interrupt vector
di mana sistem akan memeriksa Interrupt Vector
setiap kali interupsi terjadi.
PROTEKSI PERANGKAT
KERAS
• OS akan memproteksi perangkat keras
disebabkan banyaknya penggunaan
sumber daya di komputer
• Supaya jika ada satu program yang tidak
bekerja maka tidak akan menganggu
kinerja OS maupun program lain yang
sedang berjalan
Proteksi Perangkat Keras
• spooling - suatu program dapat dikerjakan walau
pun I/O masih mengerjakan proses lainnya dan
disk secara bersamaan menggunakan data
untuk banyak proses.
• multi programming adalah kegiatan menjalankan
beberapa program pada memori pada satu
waktu.
• Masalah - jika terjadi kesalahan pada satu
proses/ program akan berpengaruh pada proses
lainnya – diperlukan proteksi
Proteksi Perangkat Keras
• Jika terjadi kesalahan program, perangkat keras
akan meneruskan kepada sistem operasi dan
sistem operasi akan menginterupsi dan
mengakhirinya.
• Pesan kesalahan disampaikan, dan memori dari
program akan dibuang. Tapi memori yang
terbuang biasanya tersimpan pada disk agar
programmer bisa membetulkan kesalahan dan
menjalankan program ulang.
Proteksi Perangkat Keras
• Dual-mode Operation
• I/O Protection
• Memory Protection
• CPU Protection
Operasi Dual Mode
• Menyediakan dukungan perangkat keras
untuk membedakan minimal dua mode
operasi yaitu :
– Mode Monitor/Kernel/System – eksekusi
dikendalikan OS
– Mode Pengguna – eksekusi dikendalikan user
Operasi Dual Mode
• Ketika interrupt atau kesalahan terjadi hardware
di-switch ke monitor mode
Proteksi I/O
• Tidak bisa mengerjakan instruksi I/O
secara langsung ke memori tapi harus
lewat sistem operasi terlebih dahulu
(privileged instructions).
instructions)
Proteksi I/O
Proteksi Memori
• Pembatasan penggunaan memori.
• Prosedur proteksi memory, tambahkan dua
register yang menentukan range legal address
akses program :
– Base Register - alamat memori fisik awal yang
dialokasikan/ boleh digunakan oleh pengguna.
– Limit Register - nilai batas dari alamat memori fisik
awal yang dialokasikan/boleh digunakan oleh
pengguna.
• Memory diluar range yang didefinisikan
diproteksi
Penggunaan Base and Limit
Register
Penggunaan Base and Limit
Register
• Sebagai contoh pengguna dibatasi :
– base register 1000
– limit register 500
– hanya diperbolehkan menggunakan alamat
memori fisik antara 1000 hingga 1500 saja.
Proteksi CPU

• Timer – interrupt komputer setelah periode


tertentu untuk memastikan OS memegang
kendali, ketika nilai timer = 0, interrupt terjadi
• Timer biasanya digunakan untuk implementasi
time sharing (pembagian waktu)

Anda mungkin juga menyukai