Anda di halaman 1dari 6

Desain Memori Virtual Pada Mikroarsitektur PowerPC, MIPS, dan X86 (Kuspriyanto)

DESAIN MEMORI VIRTUAL


PADA MIKROARSITEKTUR POWERPC, MIPS, DAN X86
Kuspriyanto *, Putut Joko Wibowo**

Abstrak - Banyak desain arsitektur mesin yang programer ketika besar data dan programnya
dimunculkan dan mesin yang diproduksi, dan akan melampaui kapasitas memori utama. Sebuah proses
memunculkan pula macam-macam keuntungan atau multiprogramming yang membutuhkan address-space
kerugian yang dihasilkan. Seperti yang ada dalam desain yang besar, keamanan proses merupakan sebuah
arsitektur komputer. Pada desain arsitektur komputer
teknologi yang sudah secara umum digunakan dan
terdapat berbagai macam mekanisme yang terjadi, salah
satunya adalah mekanisme memori virtual. prosesor-prosesor yang ada sekarang pun telah
Mekanisme memori virtual di buat agar sebuah memiliki teknologi yang mendukung proses ini.
mesin yang mempunyai sistem operasi dapat berjalan Tetapi sampai sekarang belum ada kesepakatan
secara efisien tanpa mengurangi salah satu faktor mengenai teknologi seperti apa yang mendukung
keuntungannya. proses ini. Hal ini disebabkan oleh ketidak-
Paper ini membahas teknologi mekanisme memori kompatibel-an mekanisme hardware pada masing-
virtual. Dan memaparkan desain manajemen memori masing arsitektur computer. Dan tidak ada usaha yang
pada tiga mikroarsitektur ,yaitu MIPS, PowerPC dan x86. cukup serius untuk membuat sebuah manajemen
Disini ditunjukkan keberagaman dukungan memori memori yang sama dan sebuah standar interface yang
virtual pada sistem operasi dan secara pengertian
dapat digunakan. Sehingga para desainer mempunyai
bagaimana keberagaman ini dapat memunculkan
kesulitan atau memberikan kemudahan pada sistem dua pilihan : pertama, membuat software yang mampu
operasi. berjalan di semua arsitektur sehingga meningkatkan
Detail spesifik dari sebuah arsitektur manajemen performa dan ketangguhan sebuah hardware.
memori prosesor tidak begitu memberikan keuntungan Atau para desainer membuat sebuah software
performa antara satu dengan yang lainnya. Karena yang mampu menjadi sebuah interface sehingga
inkompatibilitas membuat aplikasi dan sistem operasi sebuah hardware dapat didesain menjadi mirip dengan
lebih sulit dijalankan. Sesungguhnya sebuah sistem hardware lain yang desain arsitekturnya berbeda.
dibangun lebih sering menggunakan bagian kecil subset Disini akan dibahas mengenai mekanisme
dari fungsi yang komplit dari unit manajemen memori memori virtual dipandang dari sisi hardware dan
sehingga lebih mudah diatur.
beberapa contoh hardware (tiga arsitektur) dan
Secara de facto standar yang ada pada arsitektur
memori virtual Intel x68 tidak dapat disaingi, Karena x86 bagaimana memori virtual memori bekerja pada
memberikan berbagai kebutuhan fungsi yang modern. hardware-hardware tersebut dan pengamatan ini
Arsitektur baru yang muncul mungkin akan difokuskan pada sistem operasi dan mikroprosesor
menggunakan standar x86 walaupun tidak sepenuhnya. dengan sistem memori virtual demand paging.
Ukuran cache yang terus bertambah,
memungkinkan manajemen memori hardware II. KONSEP DASAR
dihilangkan. Jika sebuah sistem membutuhkan indeks Pada desain sistem memori virtual, memori
virtual yang besar, hirarki virtual cache maka tnsalasi utama menyimpan sebagian alamat proses yang sering
alamat hardware tidak akan begitu diperlukan. Caches digunakan dan bagian lain disimpan dalam disk dan
virtual tidak membutuhkan translasi alamat ketika data
diambil sesuai dengan keinginan. Sehingga akan
ditemukan di dalam cache dan jika cache cukup besar
maka tidak perlu mencari di dalam memori utama. muncul anggapan bahwa waktu akses akan terjadi
Sebagai ganti penggunaan hardware maka sistem operasi lebih banyak di memori utama daripada di disk.
dapat berfungsi sebagai memori virtual-termasuk Sistem operasi yang mendukung anggapan ini akan
translasi alamat dan proteksi-sehingga menghasilkan menerjemahkan alamat virtual pada alamat fisik saat
penambahan fleksibilitas dan kesederhanaan pekerjaan proses berlangsung dan hal ini hanya terjadi sekali.
software. Penerjemahan ini terjadi pada bagian pages dengan
dukungan unit manajemen memori.
I. PENDAHULUAN Pada gambar 1 ditunjukkan ruang sebuah
1.1.Latar Belakang memori virtual yang di bagi menjadi bagian-bagian
Memori virtual dikembangkan untuk yang sama dan diidentifikasikan
mengotomatiskan perpindahan data dari memori dengan nomor virtual pages. Memori fisik di bagi
utama ke secondary storage sehingga seperti sebuah menjadi page frames yang berukuran sama dan
tempat penyimpanan yang berkapasitas besar. Dan diidentifikasikan dengan nomor page frames.
teknik ini akan memudahkan pekerjaan seorang
*
Dosen Departemen Teknik Elektro ITB
**
Mahasiswa S2 Jurusan Teknologi Informasi ITB

31
Transmisi, Vol. 8, No. 2, Desember 2004 : 31 – 36

Dari PTE tadi maka sistem operasi harus dapat


menentukan
• id dari page (identitas address-space atau disebut
access key)
• nomor virtual page
• lokasi page di memori (nomor page frame) atau
lokasi pada disk (offset swap file)
• valid bit yang mengindikasikan kapan PTE berisi
bit terjemahan
• reference bit yang mengindikasikan kapan terakhir
page tersebut di akses
• modify bit yang mengindikasikan kapan terakhir
page tersebut ditulisi
• bit-bit proteksi page seperti read-write, read dan
sebagainya.
Sistem operasi menggunakan referensi dan
mengubah bit-bit untuk memperkirakan penggantian
Gambar 1 Memori virtual
page yang digunakan paling akhir. Sistem operasi
secara periodik mengosongkan bit referensi dari page
Frame menyimpan data dari page. Atau memori
yang dipetakan untuk mengukur penggunaan page.
virtual memetakan nomor virtual page ke nomor
Modify bit mengidikasikan kapan page yang di ganti
frame page. Mapping (pemetaan) menyebabkan
harus di tulis kembali ke dalam disk.
virtual page hanya dapat mempunyai satu lokasi
Untuk effisiensi maka semua informasi dari
alamat fisik. Pemetaan secara invers,yaitu dari nomor
kebutuhan sistem operasi jarang di simpan pada tiap
frame page ke nomor virtual page, menyebabkan
PTE. Sebenarnya nomor virtual page dan nomor
beberapa virtual page dipetakan pada satu frame page
frame page tidak diperlukan karena informasi bisa
yang sama, bisa dilaksanakan tetapi merupakan fungsi
didapatkan dari tabel lokasi PTE. Identitas address-
yang tidak begitu diperlukan.
space tidak diperlukan jika proses memiliki page-table
Sistem paging, jika sebuah ruang diperlukan
nya sendiri atau jika ada mekanisme lain selain
untuk proses dan page yang bersangkutan tidak
identitas address-space yang dapat membedakan
sedang digunakan, maka page dari proses akan
alamat yang dihasilkan oleh proses yang tidak
mengalami paged out (disimpan ke disk), memori
berhubungan. Seperi pada segmentasi page dimana
akan kosong untuk page aktif yang lain. Page yang
alamat virtual diterjemahkan ke dalam alamat fisik
dipindah dari disk ke memori ketika diperlukan
dalam dua tahap : pertama pembagian segmen dan
dinamakan paged in (dikembalikan ke memori).
yang kedua pembagian page. Item lain seperti
Ketika sebuah item dapat mengalami paging, maka
informasi blok disk ditempatkan pada tabel yang
item tersebut termasuk dalam item yang menempati
kedua.
ruang virtual, yang di akses dengan alamat virtual, dan
ruangan yang ada dialokasikan untuk informasi 2.2. Translation Look aside Buffers (TLB)
mapping. Sistem operasi mengalokasikan alamat dari Untuk mempercepat translasi hampir setiap
item tersebut hanya ketika item tersebut mengalami sistem hardware mempunyai cache untuk PTE yang
paging in. disebut translation look aside buffers (TLB). Identitas
address-space jika digunakan akan dapat membedakan
2.1. Page table entries
alamat virtualnya dengan alamat virtual dari proses
Informasi mapping di atur dalam page tables
yang lain. Agar proses load dan store dapat
entries (PTEs). Setiap PTE mengatur informasi untuk
diselesaikan maka TLB harus berisi lokasi firtual yang
satu halaman setiap waktu. Pada waktu yang
dipetakan oleh PTE. Jika tidak maka akan terjadi
minimum, PTE mengindikasikan apakah memori
miss pada TLB dan sistem harus mencari pada page
virtual page berada di memori, pada disk atau tidak
table untuk masukan yang cocok dan ditempatkan
dialokasikan. Sedangkan di saat overtime, memori
pada TLB.
virtual menangani fungsi tambahan termasuk
Jika sistem gagal untuk memetakan page table
melindungi address-space dan page-level, sehingga
maka page faults akan terjadi. Page faults akan
secara khusus PTE berisi informasi tambahan seperti
menginterupsi sistem operasi untuk menentukan
kapan page menyimpan kode eksekusi,kapan page
proses mana yang harus dilakukan terlebih dahulu :
dapat di ubah dan juga oleh unit mana isi page di
mengambil page dari disk dan diletakkan di memori,
ubah. Pada sistem operasi sekarang, didalamnya
membuat page baru jika page yang di cari belum ada,
termasuk Windows NT, Linux dan vaiasi dari Unix
atau mengirimkan sinyal error.
semuanya mendukung address-space dan proteksi
Mengacu pada alamat virtual yang menyebabkan
page-level degnan mekanisme ini.
miss pada TLB, tidak semua miss pada TLB terjadi
32
Desain Memori Virtual Pada Mikroarsitektur PowerPC, MIPS, dan X86 (Kuspriyanto)

pada page faults. Seperti yang terjadi pada TLB dan atau hirarki page table yang diindex oleh nomor
memori utama : jika sebuah page ada di dalam virtual page dan inverse-mapped yang diindex oleh
memori, mapping bisa terdapat pada TLB atau tidak, nomor frame page.
tetapi jika page yang dipetakan ada dalam TLB, page
tersebut pasti ada di memori fisik. Hirarki page tables

Gambar 4 Dua level hirarki page table

Gambar 4 menunjukkan hirarki dari page table


Gambar 2 Arsitektur TLB
yang didasarkan pada array data yang lebih besar
dapat dipetakan oleh array yang lebih kecil, dimana
pada gilirannya dapat dipetakan oleh array yang lebih
kecil lagi. Sebagai contoh jika kita mempunyai alamat
32 bit dan 4 kb page, 4 Gb address space tersusun atas
1.048.576 (220) page. Jika setiap page dipetakan oleh 4
byte PTE, maka dapat diorganisasi 220 PTE pada 4 Mb
struktur linear yang terdiri dari 1024 (210) page, yang
dapat dipetakan oleh 1024 PTE. Pada array linear,
1024 PTE menempati 4 Kb. Pada gambar 2
ditunjukkan bahwa user page table memetakan user
space dan root dari page table memetakan user page
table. Dua level pada tabel hirarki sering disebut juga
sebagai tabel level-1 dan level-2, penamaan ini sangat
berguna jika space yang dipetakan cukup besar dan
lebih dari dua level. Sebagai contoh, DEC Alpha
mendukung hirarki page yang terdiri dari tabel level-
Gambar 3 Miss pada TLB
0, level-1, level-2 dan level-3.
Ada dua metode akses untuk hirarki page table:
2.3. Organisasi Page Table top down atau bottom up. Pada metode top down
Pada generasi sebelumnya, seluruh address- alamat fisik digunakan sebagai referensi PTE pada
space masih bisa dipetakan ke dalam hardware. tabel; metode bottom up menggunakan alamat virtual.
Seiring dengan berkembangnya ukuran space address, Ketika seorang desainer menerapkan sistem
ukuran table ikut berkembang sampai dengan seorang memori virtual pada hardware akan muncul suatu
desainer sistem harus memindahkannya ke dalam masalah. Pilihan antara sistem hirarki atau inverted
memori. Gambaran yang diberikan adalah sebuah page tidak cukup jelas karena banyaknya perbedaan
table berukuran besar yang di simpan pada hardware pada performa dan penggunaan memori. Penerapan
dan di dapat dari menyembunyikan bagian dari page shared memory menghasilkan performa yang berbeda
table di hardware TLB dan secara otomatis mengisi terutama pada dukungan hardware yang berbeda.
TLB dari page table TLB yang mengalami miss. Sebagai contoh, shared memory dengan virtual caches
Pencarian page table, atau disebut page table membutuhkan manajamen yang lebih konsisten
walking adalah pekerjaan terbesar dalam menangani daripada shared memory dengan physical cache, dan
TLB miss. Oleh karena itu maka di desain sebuah interaksi shared memory dengan organisasi page table
organisasi page table yang dapat meminimalkan yang berbeda dapat menghasilkan variasi yang
pekerjaan dari table walking. Pencarian table dapat signifikan pada performa TLB. Skema proteksi
disederhanakan jika PTE diatur menjadi berdekatan address space juga sangat bergantung pada dukungan
sehingga nomor virtual page atau nomor frame page hardware dan berpengaruh besar pada implementasi
dapat digunakan sebagai offset untuk menemukan shared memory. Dan juga TLB dapat di atur oleh
PTE yang cocok. Proses ini membawa pada dua tipe sistem operasi atau pada hardware, menunjukkan
utama dari organisasi page table : forward mapped perbedaan antara fleksibilitas dan performa. Memori

33
Transmisi, Vol. 8, No. 2, Desember 2004 : 31 – 36

virtual adalah suatu sistem kompleks yang di dalam user page table. Pada saat TLB mengalami
mengintegrasikan beberapa mekanisme hardware dan miss, register konteks berisi alamat virtual dari PTE
software yang berbeda. yang memetakan faulting address.
Table hirarki pertama kalinya diakses secara top MIPS menggunakan identitas address-space
down. Sanggahan yang biasa muncul untuk desain ini untuk menyediakan proteksi address-space. Untuk
adalah metode menyebabkan address space yang mengakses sebuah page, identitas address-space dari
tersebar di mana-mana. Metode ini melakukan proses yang aktif harus sesuai dengan identitas pada
pemborosan waktu karena membutuhkan lebih dari masukan page TLB. Pembersihan cache dan TLB
dua simpul untuk menutupi address space yang luas secara periodik tidak dapat dihindari, selama terdapat
dan tiap simpul membutuhkan referensi memori 64 identitas konteks yang unik pada R2000/R3000
selama proses table walking. Sedangkan metode dan 256 pada R10000. Banyak sistem memiliki lebih
bottom up, dimana muncul pertama kali secara banyak proses daripada sistem yang membutuhkan
komersial pada prosesor MIPS, lebih efisien walaupun pemakaian bersama identitas address-space dan
sama-sama membutuhkan lebih dari dua simpul untuk pemetaan ulang secara periodik ini.
memetakan address space yang luas. Karena user
PTES diperlukan untuk memetakan user address space 2.5.Arsitektur PowerPC
seperti di dalam cache, metode ini sering memerlukan Gambar 6. menunjukkan arsitektur PowerPC
referensi single memory untuk menutupi TLB miss. 604, dimana pemetaan alamat aplikasi “efektif” pada
Kedua macam metode tadi dapat memboroskan flat virtual address space global lebih besar dari pada
memori, karena ruang di dalam table dialokasikan address space masing-masing aplikasi. Arsitektur ini
oleh sistem operasi pada seluruh page seketika. mempunyai 256 Mb segmen yang daerah virtual space
Sebuah proses address space dengan single page nya berdekatan dan 16 segmen menyusun 4 Gb
didalamnya akan membutuhkan sebuah page PTE address space aplikasi. Empat bit paling awal dari
pada level user page table. Jika proses menambahkan alamat efektif 32 bit memilih sebuah identitas segmen
address space virtual page yang berdekatan dengan dari 16 register segmen hardware. Identitas segmen
page pertama kedalam metode ini, maka metode ini disambung dengan 28 bit paling akhir alamat efektif
akan dipetakan oleh page PTE yang ada. untuk membentuk sebuah alamat virtual yang
mengindeks cache dan dipetakan oleh TLB dan page
2.4. Arsitektur MIPS
table.
MIPS mendefinisikan sebuah arsitektur
manajemen memori yang sangat sederhana dimana
sistem operasi menangani TLB miss seluruhnya dalam
software. Sistem operasi menjalankan page table,
mengisi TLB dan dapat menerapkan penggantian TLB
secara virtual. Gambar 5. menunjukkan arsitektur
MIPS R 10000

Gambar 6 Arsitektur dari Power PC 604


Gambar 5 Arsitektur dari MIPS R10000
PowerPC mendefinisikan page table yang
terbagi-bagi bagi sistem operasi : variasi pada inverted
Hardware mendukung hirarki bottom up page table
page table sebagai software 8 jalur asosiatif cache
melalui register konteks TLB yang menyimpan
pada PTE. Desain ini tidak menjamin dapat
alamat virtual yang dipartisi ke dalam segmen
menyimpan semua pemetaan karena hanya merupakan
software-loaded. Segmen software ini meliputi bit-bit
cache dan seperti pada inverted table klasik, page
yang paling awal dan menyimpan dasar alamat virtual
table membutuhkan back aup dari page table. Pada
dari user page table. Segmen hardware-loaded
saat terjadi TLB miss, hardware menjalankan
meliputi bit-bit paling akhir dan menyimpan nomor
pembagian page table; software hanya dapat
virtual page dari faulting address. Segmen ini diisi
memeasukkan PTE ke dalam TLB secara tidak
ketika referensi user level mengalami miss TLB.
langsung dengan menempatkan PTE pada page table
Maka segmen akan mengindeks single PTE yang ada
34
Desain Memori Virtual Pada Mikroarsitektur PowerPC, MIPS, dan X86 (Kuspriyanto)

dan me-load nya kembali sehingga table hardware


berjalan.
Arsitektur tidak menyediakan secara eksplisit identitas
address space. Proteksi dari address space didukung
oleh register segmen, dimana hanya bisa diubah oleh
sistem operasi. Jika dua proses mempunyai identitas
segmen yang sama pada satu register segmen maka
segmen virtualnya akan dipakai bersama. Identitas
segmen mempunyai panjang 24 bit dan dapat menjadi
identitas unik lebih dari jutaan proses. Jika shared
memory digunakan pada register segmen sistem
operasi maka sistem operasi tidak perlu sering
memetakan kembali identitasnya.

2.6.Shared memory
Memori yang di-share sering digunakan melalui
memori virtual untuk meningkatkan efisiensi
penggunaan memori dan menurunkan waktu eksekusi. Gambar 7. Arsitektur x86
Shared memory memperkenankan referensi proses
multiple pada kode fisik yang sama dan data melalui Seperti pada PowerPC, x86 menggunakn
alamat virtual address yang berbeda. Ketika sebuah segmentasi untuk pemetaan awal alamat user level
contoh multiple program dijalankan maka kode pada address space global. Tidak seperti PowerPC,
program dibagi. mekanisme segmentasi x86 mendukung ukuran
Ada beberapa implementasi yang mungkin bagi segmen yang berubah-ubah dari 1 byte ke 4 Gb dan
shared memory. Salah satunya adalah virtual address virtual spsce global berukuran sama sebagai sebuah
aliasing. Pada skema ini setiap pemetaan pada fisik usel level address space individu (4 Gb). Aplikasi
page membutuhkan PTE logikanya sendiri. Mengatur user level mengeluarkan 32 bit alamat yang
multiple PTE memungkinkan shared memory untuk disambung dengan 16 segmen bit selector. Hardware
proses yang berbeda dengan menggunakan alamat menggunakan selector 16 bits untuk mengindeks satu
virtual yang berbeda pada fisik data yang sama., untuk dari dua software descriptor table untuk membuat
proses yang berbeda pada pemetaan fisik data yang base address segmen yang berhubungan dengan
sama dengan proteksi yang berbeda, atau untuk selector. Base address ini ditambahkan pada 32 bit
referensi virtual yang berbeda pada fisik data yang alamat virtual yang dikeluarkan oleh aplikasi untuk
sama yang mneyebabkan perilaku yang berbeda. membentuk sebuah alamat linear global 32 bit.
Sebagai contoh dua proses dapat dipetakan pada data Untuk performanya, hardware
yang sama dan lokasi yang berbeda pada address menyembunyikan enam selector proses pada chip
space nya. Sebuah proses dapat memetakan data read register segmen yang ditunjukkan oleh konteks.
only, dan proses yang lain memetakan data read write. Sebuah selector ditunjukkan secara implicit dengan
mengeksekusi intruksi. Selector yang lain meemtakan
2.7.Arsitektur x86 stasck. Dan empat selector yang lain memetakan
Gambar 7. menunjukkan arsitektur pada segmen data dan programer dapat merinci register
Pentium Pro, desain segmentasi yang ditunjukkan segmen mana yang menunjukkan proses load dan
tidak mempunyai identitas address space yang store yang berbeda.
explicit. Mekanisme segmentasinya lebih umum
daripada milik PowerPC, tatapi desain ini bisa lebih III. PENUTUP
membutuhkan ekstra referensi memori selama
instruksi dieksekusi untuk menegluarkan informasi 3.1.Kesimpulan
pemetaan segmen. Untuk alasan performa tersebut, Ada banyak keberagaman dalam bagaimana
maka mekanisme segmentasi pada x86 sering tidak prosesor komersial sekarang ini mendukung
digunakan pada sistem operasi yang ada sekarang ini. manajemen memori. Bagaimanapun juga detail
Setiap proses hirarki dari page table dijalankan oleh spesifik dari sebuah arsitektur manajemen memori
hardware. Sistem operasi menyediakan alamat fisik prosesor tidak begitu memberikan keuntungan
untuk root page table bagi hardware salah satu register performa antara satu dengan yang lainnya. Karena
control (CR3). Hardware menggunakan alamat ini inkompatibilitas membuat aplikasi dan sistem operasi
untuk menjalankan dua simpul table pada metode top lebih sulit dijalankan. Sesungguhnya sebuah sistem
down setiap TLB mengalami miss. Jika setiap proses dibangun lebih sering menggunakan bagian kecil
mempunyai page table nya sendiri maka TLB akan subset dari fungsi yang komplit dari unit manajemen
berisi prosesnya sendiri dan CR3 diubah. memori sehingga lebih mudah diatur.

35
Transmisi, Vol. 8, No. 2, Desember 2004 : 31 – 36

Hardware dan software yang tidak cocok pada sehingga menghasilkan penambahan fleksibilitas dan
memori virtual sepertinya tidak akan berubah dengan kesederhanaan pekerjaan software.
cepat. Walaupun secara de facto standar yang ada
pada arsitektur memori virtual Intel x68 tidak dapat
disaingi, Karena x86 memberikan berbagai ekbutuhan DAFTAR PUSTAKA
fungsi yang modern. Arsitektur baru yang muncul
mungkin akan menggunakan standar x86 walaupun 1. T. Kilburn et al., “One Level Storage System”,:
dalam bentuk yang lebih disederhanakan. IRE Trans.,April 1962. hal. 223-235.
Dengan ukuran cache yang terus bertambah, 2. B.L. Jacob dan T.N. Mudge,”Virtual Memory:
Issues of Implementation,”IEEE Micro,Juni 1998.
bisa dimungkinkan manajemen memori hardware
3. B.L. Jacob dan T.N. Mudge,”Virtual Memory in
akan dihilangkan. Jika sebuah sistem membutuhkan Contemporary Microprosessor,”IEEE
indeks virtual yang besar, hirarki virtual cache maka Micro,Agustus 1998.
tnsalasi alamat hardware tidak akan begitu diperlukan. 4. B.L. Jacob dan T.N. Mudge,”Software Managed
Caches virtual tidak membutuhkan translasi alamat Address Translation,”Proc. Third Int’l Symp. High
ketika data ditemukan di dalam cache dan jika cache Performance Computer Architecture (HPCA-
cukup besar maka tidak perlu mencarai did al;am 3),IEEE CS Press, Los Alamitos, Calif.,Februari
memori utama. Translasi alamat hanya akan dilakukan 1997.hal.156-167.
pada cache miss. Sebagai ganti penggunaan hardware 5. Stallings, William, “Computer Organization and
maka sistem operasi dapat berfungsi sebagai memori Architecture: Designing for Performance”,Pre.
Hall,2000.
virtual-termasuk translasi alamat dan proteksi-

36

Anda mungkin juga menyukai