Abusing Virtual Memory to Exploit a Design Flaw in Intel Chips
This Project Zero artcile demonstrated a way to read priveledged memory location
by abusing Virtual Memory on Windows Machine. The article explains very
thoroughly how the exploit works and how it was first discovered, and how it can
be abused. A really interesting article about how virtual memory can be used to
penetrate a flaw in a computer processor.
OS: Tuning Manajemen Memory
This is an Indonesian article written by the one and only Mr. Onno. Explains how
memory management works and how to properly tune it. Mr. Onno explained in the
article about things to avoid, this we can utilize to be more efficient in
memory usage, and such. I really recommend you to read this if you have no idea
what this week is talking about.
Virtual Memory Emulator
A virtual memory emulator written in Java. It simulates this functionality of
virtual memory using a few components such as a TLB lookup table, a page table,
physical memory for storing loaded frames from disk, and finally an address
reader.
Exploring virtual memory with vmstat
vmstat
, short for Virtual Memory Statistics Reporter, is a tool to helps you
explore the contents of your vitual memory. Things like memory, paging,
processes, IO, CPU, and disk scheduling are all included in the array of
information provided. This article will help you learn more about vmstat
.
The Cost of Software-Based Memory Management Without Virtual Memory
The costs of virtual memory have increased significantly. With large memory
workloads, virtualized environments, data center computing, and chips with
multiple DMA devices, virtual memory can degrade performance and increase power
usage. This paper investigates the issue and explored ways to improve software
performance.
How to use shared memory with Linux in C
This discussion discussed how to use shared memory with C using shmget
amd
mmap
. People also give code snippets/examples on how hared memory can be
implemented using both approach.
CLOCK-Pro: An Effective Improvement of the CLOCK Replacement
CLOCK-Pro aims to reducing the cost of paging between memory and disks. Due to
limitations of LRU/CLOCK, a few researcher begin to develop a new Virtual Memory
Pagings called LRM and later improvement called CLOCK-Pro. Checkout their
publication on the link above!
Improving performance on NUMA systems
As we know NUMA, or Non-Uniform Memory Access, is a way to access memory content
faster than traditional UMA. This paper talks about ways to tune and optimize
your NUMA-aware operating systems and how it complement Thrashing. From this
article I learned that we can tune NUMA behavior in Linux through numactl
utility.
OSDev WIKI: Virtual Memory Paging
This wiki page talks about paging structure in operating system development. The
article covers a lot of topics regarding Memory Paging, from guide to use MMU to
it’s manipulation and faults. The site itself worth a bookmark for future
reference.
Handling memory fragmentation
This pamphlet talks about how memory fragmentation issue can be a huge problem
if left unsolved. So the pamphlet also talks about ways to fix it and compare
common memory-allocation alogrithms (buddy, first-fit, etc) to see which algo
suits our needs better.