دانلود کتاب Memory Management: Algorithms and Implementations in C/C++ (Windows Programming/Development)
49,000 تومان
مدیریت حافظه: الگوریتم ها و پیاده سازی ها در C/C++ (برنامه نویسی/توسعه ویندوز)
| موضوع اصلی | الگوریتم ها و ساختارهای داده |
|---|---|
| نوع کالا | کتاب الکترونیکی |
| ناشر | Jones & Bartlett Publishers |
| تعداد صفحه | 360 |
| حجم فایل | 1009 کیلوبایت |
| کد کتاب | 9781556223471,1556223471 |
| نوبت چاپ | 1 |
| نویسنده | Bill Blunden |
|---|---|
| زبان | انگلیسی |
| فرمت | |
| سال انتشار | 2002 |
جدول کد تخفیف
| تعداد کتاب | درصد تخفیف | قیمت کتاب |
| 1 | بدون تخفیف | 25,000 تومان |
| 2 | 20 درصد | 20,000 تومان |
| 3 الی 5 | 25 درصد | 18,750 تومان |
| 6 الی 10 | 30 درصد | 17,500 تومان |
| 11 الی 20 | 35 درصد | 16,250 تومان |
| 21 الی 30 | 40 درصد | 15,000 تومان |
| 31 الی 40 | 45 درصد | 13,750 تومان |
| 41 الی 50 | 50 درصد | 12,500 تومان |
| 51 الی 70 | 55 درصد | 11,250 تومان |
| 71 الی 100 | 60 درصد | 10,000 تومان |
| 101 الی 150 | 65 درصد | 8,750 تومان |
| 151 الی 200 | 70 درصد | 7,500 تومان |
| 201 الی 300 | 75 درصد | 6,250 تومان |
| 301 الی 500 | 80 درصد | 5,000 تومان |
| 501 الی 1000 | 85 درصد | 3,750 تومان |
| 1001 الی 10000 | 90 درصد | 2,500 تومان |
ترجمه فارسی توضیحات (ترجمه ماشینی)
مدیریت حافظه: الگوریتم ها و پیاده سازی ها در C/C++ (برنامه نویسی/توسعه ویندوز)
تخصیص حافظه یک حوزه جذاب است که به معاوضه ها و تحقیقات پیشرفته رسیده است. در این کتاب، بیل بلاندن توانسته است نمای کلی بسیار خوبی از موضوع ارائه دهد.
با معرفی پایین ترین سطوح – سخت افزار، یعنی واحد مدیریت حافظه CPU آغاز می شود. سپس توضیح میدهد که سیستمهای عامل چگونه حافظه را مدیریت میکنند – بخشبندی، صفحهبندی، حافظه مجازی و آنچه بین آنها وجود دارد. در مرحله بعد، حافظه در سطح زبان برنامه نویسی مورد بررسی قرار می گیرد – مکانیسم های تخصیص سطح کامپایلر و هیپ در Fortran، COBOL، Pascal، C و در نهایت جاوا.
بخش دوم کتاب تمرین است: نویسنده چندین طرح مدیریت حافظه دستی (پیادهسازیهای خود malloc/free) را در C++ پیادهسازی میکند و آنها را از نظر عملکرد و سایر ویژگیها (مانند تکه تکه شدن حافظه) مقایسه میکند. در نهایت، او چند زباله جمعآور ساده (شمارش مرجع و نشانهروی) را پیادهسازی میکند و در فصل آخر کتاب نیز به طور خلاصه به موضوع مهم تخصیصدهندههای فرعی (همچنین به عنوان «استخر» یا «عرصه» معروف است. ).
در کل از کتاب لذت بردم. اما من چند نکته انتقادی (سازنده) دارم. اول از همه، کتاب برای چنین اثر فنی کمی بیش از حد محاوره ای است. به نظر میرسد مجموعهای از پستهای وبلاگ است، و بنابراین عمق ندارد. به عنوان مثال، بخش مدیریت حافظه ویندوز بسیار ناامید کننده است. تا آنجا که می توانم تلاش نویسنده برای نشان دادن روند اکتشاف خود با ابزارهای مختلف ردیابی و نظارت را تحسین کنم، بسیاری از این اطلاعات به خوبی شناخته شده و شرح داده شده است. درعوض، من انتظار ارائه کامل تری از موضوع را دارم.
مشکل دیگر کد ++C است. کد C++ در کتابها برای من جالب است – بنا به دلایلی در بیشتر آنها بسیار بد است، و این کتاب نیز از این قاعده مستثنی نیست. من وارد نمونهها نمیشوم زیرا تعداد آنها خیلی زیاد است، بنابراین فقط یک توصیه: اگر قصد دارید این کتاب را با اجرای کدها دنبال کنید (همیشه ایده خوبی است!) در مورد الگوریتمهایی که نویسنده توضیح میدهد بخوانید، اما بنویسید. پیاده سازی خودتان هیچ چیز خوبی برای یادگیری از کد ++C در این کتاب وجود ندارد، بنابراین ممکن است خودتان تمرین بیشتری داشته باشید.
Memory 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.

نقد و بررسیها
هنوز بررسیای ثبت نشده است.