Windows Programming Development Memory Management Algorithms And Implementation In C 1st edition by Bill Blunden – Ebook PDF Instant Download/Delivery. 1556223471, 978-1556223471
Full download Windows Programming Development Memory Management Algorithms And Implementation In C 1st edition after payment
Product details:
ISBN 10: 1556223471
ISBN 13: 978-1556223471
Author: Bill Blunden
Memory Management: Algorithms and Implementation in C/C++ describes how to construct production-quality memory managers. This approach includes both high-performance explicit memory managers and more intricate garbage collectors like those popularized by the Java Virtual Machine. Every implementation is complemented by an in-depth presentation of theory, benchmark tests, extensive source code examples, and a discussion of each implementation’s trade-offs.
Windows Programming Development Memory Management Algorithms And Implementation In C 1st Table of contents:
Chapter 1
Memory Management Mechanisms.
Mechanism Versus Policy
Memory Hierarchy
Address Lines and Buses.
Intel Pentium Architecture
Real Mode Operation
.
Protected Mode Operation.
Protected Mode Segmentation
Protected Mode Paging
Paging as Protection
.
Addresses: Logical, Linear, and Physical.
Page Frames and Pages
Case Study: Switching to Protected Mode
Closing Thoughts
References.
Memory Management Policies.
Chapter 2
Case Study: MS-DOS
DOS Segmentation and Paging
DOS Memory Map
Memory Usage
.
Example: A Simple Video Driver
Example: Usurping DOS.
Jumping the 640KB Hurdle
Case Study: MMURTL
Background and Design Goals.
MMURTL and Segmentation
Paging Variations.
MMURTL and Paging
Memory Allocation.
Case Study: Linux
History and MINIX.
Design Goals and Features.
Linux and Segmentation.
Linux and Paging.
Three-Level Paging
Page Fault Handling
Memory Allocation.
Memory Usage
Example: Siege Warfare
Example: Siege Warfare, More Treachery
Case Study: Windows.
Historical Forces
Memory Map Overview
Windows and Segmentation
Special Weapons and Tactics
Crashing Windows with a Keystroke
Reverse Engineering the GDT
Windows and Paging
Linear Address Space Taxonomy
Musical Chairs for Pages.
Memory Protection
Demand Paging.
Memory Allocation
Memory Usage
Turning Off Paging
Example: Things That Go Thunk in the Night
Closing Thoughts
References
Books and Articles
Web Sites
Chapter 3
High-Level Services.
View from 10,000 Feet.
Compiler-Based Allocation
Data Section.
Code Section
Stack.
Static or Dynamic?
Heap Allocation
System Call Interface.
The Heap
Manual Memory Management.
Example: C Standard Library Calls
Automatic Memory Management
Example: The BDW Conservative Garbage Collec
Manual Versus Automatic?.
The Evolution of Languages.
Case Study: COBOL
Case Study: FORTRAN.
Case Study: Pascal
Case Study: C
Case Study: Java.
Language Features.
Virtual Machine Architecture
Java Memory Management
Memory Management: The Three-layer Cake.
References
Chapter 4
Manual Memory Management.
Replacements for malloc() and free ()
System Call Interface and Porting Issues
Keep It Simple… Stupid!
Measuring Performance.
The Ultimate Measure: Time
ANSI and Native Time Routines
The Data Distribution: Creating Random Variates
Testing Methodology
Indexing: The General Approach
malloc() Version 1: Bitmapped Allocation.
Theory.
Implementation
tree.cpp
bitmap.cpp
memmgr.cpp
mallocV1.cpp
perform.cpp.
driver.cpp.
Tests.
Trade-Offs
malloc() Version 2: Sequential Fit.
Theory.
Implementation
memmgr.cpp
mallocV2.cpp
driver.cpp.
Tests.
Trade-Offs
malloc() Version 3: Segregated Lists
Theory.
Implementation
memmgr.cpp
mallocV3.cpp
Tests.
Trade-Offs.
Performance Comparison
Chapter 5
Automatic Memory Management
Garbage Collection Taxonomy
malloc() Version 4: Reference Counting
Theory.
Implementation
driver.cpp
mallocV4.cpp
perform.cpp.
memmgr.cpp
Tests.
Trade-Offs.
malloc() Version 5: Mark-Sweep
Theory.
Implementation
driver.cpp
mallocV5.cpp
.
perform.cpp.
memmgr.cpp
Tests.
Trade-Offs
Performance Comparison
Potential Additions.
Object Format Assumptions
Variable Heap Size
Indirect Addressing
Real-Time Behavior.
Life Span Characteristics
Multithreaded Support
Chapter 6
Miscellaneous Topics
Suballocators
Monolithic Versus Microkernel Architectures
Closing Thoughts
Index
People also search for Windows Programming Development Memory Management Algorithms And Implementation In C 1st :
programming memory management
memory programming
windows programming book
windows memory management