Understanding the Linux Virtual Memory Manager ppt

748 374 1
Understanding the Linux Virtual Memory Manager ppt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Understanding the Linux ® Virtual Memory Manager BRUCE PERENS’ OPEN SOURCE SERIES http://www.phptr.com/perens ♦ C++ GUI Programming with Qt 3 Jasmin Blanchette, Mark Summerfield ♦ Managing Linux Systems with Webmin: System Administration and Module Development Jamie Cameron ♦ Understanding the Linux Virtual Memory Manager Mel Gorman ♦ Implementing CIFS: The Common Internet File System Christopher R. Hertel ♦ Embedded Software Development with eCos Anthony J. Massa ♦ Rapid Application Development with Mozilla Nigel McFarlane ♦ The Linux Development Platform: Configuring, Using, and Maintaining a Complete Programming Environment Rafeeq Ur Rehman, Christopher Paul ♦ Intrusion Detection Systems with Snort: Advanced IDS Techniques with Snort, Apache, MySQL, PHP, and ACID Rafeeq Ur Rehman ♦ The Official Samba-3 HOWTO and Reference Guide John H. Terpstra, Jelmer R. Ver nooij, Editors ♦ Samba-3 by Example: Practical Exercises to Successful Deployment John H. Terpstra Understanding the Linux ® Virtual Memory Manager Mel Gorman PRENTICE HALL P ROFESSIONAL TECHNICAL REFERENCE UPPER SADDLE RIVER,NJ07458 WWW.PHPTR.COM Library of Congress Cataloging-in-Publication Data Gorman, Mel. Understanding the Linux Virtual Memory Manager / Mel Gorman. p. cm.—(Bruce Perens’ Open source series) Includes bibliographical references and index. ISBN 0-13-145348-3 1. Linux. 2. Virtual computer systems. 3. Virtual storage (Computer science) I. Title. II. Series. QA76.9.V5G67 2004 005.4’3—dc22 2004043864 Editorial/production supervision: Jane Bonnell Composition: TechBooks Cover design director: Jerry Votta Manufacturing buyer: Maura Zaldivar Executive Editor: Mark L. Taub Editorial assistant: Noreen Regina Marketing manager: Dan DePasquale c  2004 Pearson Education, Inc. Publishing as Prentice Hall Professional Technical Reference Upper Saddle River, New Jersey 07458 This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/). Prentice Hall PTR offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales. For more information, please contact: U.S. Corporate and Government Sales, 1-800-382-3419, corpsales@pearsontechgroup.com. For sales outside of the U.S., please contact: International Sales, 1-317-581-3793, international@pearsontechgroup.com. Company and product names mentioned herein are the trademarks or registered trademarks of their respective owners. Printed in the United States of America First Printing ISBN 0-13-145348-3 Pearson Education LTD. Pearson Education Australia PTY, Limited Pearson Education South Asia Pte. Ltd. Pearson Education Asia Ltd. Pearson Education Canada, Ltd. Pearson Educación de Mexico, S.A. de C.V. Pearson Education—Japan Pearson Malaysia SDN BHD To John O’Gorman (RIP) for teaching me the joys of operating systems and for making memory management interesting. To my parents and family for their continuous support of my work. To Karen for making all the work seem worthwhile. [...]... navigate The books that describe the operating system such as Understanding the Linux Kernel [BC00] [BC03] tend to cover the entire kernel rather than one topic with the notable exception of device drivers [RC01] These books, particularly Understanding the Linux Kernel, provide invaluable insight into kernel internals, but they miss the details that are specific to the VM and not of general interest But the. .. a pity to ignore them Therefore the book has the “What’s New in 2.6” sections To some extent, these sections presume you have read the rest of the book, so only glance at them during the first reading If you decide to start reading 2.5 and 2.6 VM code, the basic description of what to expect from the “What’s New” sections should greatly aid your understanding The sections based on the 2.6.0-test4 kernel... the minimum number of dependencies In the case of the VM, the best starting point is the Out Of Memory (OOM) manager in mm/oom kill.c It is a very gentle introduction to one corner of the VM where a process is selected to be killed in the event that memory in the system is low Because this function touches so many different aspects of the VM, it is covered last in this book The second subsystem to then... required The text of the book is contained on the CD in HTML, PDF and plain text formats so the reader can perform basic text searches if the index does not have the desired information If you are reading the first edition of the book, you may notice small differences between the CD version and the paper version due to printing deadlines, but the differences are minor Almost all the tools used to research the. .. questions to refer directly to the source with the “polite” acronym RTFS1 , or refer them to the kernel newbies mailing list (http://www.kernelnewbies.org) With the Linux VM manager, this used to be a suitable response because the time required to understand the VM could be measured in weeks Moreover, the books available devoted enough time to the memory management chapters to make the relatively small amount... use In the subsequent chapters, each part of the Linux VM implementation is discussed in detail, such as how memory is described in an architecture-independent manner, how processes manage their memory, how the specific allocators work and so on Each chapter will refer to other sources that describe the behavior of Linux, as well as covering in depth the implementation, the functions used and their call... suggested, it is common to request code to match the argument Many of the algorithms used in the Virtual Memory (VM) system were designed by theorists, but the implementations have now diverged considerably from the theory In part, Linux does follow the traditional development cycle of design to implementation, but changes made in reaction to how the system behaved in the “real world” and intuitive decisions... be knowledgeable about the patch they are sending, but will also pick up patches that affect their subsystem more readily Depending on the subsystem, the list of people they trust will be heavily influenced by the list of maintainers in the MAINTAINERS file The second major area of influence will be from the subsystem-specific mailing list if there is 7 http://www.kernel.org/pub /linux/ kernel/people/rusty/trivial/... devices require Memory within ZONE NORMAL is directly mapped by the kernel into the upper region of the linear address space, which is discussed further in Section 4.1 ZONE HIGHMEM is the remaining available memory in the system and is not directly mapped by the kernel With the x86, the zones are the following: ZONE DMA First 16MiB of memory 16MiB - 896MiB ZONE NORMAL ZONE HIGHMEM 896 MiB - End Many... and Pages the area reserved for the loaded kernel image in low memory machines Section 2.4 discusses struct pages in detail, and Section 3.7 discusses the global mem map array in detail The basic relationship between all these structs is illustrated in Figure 2.1 Because the amount of memory directly accessible by the kernel (ZONE NORMAL) is limited in size, Linux supports the concept of high memory, . of the algorithms used in the Virtual Memory (VM) system were designed by theorists, but the implementations have now diverged considerably from the theory Summerfield ♦ Managing Linux Systems with Webmin: System Administration and Module Development Jamie Cameron ♦ Understanding the Linux Virtual Memory Manager Mel

Ngày đăng: 08/03/2014, 23:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan