Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : linux

LinuxÀï³£¼ûÊõÓïµÄËõд

תÀ´µÄ£¬Ã»Ê¿ÉÒÔ¿´¿´
bin = BINaries
/dev = DEVices
/etc = ETCetera
/lib = LIBrary
/proc = PROCesses
/sbin = Superuser BINaries
/tmp = TeMPorary
/usr = Unix Shared Resources
/var = VARiable ?
FIFO = First In, First Out
GRUB = GRand Unified Bootloader
IFS = Internal Field Seperators
LILO = LInux LOader
MySQL = MyÊÇ×î³õ×÷ÕßÅ®¶ùµÄÃû×Ö£¬SQL = Structured Query Language
PHP = Personal Home Page Tools = PHP Hypertext Preprocessor
PS = Prompt String
Perl = "Pratical Extraction and Report Language" = "Pathologically Eclectic Rubbish Lister"
Python µÃÃûÓÚµçÊÓ¾çMonty Python's Flying Circus
Tcl = Tool Command Language
Tk = ToolKit
VT = Video Terminal
YaST = Yet Another Setup Tool
apache = "a patchy" server
apt = Advanced Packaging Tool
ar = archiver
as = assembler
awk = "Aho Weiberger and Kernighan" Èý¸ö×÷ÕßµÄÐյĵÚÒ»¸ö×Öĸ
bash = Bourne Again SHell
bc = Basic (Better) Calculator
bg = BackGround
biff = ×÷ÕßHeidi StettnerÔÚU.C.BerkelyÑøµÄÒ»Ìõ¹·,ϲ»¶¶ÔÓʵÝÔ±ÍôÍô½Ð¡£
ca ......

»Ø¹Ë£º¶«¾©LinuxÄں˴ó»áºÏÓ°£¬NoÅ®ÐÔ

 ÕâÊdzöϯÔÚ2009Äê10ÔÂ20ÈÕÔÚ¶«¾©¾ÙÐеÄLinuxÄں˴ó»áºÏÓ°ÕÕ¡£È«·Ö±æÂÊÕÕÆ¬¡£Ò»¸öÅ®ÐÔ¶¼Ã»ÓС£ÄãÈÏʶÆäÖеļ¸Î»ÄØ£¿
ÒÔÏÂÊdzöϯ»áÒéµÄÃûµ¥£¬ÓÐÐËȤµÄÅóÓÑ¿ÉÒÔ¶ÔÒ»¶Ô£º
Al Viro
Alan Cox
Andi Kleen
Andrew Morton
Andy Whitcroft
Arjan van de Ven
Arnd Bergmann
Avi Kivity
Benjamin Herrenschmidt
Brian Pawlowski
Chris Mason
Chris Schlaeger
Christoph Hellwig
Christoph Lameter
Chuck Lever
Dave Airlie
Dave Jones
David Howells
David S. Miller
David Woodhouse
Dirk Hohndel
Fernando Luis Vázquez Cao
Grant Likely
Greg Kroah-Hartman
H. Peter Anvin
Haavard Skinnemoen
Herbert Xu
Hiroyuki KAMEZAWA
Hugh Dickins
Inaky Perez-Gonzalez
Isaku Yamahata
James Bottomley
James Morris
Jan Kara
Jens Axboe
Jeremy Fitzhardinge
Jesse Barnes
Jiri Kosina
Johannes Berg
John W. Linville
Jonathon Corbet
Junichi Nomura
Kay Sievers
Kazuhiro Itakura
Keith Packard
Kentaro Takeda
Kosaki Motohiro
Kyle McMartin
Len Brown
Linus Torvalds
Luis R. Rodriguez
Martin Bligh
Martin Schwi ......

Linux±ØÑ§µÄ60¸öÃüÁî (ת)

inux±ØÑ§µÄ60¸öÃüÁî
LinuxÌṩÁË´óÁ¿µÄÃüÁÀûÓÃËü¿ÉÒÔÓÐЧµØÍê³É´óÁ¿µÄ¹¤×÷£¬Èç´ÅÅ̲Ù×÷¡¢Îļþ´æÈ¡¡¢Ä¿Â¼²Ù×÷¡¢½ø³Ì¹ÜÀí¡¢ÎļþȨÏÞÉ趨µÈ¡£ËùÒÔ£¬ÔÚLinuxϵͳÉϹ¤×÷Àë²»¿ªÊ¹ÓÃϵͳÌṩµÄÃüÁî¡£ÒªÏëÕæÕýÀí½âLinuxϵͳ£¬¾Í±ØÐë´ÓLinuxÃüÁîѧÆð£¬Í¨¹ý»ù´¡µÄÃüÁîѧϰ¿ÉÒÔ½øÒ»²½Àí½âLinuxϵͳ¡£
²»Í¬Linux·¢ÐаæµÄÃüÁîÊýÁ¿²»Ò»Ñù£¬µ«Linux·¢Ðа汾×îÉÙµÄÃüÁîÒ²ÓÐ200¶à¸ö¡£ÕâÀï±ÊÕ߰ѱȽÏÖØÒªºÍʹÓÃÆµÂÊ×î¶àµÄÃüÁ°´ÕÕËüÃÇÔÚϵͳÖеÄ×÷Ó÷ֳÉÏÂÃæÁù¸ö²¿·ÖÒ»Ò»½éÉÜ¡£
¡ô °²×°ºÍµÇ¼ÃüÁlogin¡¢shutdown¡¢halt¡¢reboot¡¢install¡¢mount¡¢umount¡¢chsh¡¢exit¡¢last£»
¡ô Îļþ´¦ÀíÃüÁfile¡¢mkdir¡¢grep¡¢dd¡¢find¡¢mv¡¢ls¡¢diff¡¢cat¡¢ln£»
¡ô ϵͳ¹ÜÀíÏà¹ØÃüÁdf¡¢top¡¢free¡¢quota¡¢at¡¢lp¡¢adduser¡¢groupadd¡¢kill¡¢crontab£»
¡ô ÍøÂç²Ù×÷ÃüÁifconfig¡¢ip¡¢ping¡¢netstat¡¢telnet¡¢ftp¡¢route¡¢rlogin¡¢rcp¡¢finger¡¢mail¡¢ nslookup£»
¡ô ϵͳ°²È«Ïà¹ØÃüÁpasswd¡¢su¡¢umask¡¢chgrp¡¢chmod¡¢chown¡¢chattr¡¢sudo ps¡¢who£»
¡ô ÆäËüÃüÁtar¡¢unzip¡¢gunzip¡¢unarj¡¢mtools¡¢man¡¢unendcode¡¢uudecode¡£
±¾ÎÄÒÔMandrake Linux 9.1(Kenrel 2.4.21)ΪÀý£¬½ ......

LinuxÄÚ´æ¹ÜÀíÖ®slab·ÖÅäÆ÷·ÖÎö(Ðø¶þ)

 Î壺kmem_cache_create£¨£©·ÖÎö
ÎÒÃÇÒÔÒ»¸öÀý×ÓÀ´¸ú×Ù·ÖÎöÒ»ÏÂslabµÄ»úÖÆ£º
ÏÂÃæÊÇÒ»¸ö²âÊÔÄ£¿éµÄ´úÂ룺
#include <linux/config.h>
#include <linux/module.h>
#include <linux/slab.h>
 
MODULE_LICENSE("GPL");
MODULE_AUTHOR("ericxiao <xgr178@163.com>");
MODULE_DESCRIPTION("slab test module");
 
static kmem_cache_t *test_cachep = NULL;
struct slab_test
{
       int val;
};
 
void fun_ctor(struct slab_test *object , kmem_cache_t *cachep , unsigned long flags )
{
                printk("in ctor fuction ...\n");
                object->val = 1;
}
 
void fun_dtor(struct slab_test *object , kmem_cache_t *cachep , unsigned long flags)
{
     printk("in dtor fuction ...\n");
     object ......

LinuxÄÚ´æ¹ÜÀíÖ®slab·ÖÅäÆ÷·ÖÎö(ÐøÈý)

Áù£ºkmem_cache_allocµÄʵÏÖ·ÖÎö:
ÎÒÃÇÔÚÉÏÃæ¿ÉÒÔ¿´µ½£¬´´½¨Ò»¸öcacheÃèÊö·ûµÄʱºò£¬²¢Ã»ÓÐÕâÖ®·ÖÅäslabÊý¾Ý¡£ÏÖÔÚÎÒÃÇÀ´¿´Ò»ÏÂÔõô´ÓcacheÖÐÉêÇë¶ÔÏó
void * kmem_cache_alloc (kmem_cache_t *cachep, int flags)
{
     return __cache_alloc(cachep, flags);
}
ʵ¼ÊÉÏ»áµ÷ÓÃ__cache_alloc
ÈçÏ£º
static inline void * __cache_alloc (kmem_cache_t *cachep, int flags)
{
     unsigned long save_flags;
     void* objp;
     struct array_cache *ac;
     //Èç¹û¶¨ÒåÁË__GFP_WAIT¡£¿ÉÄÜ»áÒýÆð˯Ãß
     cache_alloc_debugcheck_before(cachep, flags);
 
     local_irq_save(save_flags);
     //È¡µÃµ±Ç°´¦ÀíÆ÷ËùÔÚµÄarray_cache(¼ò³ÆÎªAC£¬ÎÒÃÇÏÂÃæÒ²ÕâÑù³ÆºôËü)
     ac = ac_data(cachep);
     //ac->avail:ACÖеںóÒ»¸ö¿ÉÓõĶÔÏóË÷Òý
     ......

LinuxÄÚ´æ¹ÜÀíÖ®slab·ÖÅäÆ÷·ÖÎö(ÐøËÄ)


Æß£ºkmem_cache_free£¨£©µÄʵÏÖ
kmem_cache_freeÓÃÓÚ°Ñ´ÓslabÖзÖÅäµÄ¶ÔÏóÊͷŵô£¬Í¬·ÖÅäÒ»Ñù£¬ËüÊ×ÏÈ»á°ÑËü·Åµ½ACÖУ¬Èç¹ûACÂúÁË£¬Ôò°Ñ¶ÔÏóÊͷŵ½shareÁ´ÖУ¬Èç¹ûshareÒ²ÂúÁË£¬Ò²¾Í°ÑËüÊÍ·ÅÖÁslab¡£À´¿´¾ßÌåµÄ´úÂ룺
void kmem_cache_free (kmem_cache_t *cachep, void *objp)
{
     unsigned long flags;
 
     local_irq_save(flags);
     __cache_free(cachep, objp);
     local_irq_restore(flags);
}
º¯Êýµ÷ÓÃ__cache_free(),´úÂëÈçÏ£º
static inline void __cache_free (kmem_cache_t *cachep, void* objp)
{
     struct array_cache *ac = ac_data(cachep);
 
     check_irq_off();
     //DEBUGÓ㬺öÂÔ
     objp = cache_free_debugcheck(cachep, objp, __builtin_return_address(0));
     //Èç¹ûACÖеĶÔÏñûÓг¬¹ýÏÞÖÆ£¬ÄǾͰÑËüÊͷŵ½ACÖС£
     if ......
×ܼǼÊý:5772; ×ÜÒ³Êý:962; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [821] [822] [823] [824] 825 [826] [827] [828] [829] [830]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ