SlideShare a Scribd company logo
1 of 44
Anggota
Kelompok
1. Aditya Tri Ananda (09021181924019)
2. Irvan Kurniawan (09021181924159)
3. Muhammad Daffa Rizky Fatarah (09021181924014)
4. Muhammad Farras (09021281924158)
Virtual Memory
Pada Sistem Operasi Windows 10
Virtual Memory
Virtual Memory
● Memori fisik ukurannya kecil
● Ukuran program seringkali besar
○ Seluruh program tidak perlu di load dalam waktu yang sama
● Dibutuhkan suatu sistem alokasi memori
Virtual Memory
● Memanfaatkan memori sekunder sebagai tambahan memori utama
○ Seakan-akan memori virtual lebih besar dari memori fisik
● Ada sistem demand paging
○ Load bagian program yang diperlukan saja
● Dengan adanya memori lebih besar, memungkinkan lebih banyak program
untuk berjalan
○ Lebih efisien dalam membuat proses baru
Teknik Virtual Memory
Disc Paging
● Mengambil sebagian harddisk
sebagai tambahan RAM
● Disebut sebagai Page File
● Tidak meningkatkan performa
sistem
● Hanya bermanfaat apabila memori
primer kecil, sedangkan program
berukuran besar dan/atau banyak
Demand Paging
● Memecah proses menjadi task-
task kecil
● Hanya men-load task yang akan
diproses
● Tidak bisa digunakan pada driver
grafis dan hardware
Memory Representation Windows 10
Working Set
Working
Set
Private Sharable
+
Working Set = Jumlah Physical Memory
yang digunakan oleh suatu proses.
○ Privat Working Set = Jumlah Physical
Memori yang digunakan berkaitan
dengan tugas-tugas yang didedikasikan
untuk proses tersebut.
○ Sharable Working Set = jumlah
Physical Memory yang digunakan oleh
proses yang berkaitan dengan tugas
yang dapat dibagikan dengan proses
lain.
Example Working Set
Saat membuka dokumen Word, winword.exe tetap berada di Sharable Working
Set dan konten dokumen diletakkan di Private Working Set.
Jadi beberapa dokumen word yang dibuka secara bersamaan dapat berbagi
winword.exe yang sama sementara datanya bersifat private dan berbeda.
Sumber daya sistem bersama seperti DLLs, driver Sistem (file Kernel / OS.sys)
hanya ada sebagai Shared Process tanpa Private Working Set.
Tugas dan Layanan yang terdiri dari proses yang dapat dieksekusi (.exe)
merupakan Private Working Set yang memiliki sumber daya yang dapat
dibagikan.
Commit
● Commit dan Working Set dari semua proses yang berjalan dapat dilihat
pada tab Memory pada Resource Monitor.
● Commit adalah jumlah Virtual Memory yang dicadangkan oleh sistem
operasi untuk proses tertentu.
● Jumlah ini hanyalah perkiraan dari ukuran Page File yang diperlukan oleh
suatu proses, dan tidak dialokasikan sehingga sistem perlu menampilkan
Private Working Set dari suatu proses dalam Physical Memory ke Page File.
● Karena alasan inilah, ukuran Commit selalu lebih besar daripada Private
Working Set suatu proses.
Resource Monitor
Resource Monitor
Resource Monitor
Explanation Resource Memory
● Jumlah dari semua Commit proses menunjukkan permintaan Virtual
Memory oleh sistem yang perlu dipenuhi dari Page File.
● Ukuran Page File dapat dikonfigurasi jauh lebih sedikit daripada permintaan
Virtual Memory, karena sistem pada dasarnya akan menjadi non-fungsional
jika Private Working Set dari semua proses yang berjalan akan dialihkan.
Total Virtual Memory = Total Physical + Page File Size
= 3800 + 1024 = 4824 MB = 4.71 GB.
Committed (Virtual In Use) = Total Virtual – Available Virtual
= 4.71 GB – 2.96 GB
= 1.75 GB (as seen on Task Manager).
Virtual Memory on Windows 10
● Memori Virtual di Windows --> polimorfik.
● Polimorfik = Satu terminologi berlaku untuk representasi memori di mana dalam
pengertian teknis yang sebenarnya, Virtual Memory = Total Physical Memory +
Page File Size
● Memori Virtual juga mengacu pada abstraksi memori Sistem Operasi ke dalam direktori
proses.
● Setiap folder adalah kumpulan Page (segmen 4 KB) yang tersebar di memori dari
Working Set Process, dengan data lokasi Page yang mendasari per proses berada di
Page Tabel Berbeda.
● Page Table ini adalah urutan Page berurutan dari suatu proses Working Set, dimana
halaman diidentifikasi oleh indeks yang ditetapkan mulai dari 0 hingga 2 ^ bit
alamat, dengan setiap indeks halaman menentukan lokasi acak Page dalam Physical
Memory. Hal ini memungkinkan perangkat lunak OS untuk mengindeks secara
berurutan melalui proses Page dan menjalankan kode dengan merujuk ke lokasi
Page Physical Memory dalam Page Table.
Physical Memory
Pysical Memory
● Mengacu pada chip atau modul RAM yang
sebenarnya
● Biasanya dipasang pada motherboard komputer.
● Akses terhadap lokasi-lokasi di dalamnya dilakukan
secara acak (random), bukan secara berurutan
(sekuensial).
● Bersifat sementara
Component Pysical Memory
Physical memory yang terpasang = 4GB = 4098 MB
In Use
1648 MB
Modified
52 MB
Standby
1111 MB
Free
989 MB
Hardware
Reserved
296 MB
+ + + +
In Use Modified Standby Free
Hardware
Reserved
● Harus selalu
ada pada
RAM.
● Terkunci dan
tidak
tersedia
untuk
pengelola
memori.
● Bagian
utama dari
ini adalah
Memori
Grafis
Berisi halaman
yang
dimodifikasi
yang telah
dihapus dari set
kerja proses
Jumlah total
Set Kerja dari
semua proses
● sistem
operasi
● kernel
● driver
● berbagai
aplikasi.
● Halaman
yang tidak
dimodifikasi
dipindahkan
dalam
Standby
● Semua
halaman
dalam
Standby
tersedia
untuk
permintaan
alokasi
memori.
● Lokasi yang
belum
dialokasikan
ke proses
apa pun
● Atau sudah
dialokasikan
tetapi
dikembalika
n ke manajer
memori
untuk
digunakan
kembali.
Organize Virtual Memory di Windows 10
Demand Paging
● Setiap sistem operasi bertanggung jawab dalam mengatur informasi
dalam PCB
● CPU bisa mengakses Page Table Base Address di dalam PCB
● CPU memiliki Program Counter yang berisi virtual address
● MMU di CPU akan menghubungkan memori fisik dan memori virtual
○ Disimpan di Memori Address Register (MAR)
● CPU akan membaca alamat memori di MAR dan mengeksekusi instruksi
yang ada
Demand Paging
CPU
Memori
Fisik
Alamat
Virtual
PC
MMU
MAR
Demand Paging
● Jika isi instruksi adalah lokasi memori lain yang berisi instruksi lain, maka
MAR akan di-update sehingga berisi instruksi dari memori lain tersebut
○ Context Switching
● MMU akan menghasilkan Page Fault jika alamat page virtual tidak ada
atau ada kekurangan nomor frame
○ Page Handler
○ Mencari alamat yang hilang / tidak ada
● Jika ditemukan, akan di-load dan dieksekusi
○ Jika tidak ditemukan, maka proses terhenti
TLB Reach
TLB reach ataujangkauan TLB adalah jumlahmemori yangdapatdiakses dari TLB (Translation
Lookaside buffers). Jumlah tersebut merupakan perkalian dari jumlah masukan denganukuran
halaman.
Jika jumlah masukan dari TLB dilipatgandakan, maka jangkauan TLB juga akanbertambah
menjadi dua kali lipat. Idealnya, working set dari sebuah proses disimpan dalamTLB. Jika tidak,
maka proses akan menghabiskan waktu yangcukupbanyak mengatasi referensi memori di
dalamtabel halaman daripada di TLB. Tetapi untuk beberapa aplikasi hal ini masihbelumcukup
untuk menyimpan working set.
Jangkauan memori = (jumlah masukan TLB) x (ukuran halaman).
TLB Reach
Cara lain untuk meningkatkan jangkauan TLB adalah dengan menambah ukuran halaman. Jika
ukuran halaman dijadikan dua kali lipatnya, maka jangkauanTLB juga akanmenjadi duakali
lipatnya.
Namunhal ini akan meningkatkan fragmentasi untuk aplikasi-aplikasi yang tidak membutuhkan
ukuran halaman sebesaritu. Sebagai alternatif, SistemOperasi dapat menyediakan ukuran
halaman yangbervariasi.
Sebagai contoh, UltraSparcII menyediakan halaman berukuran 8 KB, 64 KB, 512 KB, dan 4 MB.
Sedangkan Solaris 2 hanya menggunakan halamanukuran 8 KB dan4 MB.
TLB Reach
- Berbentuk perangkat keras cache yang terletak dalam MMU
- Memetakan virtual page number (VPN) menjadi physical page number
(PPN)
- Dapat menggantikan page table dalam ukuran yang lebih kecil
Translasi Alamat dengan TLB
Segmentation
Sejarah
Segmentasi pertama di-
implementasikan di
komputer 16 bit dengan
nama Real Mode dan di
komputer 32 bit dengan
nama Protected Mode
Segmentasi dalam Sistem Operasi adalah teknik manajemen
memori dimana memori dibagi menjadi bagian-bagian
berukuran dinamis yang diberi nama Segmen.
Apa kelebihan teknik Segmentasi diatas Paging?
Segmentasi membagi segmen secara dinamis dan bisa
membagi sesuai fitur yang dibutuhkan sedangkan
paging bisa membagi 1 fitur dalam aplikasi menjadi
beda page sehingga mengurangi efisiensi dari program
yang kita jalankan.
Segment Table
Contoh Segment Table untuk Virtual Memory
Dalam Segment Table terdapat Base yaitu start address dari tiap Segment
dan Limit yaitu batas dinamis variabel ukuran dari tiap Segment
Transisi Segment ke Physical Address
Kekurangan Segmentation
Internal Fragment
Meski External Fragmen
tation hanya ada di
Segmentasi, terdapat
juga Internal Fragmen
tation yang hanya terjadi
di demand paging, Hal ini
akan dibahas pada topik
Optimizing Page Size
Karna kita sudah membahas kelebihan segmentasi dari
demand paging di 3 slide sebelumnya, lanjut kita bahas
kekurangannya
Kekurangan umum yang dipunyai segmentasi adalah
algoritma yang kompleks dan memakan resource serta
susahnya memasukkan memori berkelanjutan ke segmen
yang berukuran dinamis.
Tetapi Kekurangan Fatal dari segmentasi adalah bisa
terjadi External Fragmentation yang akan dijelaskan di
slide berikutnya
External Fragmentation
External Fragmentation terjadi ketika jumlah keseluruhan memori
bebas yang tersedia cukup untuk menampung permintaan ruang
memori dari sebuah proses
Namun dari ruang memori kosong tersebut yang ruang yang dapat
dipakai pun terpisah-pisah karena alokasi yang dinamis sehingga
proses tidak dapat menggunakannya.
Solusi untuk fragmentasi eksternal adalah pemadatan, tetapi mahal
untuk diterapkan, sehingga proses harus diizinkan untuk memperoleh
memori fisik dengan cara yang tidak berdekatan
Segmentation with Demand Paging
External Fragment
External Fragmentation
adalah salah satu penye
bab utama dari memory
leakage sehingga fatal
bagi sistem operasi yang
terkena. Inilah salah satu
alasan digabungkan
segmentation dan paging
Kita telah melihat bahwa teknik segmentasi ataupun
demand paging memiliki kelemahan unik masing-masing
Salah satu cara solusi unik untuk menyelesaikannya adalah
melakukan penggabungan dari teknik Segmentation dan
Demand Paging
Penggabungannya adalah dimana tiap segmen terdiri
dari page berkelanjutan yang didefinisikan di page
table dengan page frame nya disiapkan di memory
Lebih jelas akan ada di gambar di slide berikutnya
Segmentation with Demand Paging
Fragmentasi
Fragmentasi merupakan fenomena munculnya lubang-lubang (ruang
memori kosong) yang tidak cukup besar untuk menampung permintaan
alokasi memori dari proses.
Fragmentasi terdiri dari 2 jenis, yaitu :
- Eksternal
- Internal
Fragmentasi
Dalam kasus first fit dan juga best fit sebagaimana yang telah dijelaskan di atas, pada saat proses dimasukkan atau
dipindahkan dari memori, ruang memori yang tidak terpakai akan dipecah menjadi bagian yang kecil (sisa dari
alokasi sebuah proses pada sebuah ruang memori). Eksternal fragmentasi terjadi apabila jumlah keseluruhan
memori bebas yang tersedia cukup untuk menampung permintaan ruang memori dari sebuah proses, namun dari
ruang memori kosong tersebut terpisah-pisah sehingga proses tidak dapat menggunakannya. Hal ini sering
terjadi pada alokasi penyimpanan yang dinamis.
Fragmentasi Eksternal
Fragmentasi internal terjadi ketika kapasitas memori yang diberikan ke sebuah proses melebihi besarnya
permintaan yang diajukan oleh proses. Selisih antara besarnya memori yang dialokasikan dengan besarnya
permintaan proses disebut fragmentasi internal (memori yang ada di dalam sebuah partisi namun tidak
digunakan). Hal ini sering terjadi pada partisi tetap karena besar lubang yang disediakan akan selalu tetap,
berbeda halnya dengan sistem partisi dinamis yang memungkinkan suatu proses untuk diberikan alokasi memori
sebesar yang ia butuhkan.
Fragmentasi Internal
Optimizing Page Size
Hierarchical paging atau pemberian halaman secara bertingkat merupakan sebuah metode
pemberian halaman dengan cara membagi sebuah page table menjadi beberapa page table yang
berukuran lebih kecil. Metode ini merupakan solusi dari permasalahan alokasi page table
berukuran sangat besar pada main memory yang umumnya dihadapi pada sistem komputer
modern yang memiliki ruang alamat logika yang besar sekali (mencapai 2 pangkat 32 sampai 2
pangkat 64).
Konsep dasar metode ini yaitu menggunakan pembagian tingkat setiap segmen alamat logika.
Setiap segmen menunjukkan indeks dari sebuah page table, kecuali segmen terakhir yang
menunjuk langsung ke frame pada memori fisik. Segmen terakhir ini disebut offset (d). Dapat
disimpulkan bahwa segmen yang terdapat pada alamat logika menentukan berapa level paging
yang digunakan yaitu banyak segmen dikurang 1.
Optimizing Page Size dengan Multi-level Page Table
Dengan metode ini, isi pada indeks page table pertama akan menunjuk pada page
table kedua yang indeksnya bersesuaian dengan isi dari page table pertama
tersebut. Sedangkan isi dari page table kedua menunjukkan tempat dimana page
table ketiga bermula, sedang segmen alamat logika kedua adalah indeks ke-n
setelah starting point page table ketiga dan seterusnya sampai dengan segmen
terakhir.
Optimizing Page Size dengan Multi-level Page Table
Inverted Page Table adalah strategi untuk mengurangi ukuran tabel halaman dengan
mendefinisikan tabel Halaman di mana ruang alamat mengacu pada ruang alamat fisik RAM,
bukan ruang alamat virtual. Ini masuk akal pada sistem server yang memiliki RAM terpasang
dalam jumlah besar untuk memenuhi permintaan semua layanan yang berjalan. Sementara Page
Table diindeks (dialamatkan) oleh VPN ke PTE yang berisi PPN, Inverted Page Size diindeks oleh
PPN ke PTEs yang berisi VPN - sehingga membatasi ruang memori virtual ke ruang memori fisik.
Dalam implementasi normal memori virtual, setiap proses memiliki Page Table sendiri dengan
setiap Page Table memiliki kumpulan alamat virtual yang sama, sehingga ruang memori virtual
bervariasi tergantung pada jumlah proses yang berjalan. Dalam Inverted Page Tab;e, ruang
memori virtual ditetapkan oleh PPN yang mengindeks Tabel Halaman Tunggal yang digunakan
bersama oleh semua proses yang sedang berjalan, yang VPN-nya didistribusikan secara acak
dalam tabel. Mengalokasikan proses di page berkelanjutan akan menyebabkan fragmentasi
internal Page Table itu sendiri.
Optimizing Page Size dengan Inverted Page Table
Optimizing Page Size dengan Inverted Page Table
“it is always easier to destroy a complex
system than to selectively alter it”
-Roby James
(Author of book "Commitment")
Terima Kasih Atas Perhatiannya

More Related Content

What's hot (13)

Bernis Sagita - Manajemen Memory
Bernis Sagita - Manajemen MemoryBernis Sagita - Manajemen Memory
Bernis Sagita - Manajemen Memory
 
Zulyanti Megasari - Manajemen Memory
Zulyanti Megasari -  Manajemen MemoryZulyanti Megasari -  Manajemen Memory
Zulyanti Megasari - Manajemen Memory
 
Memori virtual
Memori virtualMemori virtual
Memori virtual
 
manajemen memori
manajemen memorimanajemen memori
manajemen memori
 
Sistem operasi manajemen memori linux
Sistem operasi manajemen memori linuxSistem operasi manajemen memori linux
Sistem operasi manajemen memori linux
 
Yuliana - Manajemen Memori Sistem Operasi
Yuliana  -  Manajemen Memori Sistem OperasiYuliana  -  Manajemen Memori Sistem Operasi
Yuliana - Manajemen Memori Sistem Operasi
 
Tipe manajemen memori pada sistem operasi
Tipe manajemen memori pada sistem operasi Tipe manajemen memori pada sistem operasi
Tipe manajemen memori pada sistem operasi
 
Ferli Apriadi - Manajemen Memory
Ferli Apriadi - Manajemen MemoryFerli Apriadi - Manajemen Memory
Ferli Apriadi - Manajemen Memory
 
Manajemen Memori
Manajemen MemoriManajemen Memori
Manajemen Memori
 
TUGAS IMPLEMENTASI VIRTUAL MEMORY
TUGAS IMPLEMENTASI VIRTUAL MEMORYTUGAS IMPLEMENTASI VIRTUAL MEMORY
TUGAS IMPLEMENTASI VIRTUAL MEMORY
 
08. 01.perangkat lunak sistem fix sti
08. 01.perangkat lunak sistem fix sti08. 01.perangkat lunak sistem fix sti
08. 01.perangkat lunak sistem fix sti
 
Slide4 manajemen memori _Bu Indra
Slide4 manajemen memori _Bu IndraSlide4 manajemen memori _Bu Indra
Slide4 manajemen memori _Bu Indra
 
Manajemen Memory
Manajemen MemoryManajemen Memory
Manajemen Memory
 

Similar to Implementasi virtual memory di windows 10 sistem operasi 4 reg a

alocation of frame in OS_rev.pptx
alocation of frame in OS_rev.pptxalocation of frame in OS_rev.pptx
alocation of frame in OS_rev.pptx
DestuAdiyanto2
 

Similar to Implementasi virtual memory di windows 10 sistem operasi 4 reg a (20)

alocation of frame in OS_rev.pptx
alocation of frame in OS_rev.pptxalocation of frame in OS_rev.pptx
alocation of frame in OS_rev.pptx
 
Virtual Memory Kelompok 4
Virtual Memory Kelompok 4Virtual Memory Kelompok 4
Virtual Memory Kelompok 4
 
Agung Deswantoro Adi - Memori Virtual
Agung Deswantoro Adi - Memori VirtualAgung Deswantoro Adi - Memori Virtual
Agung Deswantoro Adi - Memori Virtual
 
Agung Deswantoro Adi - Memori Virtual
Agung Deswantoro Adi - Memori VirtualAgung Deswantoro Adi - Memori Virtual
Agung Deswantoro Adi - Memori Virtual
 
Memory
MemoryMemory
Memory
 
Virtual memory
Virtual memoryVirtual memory
Virtual memory
 
Operating System (2)
Operating System (2) Operating System (2)
Operating System (2)
 
Virtual Memory
Virtual Memory Virtual Memory
Virtual Memory
 
Canmika Kumara Tungga - Memori Virtual
Canmika Kumara Tungga - Memori VirtualCanmika Kumara Tungga - Memori Virtual
Canmika Kumara Tungga - Memori Virtual
 
Paging sistem pada code program xi x.ppt
Paging sistem pada code program xi x.pptPaging sistem pada code program xi x.ppt
Paging sistem pada code program xi x.ppt
 
Tugas virtual memory
Tugas virtual memory Tugas virtual memory
Tugas virtual memory
 
Pert 8 Virtual Memory.ppt
Pert 8 Virtual Memory.pptPert 8 Virtual Memory.ppt
Pert 8 Virtual Memory.ppt
 
Teknik Manajemen Memory.pptx
Teknik Manajemen Memory.pptxTeknik Manajemen Memory.pptx
Teknik Manajemen Memory.pptx
 
Pert.8 memori virtual
Pert.8 memori virtualPert.8 memori virtual
Pert.8 memori virtual
 
Os ppt.9
Os ppt.9Os ppt.9
Os ppt.9
 
9 man memoriaplot
9 man memoriaplot9 man memoriaplot
9 man memoriaplot
 
Anggun Fatria - Manajemen Proses
Anggun Fatria - Manajemen ProsesAnggun Fatria - Manajemen Proses
Anggun Fatria - Manajemen Proses
 
Virtualization 2 indra
Virtualization 2 indraVirtualization 2 indra
Virtualization 2 indra
 
Pertemuan3
Pertemuan3Pertemuan3
Pertemuan3
 
Suci Arrum Meilani - Manajemen Memori
Suci Arrum Meilani - Manajemen MemoriSuci Arrum Meilani - Manajemen Memori
Suci Arrum Meilani - Manajemen Memori
 

Implementasi virtual memory di windows 10 sistem operasi 4 reg a

  • 1. Anggota Kelompok 1. Aditya Tri Ananda (09021181924019) 2. Irvan Kurniawan (09021181924159) 3. Muhammad Daffa Rizky Fatarah (09021181924014) 4. Muhammad Farras (09021281924158)
  • 2. Virtual Memory Pada Sistem Operasi Windows 10
  • 4. Virtual Memory ● Memori fisik ukurannya kecil ● Ukuran program seringkali besar ○ Seluruh program tidak perlu di load dalam waktu yang sama ● Dibutuhkan suatu sistem alokasi memori
  • 5. Virtual Memory ● Memanfaatkan memori sekunder sebagai tambahan memori utama ○ Seakan-akan memori virtual lebih besar dari memori fisik ● Ada sistem demand paging ○ Load bagian program yang diperlukan saja ● Dengan adanya memori lebih besar, memungkinkan lebih banyak program untuk berjalan ○ Lebih efisien dalam membuat proses baru
  • 6. Teknik Virtual Memory Disc Paging ● Mengambil sebagian harddisk sebagai tambahan RAM ● Disebut sebagai Page File ● Tidak meningkatkan performa sistem ● Hanya bermanfaat apabila memori primer kecil, sedangkan program berukuran besar dan/atau banyak Demand Paging ● Memecah proses menjadi task- task kecil ● Hanya men-load task yang akan diproses ● Tidak bisa digunakan pada driver grafis dan hardware
  • 8. Working Set Working Set Private Sharable + Working Set = Jumlah Physical Memory yang digunakan oleh suatu proses. ○ Privat Working Set = Jumlah Physical Memori yang digunakan berkaitan dengan tugas-tugas yang didedikasikan untuk proses tersebut. ○ Sharable Working Set = jumlah Physical Memory yang digunakan oleh proses yang berkaitan dengan tugas yang dapat dibagikan dengan proses lain.
  • 9. Example Working Set Saat membuka dokumen Word, winword.exe tetap berada di Sharable Working Set dan konten dokumen diletakkan di Private Working Set. Jadi beberapa dokumen word yang dibuka secara bersamaan dapat berbagi winword.exe yang sama sementara datanya bersifat private dan berbeda. Sumber daya sistem bersama seperti DLLs, driver Sistem (file Kernel / OS.sys) hanya ada sebagai Shared Process tanpa Private Working Set. Tugas dan Layanan yang terdiri dari proses yang dapat dieksekusi (.exe) merupakan Private Working Set yang memiliki sumber daya yang dapat dibagikan.
  • 10. Commit ● Commit dan Working Set dari semua proses yang berjalan dapat dilihat pada tab Memory pada Resource Monitor. ● Commit adalah jumlah Virtual Memory yang dicadangkan oleh sistem operasi untuk proses tertentu. ● Jumlah ini hanyalah perkiraan dari ukuran Page File yang diperlukan oleh suatu proses, dan tidak dialokasikan sehingga sistem perlu menampilkan Private Working Set dari suatu proses dalam Physical Memory ke Page File. ● Karena alasan inilah, ukuran Commit selalu lebih besar daripada Private Working Set suatu proses.
  • 14. Explanation Resource Memory ● Jumlah dari semua Commit proses menunjukkan permintaan Virtual Memory oleh sistem yang perlu dipenuhi dari Page File. ● Ukuran Page File dapat dikonfigurasi jauh lebih sedikit daripada permintaan Virtual Memory, karena sistem pada dasarnya akan menjadi non-fungsional jika Private Working Set dari semua proses yang berjalan akan dialihkan. Total Virtual Memory = Total Physical + Page File Size = 3800 + 1024 = 4824 MB = 4.71 GB. Committed (Virtual In Use) = Total Virtual – Available Virtual = 4.71 GB – 2.96 GB = 1.75 GB (as seen on Task Manager).
  • 15. Virtual Memory on Windows 10 ● Memori Virtual di Windows --> polimorfik. ● Polimorfik = Satu terminologi berlaku untuk representasi memori di mana dalam pengertian teknis yang sebenarnya, Virtual Memory = Total Physical Memory + Page File Size ● Memori Virtual juga mengacu pada abstraksi memori Sistem Operasi ke dalam direktori proses. ● Setiap folder adalah kumpulan Page (segmen 4 KB) yang tersebar di memori dari Working Set Process, dengan data lokasi Page yang mendasari per proses berada di Page Tabel Berbeda. ● Page Table ini adalah urutan Page berurutan dari suatu proses Working Set, dimana halaman diidentifikasi oleh indeks yang ditetapkan mulai dari 0 hingga 2 ^ bit alamat, dengan setiap indeks halaman menentukan lokasi acak Page dalam Physical Memory. Hal ini memungkinkan perangkat lunak OS untuk mengindeks secara berurutan melalui proses Page dan menjalankan kode dengan merujuk ke lokasi Page Physical Memory dalam Page Table.
  • 17. Pysical Memory ● Mengacu pada chip atau modul RAM yang sebenarnya ● Biasanya dipasang pada motherboard komputer. ● Akses terhadap lokasi-lokasi di dalamnya dilakukan secara acak (random), bukan secara berurutan (sekuensial). ● Bersifat sementara
  • 18. Component Pysical Memory Physical memory yang terpasang = 4GB = 4098 MB In Use 1648 MB Modified 52 MB Standby 1111 MB Free 989 MB Hardware Reserved 296 MB + + + +
  • 19. In Use Modified Standby Free Hardware Reserved ● Harus selalu ada pada RAM. ● Terkunci dan tidak tersedia untuk pengelola memori. ● Bagian utama dari ini adalah Memori Grafis Berisi halaman yang dimodifikasi yang telah dihapus dari set kerja proses Jumlah total Set Kerja dari semua proses ● sistem operasi ● kernel ● driver ● berbagai aplikasi. ● Halaman yang tidak dimodifikasi dipindahkan dalam Standby ● Semua halaman dalam Standby tersedia untuk permintaan alokasi memori. ● Lokasi yang belum dialokasikan ke proses apa pun ● Atau sudah dialokasikan tetapi dikembalika n ke manajer memori untuk digunakan kembali.
  • 20. Organize Virtual Memory di Windows 10
  • 21. Demand Paging ● Setiap sistem operasi bertanggung jawab dalam mengatur informasi dalam PCB ● CPU bisa mengakses Page Table Base Address di dalam PCB ● CPU memiliki Program Counter yang berisi virtual address ● MMU di CPU akan menghubungkan memori fisik dan memori virtual ○ Disimpan di Memori Address Register (MAR) ● CPU akan membaca alamat memori di MAR dan mengeksekusi instruksi yang ada
  • 23. Demand Paging ● Jika isi instruksi adalah lokasi memori lain yang berisi instruksi lain, maka MAR akan di-update sehingga berisi instruksi dari memori lain tersebut ○ Context Switching ● MMU akan menghasilkan Page Fault jika alamat page virtual tidak ada atau ada kekurangan nomor frame ○ Page Handler ○ Mencari alamat yang hilang / tidak ada ● Jika ditemukan, akan di-load dan dieksekusi ○ Jika tidak ditemukan, maka proses terhenti
  • 24. TLB Reach TLB reach ataujangkauan TLB adalah jumlahmemori yangdapatdiakses dari TLB (Translation Lookaside buffers). Jumlah tersebut merupakan perkalian dari jumlah masukan denganukuran halaman. Jika jumlah masukan dari TLB dilipatgandakan, maka jangkauan TLB juga akanbertambah menjadi dua kali lipat. Idealnya, working set dari sebuah proses disimpan dalamTLB. Jika tidak, maka proses akan menghabiskan waktu yangcukupbanyak mengatasi referensi memori di dalamtabel halaman daripada di TLB. Tetapi untuk beberapa aplikasi hal ini masihbelumcukup untuk menyimpan working set. Jangkauan memori = (jumlah masukan TLB) x (ukuran halaman).
  • 25. TLB Reach Cara lain untuk meningkatkan jangkauan TLB adalah dengan menambah ukuran halaman. Jika ukuran halaman dijadikan dua kali lipatnya, maka jangkauanTLB juga akanmenjadi duakali lipatnya. Namunhal ini akan meningkatkan fragmentasi untuk aplikasi-aplikasi yang tidak membutuhkan ukuran halaman sebesaritu. Sebagai alternatif, SistemOperasi dapat menyediakan ukuran halaman yangbervariasi. Sebagai contoh, UltraSparcII menyediakan halaman berukuran 8 KB, 64 KB, 512 KB, dan 4 MB. Sedangkan Solaris 2 hanya menggunakan halamanukuran 8 KB dan4 MB.
  • 26. TLB Reach - Berbentuk perangkat keras cache yang terletak dalam MMU - Memetakan virtual page number (VPN) menjadi physical page number (PPN) - Dapat menggantikan page table dalam ukuran yang lebih kecil
  • 28. Segmentation Sejarah Segmentasi pertama di- implementasikan di komputer 16 bit dengan nama Real Mode dan di komputer 32 bit dengan nama Protected Mode Segmentasi dalam Sistem Operasi adalah teknik manajemen memori dimana memori dibagi menjadi bagian-bagian berukuran dinamis yang diberi nama Segmen. Apa kelebihan teknik Segmentasi diatas Paging? Segmentasi membagi segmen secara dinamis dan bisa membagi sesuai fitur yang dibutuhkan sedangkan paging bisa membagi 1 fitur dalam aplikasi menjadi beda page sehingga mengurangi efisiensi dari program yang kita jalankan.
  • 29. Segment Table Contoh Segment Table untuk Virtual Memory Dalam Segment Table terdapat Base yaitu start address dari tiap Segment dan Limit yaitu batas dinamis variabel ukuran dari tiap Segment
  • 30. Transisi Segment ke Physical Address
  • 31. Kekurangan Segmentation Internal Fragment Meski External Fragmen tation hanya ada di Segmentasi, terdapat juga Internal Fragmen tation yang hanya terjadi di demand paging, Hal ini akan dibahas pada topik Optimizing Page Size Karna kita sudah membahas kelebihan segmentasi dari demand paging di 3 slide sebelumnya, lanjut kita bahas kekurangannya Kekurangan umum yang dipunyai segmentasi adalah algoritma yang kompleks dan memakan resource serta susahnya memasukkan memori berkelanjutan ke segmen yang berukuran dinamis. Tetapi Kekurangan Fatal dari segmentasi adalah bisa terjadi External Fragmentation yang akan dijelaskan di slide berikutnya
  • 32. External Fragmentation External Fragmentation terjadi ketika jumlah keseluruhan memori bebas yang tersedia cukup untuk menampung permintaan ruang memori dari sebuah proses Namun dari ruang memori kosong tersebut yang ruang yang dapat dipakai pun terpisah-pisah karena alokasi yang dinamis sehingga proses tidak dapat menggunakannya. Solusi untuk fragmentasi eksternal adalah pemadatan, tetapi mahal untuk diterapkan, sehingga proses harus diizinkan untuk memperoleh memori fisik dengan cara yang tidak berdekatan
  • 33. Segmentation with Demand Paging External Fragment External Fragmentation adalah salah satu penye bab utama dari memory leakage sehingga fatal bagi sistem operasi yang terkena. Inilah salah satu alasan digabungkan segmentation dan paging Kita telah melihat bahwa teknik segmentasi ataupun demand paging memiliki kelemahan unik masing-masing Salah satu cara solusi unik untuk menyelesaikannya adalah melakukan penggabungan dari teknik Segmentation dan Demand Paging Penggabungannya adalah dimana tiap segmen terdiri dari page berkelanjutan yang didefinisikan di page table dengan page frame nya disiapkan di memory Lebih jelas akan ada di gambar di slide berikutnya
  • 36. Fragmentasi merupakan fenomena munculnya lubang-lubang (ruang memori kosong) yang tidak cukup besar untuk menampung permintaan alokasi memori dari proses. Fragmentasi terdiri dari 2 jenis, yaitu : - Eksternal - Internal Fragmentasi
  • 37. Dalam kasus first fit dan juga best fit sebagaimana yang telah dijelaskan di atas, pada saat proses dimasukkan atau dipindahkan dari memori, ruang memori yang tidak terpakai akan dipecah menjadi bagian yang kecil (sisa dari alokasi sebuah proses pada sebuah ruang memori). Eksternal fragmentasi terjadi apabila jumlah keseluruhan memori bebas yang tersedia cukup untuk menampung permintaan ruang memori dari sebuah proses, namun dari ruang memori kosong tersebut terpisah-pisah sehingga proses tidak dapat menggunakannya. Hal ini sering terjadi pada alokasi penyimpanan yang dinamis. Fragmentasi Eksternal
  • 38. Fragmentasi internal terjadi ketika kapasitas memori yang diberikan ke sebuah proses melebihi besarnya permintaan yang diajukan oleh proses. Selisih antara besarnya memori yang dialokasikan dengan besarnya permintaan proses disebut fragmentasi internal (memori yang ada di dalam sebuah partisi namun tidak digunakan). Hal ini sering terjadi pada partisi tetap karena besar lubang yang disediakan akan selalu tetap, berbeda halnya dengan sistem partisi dinamis yang memungkinkan suatu proses untuk diberikan alokasi memori sebesar yang ia butuhkan. Fragmentasi Internal
  • 40. Hierarchical paging atau pemberian halaman secara bertingkat merupakan sebuah metode pemberian halaman dengan cara membagi sebuah page table menjadi beberapa page table yang berukuran lebih kecil. Metode ini merupakan solusi dari permasalahan alokasi page table berukuran sangat besar pada main memory yang umumnya dihadapi pada sistem komputer modern yang memiliki ruang alamat logika yang besar sekali (mencapai 2 pangkat 32 sampai 2 pangkat 64). Konsep dasar metode ini yaitu menggunakan pembagian tingkat setiap segmen alamat logika. Setiap segmen menunjukkan indeks dari sebuah page table, kecuali segmen terakhir yang menunjuk langsung ke frame pada memori fisik. Segmen terakhir ini disebut offset (d). Dapat disimpulkan bahwa segmen yang terdapat pada alamat logika menentukan berapa level paging yang digunakan yaitu banyak segmen dikurang 1. Optimizing Page Size dengan Multi-level Page Table
  • 41. Dengan metode ini, isi pada indeks page table pertama akan menunjuk pada page table kedua yang indeksnya bersesuaian dengan isi dari page table pertama tersebut. Sedangkan isi dari page table kedua menunjukkan tempat dimana page table ketiga bermula, sedang segmen alamat logika kedua adalah indeks ke-n setelah starting point page table ketiga dan seterusnya sampai dengan segmen terakhir. Optimizing Page Size dengan Multi-level Page Table
  • 42. Inverted Page Table adalah strategi untuk mengurangi ukuran tabel halaman dengan mendefinisikan tabel Halaman di mana ruang alamat mengacu pada ruang alamat fisik RAM, bukan ruang alamat virtual. Ini masuk akal pada sistem server yang memiliki RAM terpasang dalam jumlah besar untuk memenuhi permintaan semua layanan yang berjalan. Sementara Page Table diindeks (dialamatkan) oleh VPN ke PTE yang berisi PPN, Inverted Page Size diindeks oleh PPN ke PTEs yang berisi VPN - sehingga membatasi ruang memori virtual ke ruang memori fisik. Dalam implementasi normal memori virtual, setiap proses memiliki Page Table sendiri dengan setiap Page Table memiliki kumpulan alamat virtual yang sama, sehingga ruang memori virtual bervariasi tergantung pada jumlah proses yang berjalan. Dalam Inverted Page Tab;e, ruang memori virtual ditetapkan oleh PPN yang mengindeks Tabel Halaman Tunggal yang digunakan bersama oleh semua proses yang sedang berjalan, yang VPN-nya didistribusikan secara acak dalam tabel. Mengalokasikan proses di page berkelanjutan akan menyebabkan fragmentasi internal Page Table itu sendiri. Optimizing Page Size dengan Inverted Page Table
  • 43. Optimizing Page Size dengan Inverted Page Table
  • 44. “it is always easier to destroy a complex system than to selectively alter it” -Roby James (Author of book "Commitment") Terima Kasih Atas Perhatiannya