Transcript
  • StrukturSistem Komputer

    2

  • 2Review: Struktur Sistem Komputer

    z Operasi Sistem Komputerz Struktur I/Oz Struktur Storagez Proteksi Hardware

  • 3Arsitektur Sistem Komputer

  • 4 Operasi Sistem Komputerz CPU devices dan I/O dapat beroperasi secara serentak

    (concurrent)z Efisiensi pemakaian CPU

    z Semua request ke I/O dikendalikan oleh I/O systems:z Setiap device terdapat controller yang mengendalikan device

    tertentu, misalkan video display => video card, disk => diskcontroller.

    z Setiap device controller mempunyai local buffer.z CPU memindahkan data dari/ke memory ke/dari local buffer.z Setelah itu controller akan mengirimkan data dari buffer ke

    device.z Bagaimana mekanisme I/O supaya CPU dapat melakukan

    switch dari satu job ke job lain?

  • 5Operasi Sistem Komputer(Cont.)z Ilustrasi:z Instruksi CPU dalam orde: beberapa mikro-detikz Operasi read/write dari disk: 10 15 mili-detikz Ratio: CPU ribuan kali lebih cepat dari operasi I/Oz Jika CPU harus menunggu (idle) sampai data transfer

    selesai, maka utilisasi CPU sangat rendah (lebih kecil 1%).

    z Solusi: operasi CPU dan I/O harus overlapz Concurrent: CPU dapat menjalankan beberapa I/O device

    sekaligusz CPU tidak menunggu sampai operasi I/O selesai tapi

    melanjutkan tugas yang lainz Bagaimana CPU mengetahui I/O telah selesai?

  • 6Programmed I/O (1)z Programmed I/Oz Mekanisme CPU yang bertanggung jawab memindahkan

    data dari/ke memori ke/dari controllerz CPU bertanggung jawab untuk jenis operasi I/Oz Transfer data dari/ke buffer

    z Controller melakukan detil operasi I/Oz Jika telah selesai memberikan informasi ke CPU => flag

    z Bagaimana CPU mengetahui operasi telah selesai?z Apakah menguji flag? Seberapa sering?

  • 7Programmed I/O (2)z CPU harus mengetahui jika I/O telah selesai =>

    hardware flag (controller)z Polling: CPU secara periodik menguji flag (true or

    false)z Menggunakan instruksi khusus untuk menguji flagz Masalah: seberapa sering? wasted CPU time !? Antar I/O

    device berbeda speed!z Interrupt:z Bantuan hardware melakukan interupsi pada CPU jika flag

    tersebut telah di-set (operasi I/O telah selesai)

  • 8Interruptz Interrupt:z CPU transfer control ke interrupt service routine, => address dari

    service routine yang diperlukan untuk device tsb.z Interrupt handler: menentukan aksi/service yang diperlukan

    z Struktur interrupt harus menyimpan address dari instruksi yang sedang dikerjakan oleh CPU (interrupted).z CPU dapat resume ke lokasi tersebut jika service routine telah

    selesai dikerjakanz Selama CPU melakukan service interrupt, maka interrupt

    selanjutnya tidak akan dilayani disabled, karena CPU tidakdapat melayani interrupt (lost).

    z Pengoperasian sistem tersebut menggunakan interrupt driven.

  • 9Interrupt Handlingz Hardware dapat membedakan devices mana yang

    melakukan interupsi.z Jenis interupsi :z pollingz vectored interrupt system

    z Tugas sistim operasi menyimpan status CPU (program counter, register dll)z Jika service routine telah selesai => CPU dapat

    melanjutkan instruksi terakhir yang dikerjakanz Sistim operasi akan load kembali status CPU tersebut.

  • 10

    Struktur I/Oz User request I/O:z CPU: load instruksi ke register controllerz Controller: menjalankan instruksi

    z Setelah I/O mulai, control kembali ke user program jika operasi I/O telah selesaiz Instruksi khusus: wait => CPU menunggu sampai ada

    interrupt berikutnya dari I/O tersebut.z Paling banyak hanya mempunyai satu I/O request.z Keuntungan: CPU mengetahui secara pasti device mana

    yang melakukan interrupt (operasi I/O selesai).z Kerugian: operasi I/O tidak dapat serentak untuksemua

    device

  • 11

    I/O Interruptz Pilihan lebih baik: asynchronous I/Oz Setelah I/O mulai, kendali langsung kembali ke user program

    tanpa menunggu I/O selesaiz CPU dapat melanjutkan operasi I/O untuk device yang lainz User program dapat menjalankan program tanpa menunggu atau

    harus menunggu sampai I/O selesai.z System call request ke OS untuk operasi I/O dan menunggu

    sampai I/O selesai.z Potensi lebih dari satu devicez User hanya dapat menggunakan I/O melalui system callz Device-status table memuat informasi untuk setiap I/O device:

    tipe, alamat, status dllz OS mengatur tabel ini dan mengubah isinya sesuai dengan

    status device (interrupt)

  • 12

    Dua Metode I/OSynchronous Asynchronous

  • 13

    Device-Status Table

  • 14

    Direct Memory Access (DMA)z Jika I/O devices sangat cepat (high-speed),beban

    CPU menjadi besar harus mengawasi transfer data dari controller ke memory dan sebaliknya.

    z Hardware tambahan => DMA controller dapatmemindahkan blok data dari buffer langsung kememory tanpa menggangu CPU.z CPU menentukan lokasi memory dan jika DMA controller

    telah selesai => interrupt ke CPUz Hanya satu interrupt ke CPU untuk sekumpulan data

    (blok).

  • 15

    Struktur Storagez Main memory z Media penyimpanan, dimana CPU dapat melakukan akses

    secara langsungz Secondary storage z Tambahan dari main memory yang memiliki kapasitas besar dan

    bersifat nonvolatilez Magnetic disks z Metal keras atau piringan yang terbungkus material magnetikz Permukaan disk terbagi secara logikal dalam track, yang

    masing-masing terbagi lagi dalam sectorz Disk controller menentukan interaksi logikal antara device dan

    komputer

  • 16

    Mekanisme Pergerakan Head-Disk

  • 17

    Hirarki Storage

    z Hirarki sistem storage, diorganisasikan dalambentuk :z Kecepatanz Biayaz Volatilitas

    z Cachingz Penduplikasian informasi ke dalam sistem storage

    yang cepat dapat dilakukan melalui cache padasecondary storage

  • 18

    Hirarki Storage-Device

  • 19

    Caching

    z Menggunakan memori berkecepatan tinggiuntuk menangani akses data saat itu juga(yang terbaru)

    z Membutuhkan manajemen cache.z Caching mengenalkan tingkatan lain dalam

    hirarki storage, dimana data secara serentakdisimpan pada lebih dari satu tingkatansecara konsisten

  • 20

    Migrasi dari Disk ke Register

  • 21

    Proteksi Hardwarez Dual-Mode Operationz Proteksi I/Oz Proteksi Memoryz Proteksi CPU

  • 22

    Dual-Mode Operationz Penggunaan resource sharing membutuhkan sistem

    operasi yang menjamin suatu program yang salahtidak menyebabkan program lain tidak terpengaruh

    z Menyediakan dukungan hardware yang dibedakanke dalam dua mode operasi :1. User mode eksekusi dilakukan untuk kepentingan user.2. Monitor mode (disebut juga kernel mode atau system

    mode) eksekusi dilakukan untuk kepentingan sistemoperasi.

  • 23

    Dual-Mode Operation (Cont.)z Mode bit ditambahkan pada computer hardware (CPU)

    untuk indikasi mode sekarang: monitor (0) atau user (1).

    z Jika terjadi interrupt/fault/error => hardware mengubahmode ke monitor

    monitor user

    Interrupt/fault

    set user mode

    Instruksi Privileged hanya dapat diberikan dalam mode monitor

  • 24

    Proteksi I/Oz Semua instruksi I/O adalah instruksi privileged:z Hanya dapat dilakukan melalui OSz OS dapat mencegah request ke I/O dengan melihat mode

    saat ini.z OS menjaga supaya program user tidak dapat

    menjadi monitor mode untuk mencegah user program melakukan:z Menangani interrupt: dengan mengubah alamat interrupt

    vector.z Mengubah status dan data pada device table

  • 25

    Penggunaan System Call untukPengoperasian I/O

  • 26

    Proteksi Memoryz Melindungi memori terutama untuk isi:z interrupt vector dan interrupt service routines.

    z Cara umum adalah setiap user program hanya dapatmengakses lokasi memori yang telah dibatasi (disediakanuntuk program tsb).z Range address alamat yang validz Base register menyimpan alamat terkecil memori secara fisikz Limit register besarnya jangkauan memori yang diijinkan

    z Memori diluar range tersebut tidak dapat diakses oleh user program tsb.

  • 27

    Penggunaan Base dan Limit Register

  • 28

    Proteksi Alamat Hardware

    z Ketika eksekusi pada mode monitor, OS dapat mengakses semualokasi memori.

    z Pemuatan instruksi ke base dan limit register tergantung instruksiprivileged

  • 29

    Proteksi CPU

    z Timerz Interupsi secara berkala oleh hardware: =>

    transfer control ke OS.z Nilai timer akan berkurang sesuai clock tick dari

    hardware komputer.z Saat nilai timer menjadi 0, interrupt terjadiz Housekeeping: melakukan CPU scheduling (jatah

    CPU), status device table dll.z Timer digunakan untuk system time.

    Struktur Sistem KomputerReview: Struktur Sistem KomputerArsitektur Sistem Komputer Operasi Sistem KomputerOperasi Sistem Komputer (Cont.)Programmed I/O (1)Programmed I/O (2)InterruptInterrupt Handling Struktur I/OI/O InterruptDua Metode I/ODevice-Status TableDirect Memory Access (DMA) Struktur StorageMekanisme Pergerakan Head-DiskHirarki StorageHirarki Storage-DeviceCachingMigrasi dari Disk ke Register Proteksi HardwareDual-Mode OperationDual-Mode Operation (Cont.)Proteksi I/OPenggunaan System Call untuk Pengoperasian I/OProteksi MemoryPenggunaan Base dan Limit RegisterProteksi Alamat HardwareProteksi CPU


Top Related