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

LinuxЭÒéÕ»Ô´Âë·ÖÎö¶ÁÊé±Ê¼Ç(Ò»)

   ½ñÌì¶ÁÁ˱¾ÊéµÄµÚÒ»ÕÂ.ÕâÒ»Õ³õ²½½éÉÜÁËLinuxÄں˵Ä×ÜÌå²¼¾Ö,Ò²¾ÍÊÇ×ÜÌåÉÏÀ´¿´ÓÐÄÄЩģ¿é×é³É.´ÓÉϵ½ÏÂÖ÷ÒªÊÇ:glidc->ϵͳµ÷ÓÃ->(VFS,Schedular,Soft ISR,ISR,FILE Sytem,Task Manager,Memory Manager,IP Stack)À¨ºÅÀïÃæµÄ¸÷¸öÄ£¿é¶¼ÊDz¢ÁдæÔÚµÄ.Ŀǰ¶ÔÓÚÕâÆäÖеÄÐí¶àÃû´ÊÎÒ»¹²»ÊìϤ,²»½û¸Ðµ½²ÑÀ¢,ҪѧϰµÄ¶«Î÷ʵÔÚÓÐÐí¶à,×Ô¼ºÀË·ÑÁ˲»ÉÙʱ¼ä....°´×÷Õß˵µÄ,Õâ±¾ÊéÖ÷Òª½²µÄÊÇIP StackµÄÐÅÏ¢Á÷³Ì.¶ÁÕß¿ÉÒÔÔÚºê¹ÛÉÏÁ˽âIPЭÒé×åµÄ¸÷¸öЭÒé¼äµÄÏûÏ¢ÊÇÈçºÎÁ÷¶¯µÄ.
   µÚÒ»ÕÂÒ»¿ªÊ¼¾Í½²ÁË΢Äں˺ʹóÄں˵ÄÇø±ð,²¢ÔÚ×îºóÏÖÔÚµÄOS´ó¶à²»ÊÇÒ»µ¥Ò»µÄijһÖÖ,ͨ³£¶¼ÊÇÁ½ÖÖ¶¼ÓÐÉæ¼°.ÒòΪ¸÷×ÔÓи÷×Եĺô¦:΢Äں˵ÄÄں˵ÄʵÏÖ¸ü¼Ó¸ßЧ,±ãÓÚÒÆÖµ,·½ÃæÏµÍ³ÆäËû¸÷¸öÄ£¿é¼äµÄͨÐÅ.´óÄں˵ÄÖ÷ÒªÌØµã¾ÍÊÇ,ËüÔÚÖ´ÐеÄʱºòÔÚÄÚ´æÖÐÊÇÒ»¸ö´óµÄ¶þ½øÖƵÄÓ³Ïñ,¸÷¸öÄ£¿éÔÚÔËÐеÄʱºò¶¼Òª¼ÓÔØµ½ÄÚ´æÖÐÈ¥,Äܹ»³ä·ÖµÄÀûÓÃÓ²¼þ.
  ÕâÒ»ÕÂÁíÍ⻹½²½âÁ˼¸¸öÔÚЭÒéÕ»ÖÐÓõĺܶàµÄÊý¾Ý½á¹¹,Ö÷ÒªÊÇÁ´±íºÍHashÁ´±í.¿´µ½Õⲿ·ÖµÄʱºòÎÒÉîÉîµÄ¸Ð¾õµ½Êý¾Ý½á¹¹·Ç³£µÄÖØÒª,²¢½ÓҪѧ»îÁË,²»ÄÜ×ß½ÌÌõÖ÷ÒåµÀ·!±ÈÈç˵LinuxµÄÁ´±íµÄʵÏÖ¾ÍÏ൱µÄƯÁÁ.Ëü²»ÊÇÏñ´ó¶à½Ì¿ÆÊéµÄ˵µÄÄÇÑù,ÔÚÁ´±íµÄ½ÚµãÖдæ·Ådata.¶øÊÇÈú¬ÓÐÊý¾ÝµÄ½á¹¹Öаüº¬Ò»¸öÁ´±í½Úµã.ÕâÑù¸üÁé»î.¿ÉÒÔ¿´µÄ³öÀ´LinuxÔ´´úÂëÖÐÐí¶àµØ·½¶¼ÀûÓÃÁËCÓïÑÔµÄÁé»îÐÔ,ºÍGCC±àÒëÆ÷µÄÌØÐÔ,ÈçtypeofµÈ.(^_^¿´À´CÓïÑÔÒª¼ÓÇ¿ÁËÏÂÁË,ÎÒ»¹ºÜÄÛ..)ÆäÖÐÁ´±íµÄÕâÖÖʵÏÖ»úÖÆµÄ¹Ø¼üÊÇlist_entryºê.list_entry(ptr,type,memeber),
ptrÊÇÖ¸Ïòº¬ÓÐÕæÊµÊý¾ÝµÄ½á¹¹ÖÐstrcut list head³ÉÔ±µÄÖ¸Õë.typeÊÇstruct list headµÄÀàÐÍ.memberÊǸóÉÔ±µÄ±äÁ¿Ãû.
list_entry( ptr, type , member);
#define list_entry(ptr, type, member) container_of(ptr, type, member)
#define container_of(ptr, type, member) ({\
const typeof( ((type*)0)->member) *mptr = (ptr);\
(type *)( (char *) mptr-offsetof(type,member) );})
#define offsetof(TYPE,MEMBER)( (size_t) &((TYPE *)0)\
->MEMBER)


Ïà¹ØÎĵµ£º

Éî¿ÌÀí½âLinuxϵͳ½ø³Ì¼äͨÐÅ£¨IPC£©

LinuxϵĽø³ÌͨÐÅÊֶλù±¾ÉÏÊÇ´ÓUnixƽ̨ÉϵĽø³ÌͨÐÅÊֶμ̳жøÀ´µÄ¡£
Ðò
LinuxϵĽø³ÌͨÐÅÊֶλù±¾ÉÏÊÇ´ÓUnixƽ̨ÉϵĽø³ÌͨÐÅÊֶμ̳жøÀ´µÄ¡£¶ø¶ÔUnix·¢Õ¹×ö³öÖØ´ó¹±Ï×µÄÁ½´óÖ÷Á¦AT&TµÄ±´¶ûʵÑéÊÒ¼°BSD£¨¼ÓÖÝ´óѧ²®¿ËÀû·ÖУµÄ²®¿ËÀûÈí¼þ
·¢²¼ÖÐÐÄ£©ÔÚ½ø³Ì¼äͨÐÅ·½ÃæµÄ²àÖØµãÓÐËù²»Í¬¡£Ç°Õß¶ÔUnixÔçÆÚµÄ½ø³Ì¼ ......

[Linux] ³£ÓÃlinuxϵͳÃüÁî

ºÜ¾ÃûÀ´²©¿ÍÁË£¬Õâ¶¼°Ý¹«Ë¾ÄǿɶñµÄWebsenseËù´Í£¬×î½üʱ³£·¢ÏÖÓÐһЩLinuxÃüÁîĪÃûÆäÃîµÄÍü¼ÇÁË£¬Ò²ÐíÊÇÉÙÓÃÁË£¬»òÕßÊÇÀÏÁË£º£¨ÓÚÊÇÏëµ½Ë÷ÐÔÔÚÕâÀïдһ±ßÎÄռǼһÏ£¬ÒÔ±ãÈÕºó²Î¿¼¡£
1¡¢É¾³ýÂÒÂëÎļþ£º
# ll -i (»ñµÃÎļþ½ÚµãºÅ)
# find ./ -inum ½ÚµãºÅ -print -exec rm {} -rf \; (ÇÉÓÃfindɾ³ý)
2¡¢findÓëxargs½ ......

LinuxÄÚºËDRMʵÏÖ·ÖÎö——»ùÓÚi915

1  ½Ó¿Ú
     ÎÒÃÇÏÈ¿´¿´i915_drv.cÀïÃæÉêÃ÷µÄdriver±äÁ¿£º
static struct drm_driver driver = {
 /* don't use mtrr's here, the Xserver or user space app should
  * deal with them for intel hardware.
  */
 .driver_features =
     DRI ......

linuxѧϰ±Ê¼Ç06

(AIXÃüÁî)iostatÃüÁîÖ÷Ҫͨ¹ý¹Û²ìÎïÀí´ÅÅ̵ĻîԾʱ¼äÒÔ¼°ËûÃÇµÄÆ½¾ù´«ÊäËÙ¶È£¬¼à¿ØÏµÍ³ÊäÈë/Êä³öÉ豸¸ºÔØ.
iostat [¼ä¸ôʱ¼ä] [´òÓ¡´ÎÊý]
exp: iostat 5 2
psÃüÁîÊÇUNIXϵͳÖÐ×î³£¼ûµÄÃüÁËüÖ÷ÒªÏÔʾϵͳÖйØÓÚ½ø³ÌµÄͳ¼ÆºÍ״̬ÐÅÏ¢£¬Èç½ø³ÌID£¬I/OÐÐΪÒÔ¼°CPUÀûÓÃÂʵÈ.
ÏÔʾ10¸öÏûºÄCPU×î¶àµÄ½ø³Ì£º
ps aux |sort ......

linuxѧϰ±Ê¼Ç05

ÏÔʾµ±Ç°ÏµÍ³ÄÚ´æÈÝÁ¿£º
free -m
unameÏÔʾϵͳÐÅÏ¢£º
-a £ºËùÓÐϵͳÏà¹ØÐÅÏ¢
-s £ºÏµÍ³ºËÐÄÃû³Æ
-r £ººËÐİ汾
-p £ºcpuÀàÐÍ
-r £ºÓ²¼þƽ̨
½«µ±Ç°ËùÓÐÁª»úºÍ¼àÌýÊý¾ÝÁгöÀ´£º
netstat -a
ÁгöËùÓнø³Ì´ò¿ªµÄÌ×½Ó×ÖÎļþ£º
lsof -u db2inst1 -a -U »ò lsof -u db2inst1 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ