Struktur Sistem Komputer Pembahasan Operasi Sistem Komputer Struktur
Struktur Sistem Komputer
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
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
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 perbyte
Proses DMA
Struktur Storage • Main memory : media storage yang dapat diakses langsung oleh CPU, kapasitas kecil (volatile) – Volatile : isi data hilang jika power dimatikan • Secondary storage : penyimpanan data dengan kapasitas besar (non-volatile) – 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 di-switch 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.
- Slides: 35