程序天空

系统程序开发
posts - 52, comments - 34, trackbacks - 1, articles - 28

Memory Management

Posted on Wednesday, November 24, 2004 2:56 PM #操作系统
Memory Management
EMS, XMS + Techniques..
[Up]

    Expanded Memory Specification - by Lotus, Intel & Microsoft
    "Expanded memory is memory beyond DOS's 640K-byte limit. The LIM specification supports up to 32M bytes of expanded memory. Because the 8086, 8088, and 80286 (in real mode) microprocessors can physically address only 1M bytes of memory, they access expanded memory through a window in their physical address range."

    Extended Memory Specification v3.0 - by Lotus, Intel, Microsoft, & AST Research
    "XMS allows DOS programs to utilize additional memory found in Intel's 80286 and 80386 based machines in a consistent, machine independent manner. With some restrictions, XMS adds almost 64K to the 640K which DOS programs can access directly. Depending on available hardware, XMS may provide even more memory to DOS programs. XMS also provides DOS programs with a standard method of storing data in extended memory."

    Extended Memory Specification v2.0 - by Lotus, Intel, Microsoft, & AST Research
    Older standard version of above standard.

    The Kernel Slab Allocator - by Jeff Bonwich
    "This paper presents a comprehensive design overview of the SunOS 5.4 kernel memory allocator. This allocator is based on a set of object-caching primitives that reduce the cost of allocating complex objects by retaining their state between uses. These same primitives prove equally effective for managing stateless memory (e.g. data pages and temporary buffers) because they are space-efficient and fast. The allocator’s object caches respond dynamically to global memory pressure, and employ an object-coloring scheme that improves the system’s overall cache utilization and bus balance. The allocator also has several statistical and debugging features that can detect a wide range of problems throughout the system."

    Doug Lea's Malloc - by Doug Lea
    "Memory allocators form interesting case studies in the engineering of infrastructure software. I started writing one in 1987, and have maintained and evolved it ever since. This allocator provides implementations of the the standard C routines malloc(), free(), and realloc(), as well as a few auxiliary utility routines."

    A Survey of Malloc Implementations - by Wilson, Johnstone, Neely & Boles
    "Dynamic memory allocation has been a fundamental part of most computer systems since roughly 1960, and memory allocation is widely considered to be either a solved problem or an insoluble one. In this survey, we describe a variety of memory allocator designs and point out issues relevant to their design and evaluation. We then chronologically survey most of the literature on allocators between 1961 and 1995. (Scores of papers are discussed, in varying detail, and over 150 references are given.)"

    This is an excellent Survey on the state of the art in memory allocation techniques. It talks about fragmentation, scalablilty, and different ways to implement malloc. Also included is a detailed survey of scholarly papers on memory allocation techniques.

Post Comment

Title  
Name  
Url
Comment   
Protected by Clearscreen.SharpHIPEnter the code you see: