Anda di halaman 1dari 35

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)

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 diswitch ke monitor mode
Interrupt/fault

monitor set user mode

user

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.

Anda mungkin juga menyukai