- Items in Memory and Their Addresses
Confused about why the powers of 2 keep popping up in computer-related topics? Learn the reasons for using "1 GB", "64 bits" etc. in this lesson on the domains of items in memory and their addresses.
- Details of C/C++ Dereferences and C++ Calls to delete
A reference listing the behaviour of the dereference and delete operators in different situations, and an explanation of why they behave the way they do.
- How Java Garbage Collection Works
The way that Java automatically deletes variables is explained in a straightforward manner.
- Virtual Memory
An explanation of the ideas of virtual memory and paging.
- Pentium Modes for Memory Addressing
Here we learn what the addresses used by program instructions actually refer to. This includes an explanation of bases and offsets, and how segmentation and virtual memory fit together using the quintessential example of the Pentium.
- Memory Protection
Main memory must be shared between all programs running on the system. Learn about the mechanisms that stop one program from accessing the variables, etc. of another program.
- C++ Compilation Process, Resolving of Dependencies, and Project Files
This article provides a deep theoretical understanding of the project files that make up a C++ program and the order in which classes, functions, and variable definitions/declarations must appear in code, to avoid compile-time errors.
- A System to Dynamically-Allocate Memory With Minimal Fragmentation
There are many situations where system software must dynamically allocate memory. This research paper proposes a solution to the problem for special cases, where a system is required that may not be fast, but has certain other qualities like minimal fragmentation.