|
|
libcats.org
Memory Management: Algorithms and Implementations in C/C++Bill BlundenMemory allocation is a fascinating area, ripe in trade-offs and cutting-edge research. In this book, Bill Blunden manages to provide a pretty-good overview of the topic.
It begins with an introduction of the lowest levels - the hardware, namely the CPU memory management unit. Then it goes on to explain how operating systems manage memory - segmentation, paging, virtual memory and what's between them. Next, memory is examined on the programming-language level - compiler-level and heap allocation mechanisms in Fortran, COBOL, Pascal, C and finally Java. The second part of the book is the practice: the author implements several manual memory management schemes (own implementations of malloc/free) in C++, and compares them in terms of performance and other characteristics (like memory fragmentation). Finally, he implements a couple of simple garbage collectors (reference-counting, and mark-sweep), and in the last chapter of the book also briefly mentions the important topic of sub-allocators (also known as "pools" or "arenas"). Overall, I enjoyed the book. But I do have a few points of (constructive) criticism. First of all, the book is a bit too conversational for such a technical work. It feels like a collection of blog posts, and thus also lacks in depth. For example, the section on memory management of Windows is quite disappointing. As much as I can admire the author's attempt to show his exploration process armed by various tracing and monitoring tools, much of this information is well known and has been described. Instead, I would expect a more thorough presentation of the topic. The other problem is the C++ code. C++ code in books is a pet peeve of mine - for some reason it tends to be exceptionally bad in most of them, and this book is no exception. I won't go into examples because there are simply too many, so just a word of advice: if you intend to follow through this book actually implementing the code (always a good idea!) read about the algorithms the author describes, but write your own implementation. There's nothing good to learn from the C++ code in this book, so you might as well get some more practice on your own.
Скачать книгу бесплатно (pdf, 6.09 Mb)
Читать «Memory Management: Algorithms and Implementations in C/C++» EPUB | FB2 | MOBI | TXT | RTF
* Конвертация файла может нарушить форматирование оригинала. По-возможности скачивайте файл в оригинальном формате.
Популярные книги за неделю:
Система упражнений по развитию способностей человека (Практическое пособие)Автор: Петров Аркадий НаумовичКатегория: Путь к себе
Размер книги: 818 Kb
Сотворение мира (3-х томник)Автор: Петров Аркадий НаумовичКатегория: Путь к себе
Размер книги: 817 Kb
Elementary surveying. An introduction to geomaticsАвтор: Ghilani C.D., Автор: Wolf P.R.Категория: P_Physics, PGp_Geophysics
Размер книги: 43.64 Mb
Только что пользователи скачали эти книги:
Check Point NG VPN-1/Firewall-1: Advanced Configuration and TroubleshootingАвтор: Allen V. Keele, Автор: Daniel Kligerman, Автор: Drew Simonis, Автор: Corey Pincock, Автор: Cherie Amon
Размер книги: 9.19 Mb
Human Anatomy & PhysiologyАвтор: Elaine N. Marieb, Автор: Katja HoehnКатегория: Biology
Размер книги: 64.94 Mb
Энциклопедия элементарной математики. Том II. Энциклопедия элементарной геометрии. Книги II и III. Тригонометрия. Аналитическая геометрия и стереометрияАвтор: Вебер Г., Автор: Якобсталь В.
Размер книги: 4.23 Mb
Forensic Materials Engineering Case StudiesАвтор: Peter Rhys Lewis, Автор: Ken Reynolds, Автор: Colin GaggКатегория: Chemistry-Environmental-Material
Размер книги: 11.67 Mb
Proteins & Proteomics. Labolatory manualАвтор: Simpson RКатегория: Chemistry
Размер книги: 49.39 Mb
Computing systems reliability: models and analysisАвтор: Min Xie, Автор: Yuan-Shum Dai, Автор: and Kim-Leng Poh
Размер книги: 7.47 Mb
|
|
|