Struktur Sistem Komputer - E

advertisement
Struktur Sistem
Komputer
Sumber : Universitas Binadarma
Pembahasan






Operasi Sistem Komputer
Struktur I/O
Struktur Storage
Hirarki Storage
Proteksi Perangkat Keras
Sistem Arsitektur Umum
Arsitektur Sistem Komputer
Booting

Bootstrap program



Inisialisasi sistem, seperti : CPU register, device controllers,
memory, dsb
Load and run the OS
Operating system: run init untuk inisialisasi sistem
proses, seperti : various daemons, login processes,
dsb.
Operasi Sistem Komputer (1)








CPU
Memory
Disk
Printer
Tape drive
Device controller
System bus
Memory controller
Operasi Sistem Komputer (2)





CPU dan I/O device dapat dieksekusi secara
bersamaan (concurrent)
Masing-masing device controller memiliki spesifikasi
yang sesuai dengan tipe device dan memiliki local
buffer
CPU memindahkan data dari main memory ke local
buffer dan sebaliknya
I/O dieksekusi dari device local buffer controller
Device controller menginformasikan ke CPU
apabila operasi yang dilakukan telah selesai dengan
mekanisme interrupt
Interrupt





Interrupt mentransfer control ke interrupt service routine,
melalui interrupt vector (berisi alamat service routine)
Arsitektur interrupt harus menyimpan address (alamat)
dari instruksi interrupt
Interrupt yang datang di-disabled jika terdapat interrupt
yang sedang diproses (menghindari lost interrupt)
Trap adalah software yang men-generate interrupt, baik
karena error atau karena request dari user
Operating System merupakan interrupt driven
Penyebab Terjadinya Interrupt




Program : akibat eksekusi instruksi (division by
zero, invalid memory access, dsb) – trap
Timer : timer processor
I/O controller, operasi I/O sudah selesai /
terjadi error
Hardware malfunction : kesalahan hardware
(power failure, memory parity error, dsb)
Interrupt Handling


OS menjaga kondisi (state) dari CPU dengan
menyimpan register dan program counter
Menentukan tipe interrupt :
Polling
 Vectored interrupt system


Segmen-segmen kode yang terpisah menentukan
action apa yang dilakukan untuk masing-masing
tipe interrupt
Contoh Interrupt Vector Table
Abstraksi Interrupt I/O Device
(a)


(b)
(a) Tahapan eksekusi I/O device dan generate
interrupt
(b) Bagaimana proses CPU di-interrupt
Interrupt Time Line For a Single
Process Doing Output
Siklus Interrupt I/O (1)
Siklus Interrupt I/O (2)
Struktur I/O - Interrupt

Synchronous I/O. Ketika I/O dijalankan, control
dikembalikan ke user proses setelah proses I/O selesai




Menunggu instruksi idle sampai instruksi berikutnya
Menunggu loop (akses memory)
Hanya satu permintaan I/O dijalankan, tidak ada pemrosesan
I/O secara simultan
Asynchronous I/O. Ketika I/O dijalankan, control
dikembalikan ke user proses tanpa menunggu proses
I/O selesai



System call, permintaan ke OS dari user untuk menjalankan I/O
Device status table, berisi entry I/O device : tipe, address dan
status
OS mengindeks I/O device table untuk menentukan status
device dan memodifikasi table untuk interrupt
Dua Metode I/O
Synchronous
Asynchronous
Device-Status Table
Struktur I/O - DMA



I/O device dengan kecepatan tinggi tanpa
memerlukan CPU
Device controller mentransfer block data dari
buffer storage langsung ke memory tanpa intervensi
CPU
Interrupt di-generate per-block, tidak per-byte
Proses DMA
Struktur Storage

Main memory : media storage yang dapat diakses
langsung oleh CPU, kapasitas kecil (volatile)


Secondary storage : penyimpanan data dengan
kapasitas besar (non-volatile)



Volatile : isi data hilang jika power dimatikan
Non-volatile : data masih tersimpan walaupun power
dimatikan
Magnetic disk : permukaan disk dibagi dalam
track dan sector
Magnetic tape
Hirarkhi Storage (1)

Hirarki sistem storage diorganisasikan
berdasarkan :
Speed
 Cost
 Volatility


Caching : copy informasi ke sistem storage yang
lebih cepat; main memory dapat dipandang
sebagai cache terakhir dari secondary storage
Hirarkhi Storage (2)

Trade-off : cost & speed
Caching



Memory dengan kecepatan akses tinggi
Membutuhkan aturan cache management
Penggunaan caching mengharuskan data yang
secara simultan tersimpan dalam lebih dari satu
level hirarki storage konsisten
Abstraksi Migrasi Data
Proteksi Hardware




Dual-mode Operation
I/O Protection
Memory Protection
CPU Protection
Operasi Dual-Mode (1)


Sharing resource sistem membutuhkan OS
untuk memastikan bahwa program yang error
tidak mengakibatkan program lain dieksekusi
juga error
Hardware mendukung dua mode operasi :
User mode – eksekusi dilakukan oleh user
 Monitor mode (kernel mode / system mode) –
eksekusi dilakukan oleh OS

Operasi Dual-Mode (2)


Mode bit digunakan untuk mengindikasikan mode yang
sedang dijalankan : monitor (0) atau user (1).
Ketika interrupt atau kesalahan terjadi hardware diswitch ke monitor mode
Interrupt/fault
monitor
user
set user mode
Privileged instructions hanya dapat dilakukan oleh monitor mode
Proteksi I/O


Semua instruksi I/O menggunakan privileged
instructions
Harus dipastikan bahwa user program tidak
mendapat control komputer dalam kondisi
monitor mode (dimana user program, sebagai
bagian dari eksekusi, menyimpan alamat baru
dalam interrupt vector)
Prosedur Request I/O


Instruksi I/O adalah privileged, bagaimana user
program menjalankan I/O ?
System call – Metode yang digunakan oleh proses untuk
meminta suatu tindakan (action) oleh OS



Biasanya memanfaatkan trap pada lokasi spesifik dalam
interrupt vector
Control dilewatkan melalui interrupt vector ke service routine
OS, dan mode bit di-set menjadi monitor mode
Monitor memeriksa apakah parameter benar & legal,
kemudian mengeksekusi request, dan mengembalikan control
ke instruksi system call berikutnya
System Call untuk Menjalankan I/O
Proteksi Memory


Harus menyediakan proteksi memory untuk interrupt
vector dan interrupt service routines (ISR)
Prosedur proteksi memory, tambahkan dua register
yang menentukan range legal address akses program :



Base register – menyimpan alamat memory fisik terkecil
Limit register – berisi ukuran range
Memory diluar range yang didefinisikan diproteksi
Penggunaan Base and Limit
Register
Proteksi Hardware Address
Proteksi Hardware


Ketika eksekusi pada kondisi monitor mode, OS
memiliki akses bebas (monitor dan memory user)
Instruksi yang di-load pada base & limit register
adalah priviliged instruction
Proteksi CPU

Timer – interrupt komputer setelah periode tertentu
untuk memastikan OS me-maintain control





Timer diturunkan setiap clock tick
Ketika nilai timer = 0, interrupt terjadi
Timer biasanya digunakan untuk implementasi time
sharing
Time juga digunakan untuk menghitung waktu sekarang
Load-timer adalah privileged instruction.
Download