Anatomy of the Linux slab allocator
Anatomy of the Linux slab allocator
Learn how Linux manages memory
M. Tim Jones, Consultant Engineer, Emulex Corp.
M. Tim Jones is an embedded software architect and the author of GNU/Linux Application Programming, AI Application Programming, and BSD Sockets Programming from a Multilanguage Perspective. His engineering background ranges from the development of kernels for geosynchronous spacecraft to embedded systems architecture and networking protocols development. Tim is a Consultant Engineer for Emulex Corp. in Longmont, Colorado.
Summary: Good operating system performance depends in part on the operating system's ability to efficiently manage resources. In the old days, heap memory managers were the norm, but performance suffered due to fragmentation and the need for memory reclamation. Today, the Linux® kernel uses a method that originated in Solaris but has been used in embedded systems for quite some time, allocating memory as objects based on their size. This article explores the ideas behind the slab allocator and examines its interfaces and their use.
Tag this!
Update My dW interests (Log in | What's this?) Skip to help for Update My dW interests
Date: 15 May 2007
Level: Intermediate
Activity: 16559 views
Comments: 0 (Add comments)
Average rating (based on 90 votes)
Dynamic memory management
The goal of memory management is to provide a method by which memory can be dynamically shared amongst a variety of users for a variety of purposes. The memory management method should do both of the following:
Minimize the amount of time required to manage the memory
Maximize the available memory for general usage (minimize management overhead)
Memory management is ultimately a zero-sum game of tradeoffs. You can develop an algorithm that uses little memory for management but takes more time to manage the available memory. You can also develop an algorithm that efficiently manages memory but uses a bit more
相关文档:
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
我是一个平凡的软件工程师
一直希望国产软件能够大放异彩
可正所谓希望越大,失望也越大
越来越感觉到要想把软件做大做强
实在是太难太难了
愚昧如我怎么也看不到光明的大道
可是难就不做了
多少智者,总是看准了一个方向,坚持在一个小的领域做细做专做强.......
linux给了很多人一个希望,开源的世界让很多人如痴 ......
我计划的学习历程:
1. c和c++的基础知识,这个和操作系统无关,在windows上也可以学。c语言语法相对简单一点,c++不需要把所有的知识点都学会,要知道基本的封装,继承,多态之类的,还有STL。更深入的学习应该是在以后的工作中遇到问题了再去查资料。
2. 看书《APUE》,做书上的习题,掌握文件,系统调用,线程、进程、 ......
前 言
从桌面到服务器,Linux的应用正变得越来越广泛,业界对Linux专业人才的需求量也在急剧增长。高校学生、IT业界人士都希望通过学习Linux知识从而提升自己的竞争力,以获得更高的薪酬。但是目前关于Linux的书籍大部分都只是偏重于桌面应用,或者是只停留在一些表面的简单操作。能由浅入深、全面细致地介绍Linux的 ......
ELDK;支持GDB的BDIGDB Firmware FOR Linux;基于windows的嵌入式Linux交叉开发工具软件INSIGHT GNUPROXTOOLS ;支持GDB的BDIGDB FIRMWARE FOR WINDOWS
bootloader
German DENK U-boot GNU
fuction:
network support;(tftp\Bootp);;;FlashRAM ;串口deng多种方式下载 ......