References from Chapter 2:
Some very good contemporary textbooks on principles of operating systems:
- Crowley, Ch., Operating Systems, A design-oriented approach,
Irwin/McGraw-Hill, 1997
- Silberschatz, A., Galvin, P.B. and Gagne, G., Operating System Concepts,
John Wiley & Sons, Inc., 2002
- Stallings, W., Operating Systems, Internals and Design Principles,
Prentice-Hall Inc., 2001
- Tanenbaum, A.S., Modern Operating Systems, Prentice Hall, 2001
An excellent text (recommended in several chapters of this book) that is focused
on C++ and includes topics on effective memory management:
- Sutter, H., Exceptional C++, Addison Wesley Longman, 2000
Fundamentals of compilers principles and techniques, an oldie, but still the best
text around:
- Aho, A.V., Sethi, R. and Ullman, J.D., Compilers - Principles, Techniques,
and Tools, Addison-Wesley Publishing Company, 1988
Other texts on the fundamentals of compilers principles and techniques:
- Pittman, T. and Peters, J., The Art of Compiler Design, Theory and Practice,
Prentice-Hall, Inc., 1992
- Waite, W.M. and Carter, L. R., An Introduction to Compiler Construction,
HarperCollins College Publishers, 1993
Fundamentals of computer architecture:
- Hamacher, C., Vranesic, Z., Zaky, S., Computer Organization,
McGraw-Hill, 2002
- Hennessy, J. and Patterson , D., Computer Architecture A Quantitative
Approach, Morgan Kaufmanns Publishers, Elsevier Science (USA), 2002
- Murdocca, M. and Heuring, V.P. ,Principles of Computer Architecture,
Prentice Hall, 1999
- William Stallings, Computer Organization and Architecture - Principles of
Structure and Function, Prentice-Hall, Inc., 1996
Fundamentals of programming languages:
- Clark, R.G., Comparative Programming Languages, Addison-Wesley,
2001
- Mitchell, J.C., Concepts in Programming Languages, Cambridge
University Press, 2002
- Pratt, T.W. and Zelkowitz, M.V., Programming Languages - design and
implementation, Prentice-Hall, Inc., 2001
The Internet is an excellent source for technical details about memory and memory
management in various operating systems, but there is no guarantee of how the links will
be maintained in the future.
- Gorman, M., Code commentary on the Linux Virtual Memory Manager,
http://www.csn.ul.ie/~mel/projects/vm/guide/pdf/code.pdf
- Gorman, M., Understanding the Linux Virtual Memory Manager, http://www.csn.ul.ie/~mel/projects/vm/guide/pdf/understand.pdf
- Myers, N.C., Memory Management in C++, C++ report, July/August
1993
(part 1) and December 1993 (part 2). Also at http://www.cantrip.org/wave12.html
- Russinovich, M., Inside Memory Management, Part 1, Windows &
.NET Magazine,
http://www.winntmag.com/Articles/Index.cfm?IssueID=56\&ArticleID=3686
- Russinovich, M., Inside Memory Management, Part 2, Windows &
.NET Magazine, http://www.winntmag.com/Articles/Index.cfm?IssueID=58\&ArticleID=3774
An excellent site for links concerning technical knowledge of memory management
for various operating systems: