Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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


Ïà¹ØÎĵµ£º

Linux Ó²Á´½ÓºÍÈíÁ¬½ÓÇø±ð

×ªÔØ
£¨1£©ÈíÁ¬½Ó¿ÉÒÔ ¿çÎļþϵͳ £¬Ó²Á¬½Ó²»¿ÉÒÔ ¡£Êµ¼ùµÄ·½·¨¾ÍÊÇÓù²ÏíÎļþ°ÑwindowsÏ嵀 aa.txtÎı¾ÎĵµÁ¬½Óµ½linuxÏÂ/rootĿ¼ Ï bb,cc . ln -s aa.txt /root/bb Á¬½Ó³É¹¦ ¡£ln aa.txt /root/bb ʧ°Ü ¡£
£¨2£©¹ØÓÚ I½ÚµãµÄÎÊÌâ ¡£Ó²Á¬½Ó²»¹ÜÓжàÉÙ¸ö£¬¶¼Ö¸ÏòµÄÊÇͬһ¸öI½Úµã£¬»á°Ñ ½áµãÁ¬½ÓÊýÔö¼Ó £¬Ö»Òª½áµãµÄÁ¬½Ó ......

7.1.1 Linux·ÖÇø¼ò½é

7.1.1  Linux·ÖÇø¼ò½é
Ëùν·ÖÇø£¬¾ÍÊÇ´ÅÅÌÉϽ¨Á¢µÄÓÃÓÚ´æ´¢Êý¾ÝºÍÎļþµÄµ¥¶ÀÇøÓò²¿·Ö¡£´ÅÅÌ·ÖÇø¿ÉÒÔ·ÖΪÖ÷·ÖÇøºÍÀ©³ä·ÖÇø£¬ÆäÖÐÖ÷·ÖÇø¾ÍÊǰüº¬²Ù×÷ϵͳÆô¶¯Ëù±ØÐëµÄÎļþºÍÊý¾ÝµÄ´ÅÅÌ·ÖÇø£»À©³ä·ÖÇøÒ»°ãÓÃÀ´´æ·ÅÊý¾ÝºÍÓ¦ÓóÌÐòÎļþ¡£Ò»¸ö´ÅÅÌ×î¶à¿É·ÖΪ4¸ö·ÖÇø£¬×î¶à¿ÉÒÔÓÐ4¸öÖ÷·ÖÇø£¬¼´È«²¿·ÖÇø¶¼±»»®·ÖΪÖ÷·ÖÇø¡£Èç¹ ......

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¶àÖÖ·½Ê½ÏÂÔØ ......

ÖÆ×÷ Unix/Linux ϵͳ±¸·Ý

×÷ÕߣºÍõÕÑÒø
---- SCO
UnixϵͳÒòÆäÎȶ¨¿É¿¿µÄÌØµã£¬ÔÚ½ðÈÚ¡¢±£ÏÕµÈÐÐÒµµÃµ½¹ã·ºÓ¦Ó㬵«ËûµÄ°²×°ºÍά»¤¶ÔÓÚרҵ¼¼ÊõÈËÔ±Ò²²»ÊÇÒ»¼þÇáËɵÄÊ¡£±ÊÕßËùά»¤µÄϵͳ°²×°ÓÐSCO
Unix²Ù×÷ϵͳ¡¢InformixÊý¾Ý¿âÁ¬Í¬Ó¦ÓÃÈí¼þ£¬°²×°ºó»¹Òªµ÷ÕûºËÐIJÎÊý¡¢°²×°É豸Á¬Í¬Á´½ÓºËÐĵȣ¬°²×°Ò»Ì×ÍêÕûµÄϵͳÐ軨·ÑÊýСʱ¡£ËùÒÔ£¬¼ÙÈç
ÖÆ ......

Linux ÐÞ¸ÄIP¡¢DNSºÍ·ÓÉÅäÖÃ

ÔÚLinux²Ù×÷ϵͳÏÂÐÞ¸ÄIP¡¢DNSºÍ·ÓÉÅäÖà
¡¡¡¡ifconfig eth0 ÐÂip
¡¡¡¡È»ºó±à¼­/etc/sysconfig/network-scripts/ifcfg-eth0£¬ÐÞ¸Äip
¡¡¡¡Ò»¡¢ÐÞ¸ÄIPµØÖ·
¡¡¡¡[aeolus@db1 network-scripts]$ vi ifcfg-eth0
¡¡¡¡DEVICE=eth0
¡¡¡¡ONBOOT=yes
¡¡¡¡BOOTPROTO=static
¡¡¡¡IPADDR=219.136.241.211
¡¡¡¡NETMASK=255 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ