• 博客(0)
  • 资源 (3)

空空如也

Understanding The Linux Virtual Memory Manager

Linux is developed with a strong practical emphasis more than a theoretical one. When new algorithms are suggested or existing implementations questioned, 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 from the theory considerably. In part, Linux does follow the traditional development cycle of design to implementation but it is more common for changes to be made in reaction to how the system behaved in the “real-world” and intuitive decisions by developers. These intuitive changes can be a hindrance as they are rarely backed by controlled, repeatable experiments. Consequently, some design choices have been made without a strong foundation. This has led to a situation where the VM is poorly documented except for a small number of web sites with incomplete coverage. The existing books on Linux are comprehensive but they try to cover the entire kernel and sometimes leave out the details of the VM. This leads to the VM being fully understood by only a small number of core developers. Developers looking for information on how it functions are generally told to read the source and little or no information is available on the theoretical basis for the implementation. This requires that even a casual observer invest a large amount of time to read the code and study the field of Memory Management. The problem is further compounded by the fact that the code comments, if they even exist, only indicate what is happening in a very small instance. This makes difficult to see how the overall system functions as is roughly analogous to using a microscope to identify a piece of furniture. As Linux gains in popularity, in the business as well as the academic world, more developers are expressing an interest in developing Linux to suit their needs and the lack of detailed documentation is a significant barrier to entry for a new developer or researcher who wishes to study the VM. The objective of this thesis is to document fully how the 2.4.20 VM works in- cluding its structure, the algorithms used, the implementations thereof and the Linux-specific features. Combined with the companion document “Code Comment- ary on the Linux Virtual Memory Manager” the documents act as a detailed tour of the code explaining almost line by line how the VM operates and where applicable, explains the theoretical basis for the implementation. It will also describe how to approach reading through the kernel source including tools aimed at making the code easier to read, browse and understand. It is envisioned that this will drastically reduce the amount of time a developer or researcher needs to invest to understand what is happening inside the Linux VM. This applies even if the VM of interest is a later version as the time needed to understand changes and extensions is considerably less than the time required to learn the fundamentals of the Linux VM.

2010-07-15

Usb Complete - Everything You Need To Develop Custom Usb Peripherals (3. edition) by Jan Axelson (2005)

These are some of questions the book answers: • How do USB devices communicate? The USB interface can seem daunting at first. The USB 2.0 specification is over 600 pages, not counting the class specifications and other supplementary documents. This book doesn’t attempt to restate everything in the specifications. Instead, the focus is on what you’ll need to know to enable your devices to communicate efficiently and reliably. • How can I decide if my device should use a USB interface? USB isn’t the best choice for every application. Find out whether your design should use USB or another interface. The chances are good that you will choose USB, however, and if so, you’ll learn how to decide which of USB’s three speeds and four transfer types are appropriate for your application. • What controller chip should my device use? Every USB device must contain an intelligent controller to implement the USB interface. Dozens of manufacturers offer controller chips with differing architectures and abilities. This book includes descriptions of popular chips and tips to help you select a controller based on your project’s needs and your background and preferences.

2009-05-17

Addison Wesley - USB System Architecture _USB 2.0

Part One discusses the designs goals of the Universal Serial Bus (USB) that emerged from the acknowledged shortcomings of the original PC’s implementation of peripheral device expansion. It also introduces the concepts of USB including the hardware and software elements required for its operation, and the support for low-, full-speed, and high-speed devices. Next, it discusses some of the USB features that are common to all device speeds, such as cable connector and bus power. The chapters included in Part One are: • Chapter 1: Design Goals of USB • Chapter 2: The Big Picture • Chapter 3: USB Cables and Connectors • Chapter 4: USB Cable Power Distribution

2009-05-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除