Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehFanny Sudirman Telah diubah "7 tahun yang lalu
1
Overview Device Model Hardware Assistance IO Virtualization
2
IO Virtualization Goal : Dua tipe dari IO subsystem architecture :
Share atau membuat IO devices untuk virtual machine Dua tipe dari IO subsystem architecture : Port Mapped IO Port-mapped IO menggunakan sebuah class spesial dari instruksi-instruksi CPU terutama untuk IO. Memory Mapped IO (MMIO) Memory Mapped IO menggunakan addressbus untuk mengalamatkan memori dan IO device, dan instruksi-instruksi CPU yang digunakan untuk mengakses juga digunakan untuk mengakses device. Traditional IO techniques : Direct memory Access (DMA) PCI / PCI Express
3
Port Mapped IO IO devices di mapping kedalam sebuah ruang address yang terpisah IO devices mempunyai sebuah ruang address yang terpisah dari memori umum, baik disempurnakan oleh ekstra pin “IO” pada interface fisik CPU, atau semua bus didedikasikan untuk IO. Biasanya ditemukan pada microprocessor dari intel, terutama pada instruksi IN dan OUT yang dapat me read dan write satu sampai empat byte (outb,outw,out1) pada sebuah IO device Pros & Cons Pros Lebih sedikit logic dibutuhkan untuk mendecode sebuah address diskrit. Keuntungan untuk CPU dengan kemampuan addressing yang terbatas. Cons Instruksi yang dibutuhkan lebih banyak untuk menyelesaikan tugas yang sama. Ukuran uang addressing IO tidak fleksibel.
4
Memory Mapped IO IO devices di mapping kedalam sebuah sistem memori map bersamaan dengan RAM dan ROM. Untuk mengakses device, mudahnya dengan me read atau write ke address ‘spesial’ menggunakan instruksi akses memori normal. Pros & Cons Pros instruksi yang dapat mengakses memori dapat digunakan untuk mengoperasikan sebuah IO device. dapat dioperasikan pada data dengan instruksi yang lebih sedikit. Cons Ruang addressig memori fisik harus di share dengan IO device. Semua address bus harus di decode sepenuhnya untuk setiap device.
5
Direct Memory Access Apakah DMA ? Dua Tipe DMA :
Membolehkan beberapa subsistem hardware dalam komputer untuk mengakses sistem memori untuk membaca dan/atau menulis secara bebas untuk CPU. Dua Tipe DMA : Synchronous DMA Operasi DMA diakibatkan oleh software. Contohnya, driver sound card memicu operasi DMA untuk bermain musik. Asynchronous DMA Operasi DMA diakibatkan oleh device (hardware). Contohnya, network card menggunakan operasi DMA untuk me-load data kedalam memori dan menginterupsi CPU untuk manipulasi lebih lanjut.
6
PCI & PCI Express Apakah PCI ? Apakah PCI Express ?
PCI (Peripheral Component Interconnect) adalah sebuah komputer bus untuk dipasangkan sebuah hardware. Tipikal PCI card termasuk : Network cards, sound cards, modems Ekstra ports seperti USB atau serial, TV tuner cards dan disk controllers. Apakah PCI Express ? PCIe adalah sebuah card standar expansion card pada komputer yang didesain untuk menggantikan PCI, PCI-X, dan AGP. Topologinya berdasarkan pada point-to-point serial link, dan bukan arsitektur paralel bus yang di share.
7
PCI & PCI Express PCI sistem dasarnya terbangun dalam tiga topologi
PCI bus Secara paralel mengoneksikan antara device dan bridge PCI-PCI Bridge Mengoneksikan dua bus PCI Menjadi root dari bus yang dibawahnya PCI-ISA Bridge Mengoneksikan ISA device konvensional
8
PCI & PCI Express Sistem dasar PCIe dibangun dalam arsitektur point-to-point Root Complex Sama dengan sebuah host bidge dalam sebuah sistem PCI, root complex menggenerate transaksi request dalam kepentingan prosesor, dimana saling terkoneksi melalui sebuah bus lokal. Switch Menkoneksikan endpoint devices atau switch lainnya Endpoint Device Physical PCIe devices Legacy PCI devices PCI Express Bridge Mengkoneksikan subsistem legacy lainnya
9
IO Virtualization Implementasi Layer : System call Driver call
Interface antara aplikasi dan guest OS. Driver call Interface antara guest OS dengan IO device driver. IO operation Interface antara IO device driver dari guest OS dan hardware yang tervirtualisasi (dalam VMM).
10
IO Virtualization Dalam level system call :
Ketika sebuah aplikasi memanggil sebuah system call, system call akan di trap dalam VMM dulu. VMM mencegat system call, dan menjaga routine IO system call bayangan untuk mensimulasi fungsinya. Setelah simulasi, kontrol akan kembali ke aplikasi di guest OS.
11
IO Virtualization Pada level device driver call :
Mengadopsi teknik para-virtualisasi, maksudnya driver IO device pada guest OS harus dimodifikasi. Operasi IO dipanggil dengan maksud adanya hyper-call antara driver device yang dimodifikasi dan komponen IO dari VMM.
12
IO Virtualization Pada level IO operation, ada dua pendekatan :
Memory mapped IO Load/store pada region spesifik dari memori sebenarnya adalah interpretasi dari perintah untuk device. region memory mapped IO adalah terproteksi. Port mapped IO Instruksi input/output spesial dengan address spesial. Instruksi IO adalah previlege. Berdasarkan sifat dasar previlege, operasi IO akan di trap di VMM.
13
Overview Device Model Hardware Assistance IO Virtualization
14
Device Model Fokus pada implementasi level operasional IO.
Ini adalah pendekatan dari full virtualization. Relasi logikal antara guest OS dan VMM : VMM mencegat operasi IO dari guest OS. mengumpan operasi ini ke device model pada pltaform yang sedang berjalan. Device model butuh mengemulasikan interface operasi IO. Port mapped IO Memory mapped IO DMA ... etc.
15
Device Model Dua implementasi berbeda dari device model :
Device model diimplementasikan sebagai bagian dari VMM. Device model berjalan di ruang user sebagai sebuah servis stand alone. Type 1 Virtualization Type 2 Virtualization
16
Device Model IO virtualization flow Initialization – device discovery
VMM akan membuat guest OS menemukan IO device yang tervirtualisasi. Lalu guest OS akan me load device driver yang berkaitan. Operation – access interception Ketika guest OS mengeksekusi operasi IO, VMM akan mencegat akses tersebut. Setelah operasi virtual device, VMM akan mengembalikan kontrol ke guest OS. Virtualization – device virtualization Device model harus mengemulasikan logika elektronika untuk menjalankan semua definisi interface device dan efeknya. VMM mungkin share device fisik kepada semua mesin virtual.
17
Device Discovery Memvirtualisasi device bus fisik
Non-enumerable physical device Device-device ini mempunyai nomer hard-coded mereka sendiri. VMM harus mengatur beberapa informasi status pada port virtual device. Contohnya, PS/2 keyboard dan mouse. Enumerable physical device Device-device ini mendefinisikan sebuah metode penemuan device secara utuh. VMM harus mengemulasikan tidak hanya device itu sendiri, tapi perilaku bus. Contohnya, device PCI atau PCI express. Virtualize non-exist devices VMM harus mendefinisikan dan mengemulasikan semua fungsi dari device-device ini VMM mungkin mendefinisikan mereka sebagai non-enumerable atau enumerable devices. Guest OS butuh untuk me load beberapa driver baru dari virtual device ini.
18
Access Interception Setela vitual device ditemukan oleh guest OS, VMM harus mencegat dan mengontroll semua operasi IO dari guest. Port mapped IO operation Direct device assignment VMM harus MENYALAKAN (turn ON) bitmap IO fisik. Semua instruksi IO (IN/OUT) dari guest OS akan langsung dilakukan kepada hardware tanpa interfensi VMM. Indirect device assignment VMM harus MEMATIKAN (turn OFF) bitmap fisik IO. Semua instruksi dari guest OS akan dicegat oleh VMM dan dilanjutkan ke hardware fisik.
19
Access Interception Memory mapped IO operation DMA mechanism
Direct device assignment VMM harus menggunakan shadow page table untuk memapping ruang address device IO dari guest OS kepada ruang dari host. Lalu semua operasi IO dari guest OS tidak akan dicegat. Indirect device assignment VMM harus membuat semua entry dari ruang address device IO pada shadow page table menjadi invalid. Ketika guest OS megakses ruang address tersebut, hal tersebut akan mengenalkan page fault yang akan men-trap CPU ke VMM untuk emulasi device. DMA mechanism Address remapping Karena driver pada guest OS tidak tahu address fisik dari host, VMM butuh untuk me-remapping target DMA secara otomatis ketika mencegat guest OS.
20
Device Virtualization
IO device types : Dedicated device Ex : displayer, mouse, keyboard …etc. Partitioned device Ex : disk, tape …etc Shared device Ex : network card, graphic card …etc. Nonexistent physical device Ex : virtual device …etc.
21
Device Virtualization
Dedicated device Tidak perlu harus divirtualisasi. Secara teori, request dari device tersebut dapat mem-bypass VMM. Namun, mereka ditangani oleh VMM pertama kali sejak OS berjalan pada mode user. Partitioned device Dipartisi menjadi beberapa device virtual kecil sebagai dedikasi untuk VM. VMM mentraslasi ruang address untuk device fisik.
22
Device Virtualization
Shared device Harus di share anatara VM. Setiap VM mempunyai virtual device statenya sendiri. VMM mentranslasi request dari sebuah VM kepada device fisik. Nonexistent physical device Virtual device “terpasang” kepada sebuah VM meskipun tidak ada device fisik yang berhubungan. VMM mencegat request dari VM, mem-buffernya dan menginterupsi VM lainnya.
23
Performance Issues Ketika membicarakan performansi, ada dua masalah utama : Bagaimana membuat guest OS langsung mengakses address dari IO ? Selain dari pendekatan sofware yang dibahas diatas, kita dapat membuat hardware assistance (teknik intel EPT pada virtualisasi memori) untuk memapping address dari host ke guest tanpa membuat software overhead. Bagaimana membuat DMA langsung mengakses ruang memori pada guest OS ? Untuk operasi synchronous DMA, guest OS akan dapat memberikan address memori fisik host yang benar dengan menggunakan teknik EPT. Untuk operasi asynchronous DMA, hardware harus mengakses memori dari OS host yang akan memasukkan interfensi VMM.
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.