Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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
 ×îÐÂÎÄÕ :

ÓÃSource Insight½¨Á¢Ò»¸öLinuxÄں˴úÂ빤³Ì


¾ßÌå²½ÖèÈçÏ£º
£¨Ò»£©´ò¿ªSource Insight£¬µ¥»÷¡¾ÏîÄ¿¡¿°´Å¥£¬µ¯³öÏÂÀ­²Ëµ¥¡£
£¨¶þ£©µ¥»÷¡¾ÐÂÏîÄ¿¡¿°´Å¥£¬µ¯³ö¡¾ÐÂÏîÄ¿¡¿¶Ô»°¿ò£¬ÊäÈëÏîÄ¿ÃûºÍ´æ·Å·¾¶£¬µ¥»÷¡¾È·¶¨¡¿°´Å¥¡£Èçͼ1Ëùʾ¡£
 
ͼ1 ÐÂÏîÄ¿¶Ô»°¿ò
ÎÄÕÂÀ´Ô´£ºhttp://top-e.org/jiaoshi/html/539.html
£¨Èý£©µ¯³ö¡¾Ìí¼Óɾ³ýÎļþ¡¿¶Ô»°¿ò£¬ÔÚÄÚºËÔ´´úÂë·¾¶ÏÂÑ¡ÔñÈ«²¿2.6.25Äں˴úÂ룬µ¥»÷¡¾¹Ø±Õ¡¿°´Å¥¡£Èçͼ2Ëùʾ¡£
 
ͼ2 Ìí¼Óɾ³ýÎļþ¶Ô»°¿ò
£¨ËÄ£©µ¯³ö¡¾¼ÓÈëµ½ÏîÄ¿¡¿¶Ô»°¿ò£¬Ñ¡ÖС¾µÝ¹é¼ÓÈëϼ¶×ÓĿ¼¡¿¸´Ñ¡¿ò£¬µ¥»÷¡¾È·¶¨¡¿°´Å¥¡£Èçͼ3Ëùʾ¡£
 
ͼ3 ¼ÓÈëµ½ÏîÄ¿¶Ô»°¿ò
£¨Î壩ͬ²½Îļþ¡£µ¥»÷¡¾ÏîÄ¿¡¿°´Å¥£¬µ¯³öÏÂÀ­²Ëµ¥¡£
£¨Áù£©µ¥»÷¡¾Í¬²½Îļþ¡¿Ñ¡Ïî¡£´Ë¹ý³ÌÐèÒª20-30·ÖÖÓ¡£
×¢Ò⣺ÏîÄ¿½¨Á¢ºó£¬Òª±£Ö¤Îļþ¼äµÄ¹ØÁªºÍͬ²½¡£´Ë¹ý³ÌÐèÒªÔ¼20·ÖÖÓ¡£
ÍÆ¼ö£ºÑ§Ï°ºÍÕÆÎÕÒ»ÖÖRTOS--ºÎСÇ죬http://top-e.org/student/html/533.html
£¨Æß£©Íê³ÉÏîÄ¿½¨Á¢£¬ä¯ÀÀ´úÂë¡£ÔÚÒª²éÕҵĺ¯ÊýÃû´¦µ¥»÷Êó±êÓÒ¼ü£¬ÔÚÏÂÀ­²Ëµ¥ÖÐÑ¡Ôñ¡¾Ìø×ªµ½¶¨Òå´¦¡¿£¬ÊµÏÖº¯ÊýµÄ¸ú×Ù¡£ÓÃSource Insight½¨ºÃµÄLinux2.6.25ÄÚºËÔ´´úÂ빤³Ì¡£…………
......

LinuxÄں˱àÂëʰ½õ

1.Ò»ÖÖ¶¨Ò庯ÊýÖ¸ÕëµÄ·½·¨
<linux/proc_fs.h>
typedef int (read_proc_t)(char *page, char **start, off_t offset, int count, int *eof, void *data);
read_proc_t *proc_read;
    ÕâÖÖ¶¨Òå·½·¨ÓÐÒ»¸öÓÅÊÆ¾ÍÊÇ£¬¼´Ê¹ÄãûÓп´µ½read_proc_tµÄ¶¨Ò壬ҲÄܹ»Çå³þµÄÖªµÀproc_readÊÇÒ»¸öÖ¸Õ룬ÈçÏÂÃæ2ÖеĵÄcreate_proc_read_entryÖеIJÎÊýÖÐÏÔʾµÄÄÇÑù¡£ÁíÒ»ÖÖ³£Ó÷½·¨ÊÇ£º
typedef int (*read_proc_t)(....);¶¨Ò庯ÊýÖ¸Õë¡£
read_proc_t p;
    µ«ÊÇÕâÖÖ·½·¨Ã»ÓÐÉÏÃæÄÇÖֿɶÁÐԺã¬ÒòΪ²»ÄÜÒ»Ñ۾Ϳ´³öpÊÇÒ»¸öº¯ÊýÖ¸Õë¡£
2.Ò»ÖÖ¶¨ÒåºêµÄ·½·¨
<linux/proc_fs.h>
static inline struct proc_dir_entry *create_proc_read_entry(const char *name, mode_t mode,
    struct proc_dir_entry *base, read_proc_t *read_proc, void *data);
inline¹Ø¼ü×ÖÊÇGNU CÀ©Õ¹µÄ£¬×¨ÃÅΪÉè¼ÆÄں˶øÀ©Õ¹µÄ£¬ËüÄܹ»½«º¯Êý±àÒë³Éºê£¬Èç¹ûËüÊǺ¯Êý£¬ÄÇôÓÉÓÚÓÐstatic¹Ø¼ü×ÖÐÞÊΣ¬ÏÔÈ»Äã²»ÄÜÔÚ±¾ÎļþÖ®ÍⶨÒ弰ʹÓÃËü¡£
3.ö¾Ù±äÁ¿µÄÊýÁ¿
<linux/interrupt.h>
enum{
    HI_SOFTIRQ,
  &n ......

Linux x86 run time process manipulation

[------------------------------------------------------------------------]
[-- Uninformed Research -- informative information for the uninformed. --]
[------------------------------------------------------------------------]
[-- Genre : Development --]
[-- Name : needle --]
[-- Desc : Linux x86 run-time process manipulation --]
[-- Url : http://www.uninformed.org/ --]
[-- Use : EVILNESS --]
[------------------------------------------------------------------------]
[-- Author : skape (mmiller@hick.org) --]
[-- Date : 01/19/2003 --]
[------------------------------------------------------------------------]
[-- Table of contents: ......

LinuxÖеÄÄÚ´æ·ÖÅäºÍÊÍ·ÅÖ®__free_pages()º¯Êý·ÖÎö

  ¼ÇµÃÎÒÃÇÔÚÉÏÆªÎÄÕÂmem_init()·ÖÎöÖÐÌáµ½__free_page()º¯ÊýÂð£¿ÎÒÃÇÏÖÔÚÀ´ÍêÉÆËü¡£ËüµÄµ÷Óùý³ÌÊÇÕâÑùµÄ£ºmem_init()->free_all_bootmem_node():ÎÒÃÇÖªµÀÕâ¸öº¯ÊýÊÇͳ¼ÆÒ»¹²ÊÍ·ÅÁ˶àÉÙ¿ÕÏÐÒ³¡£->free_all_bootmem_core()¾ÍÊÇÔÚÕâ¸öº¯ÊýÀïÃæÏȺó¶à´Îµ÷ÓÃ__free_pages()º¯Êý¡£Ä¿µÄ¾ÍÊÇΪÁËÊÍ·Åÿ¸öÄÚ´ænodeÀïÃæÎÞÓõÄÄÚ´æ¿×¶´Ò³¡£ÎÒÃÇÏÖÔÚ¾ÍÀ´ºÃºÃ̽ÌÖÕâ¸öº¯Êý¡£
  fastcall void __free_pages(struct page *page, unsigned int order)
{
   if (!PageReserved(page) && put_page_testzero(page)) {
       if (order == 0)
          free_hot_page(page);//ÎÒÃÇÏÈÀ´¿´¿´Õâ¸öº¯Êý¡£
   else
      __free_pages_ok(page, order);//ÎÒÃÇ×îºó²ÅÀ´ÌÖÂÛÕâ¸öº¯Êý¡£
   }
}
 
  void fastcall free_hot_page(struct page *page)
{
   free_hot_cold_page(page, 0);
}
  static void fastcall free_hot_cold_page(struct page *page, int cold)//Èç¹ûcoldÊÇ0µÄ»°£¬±íʾҪ°Ñ ......

LinuxÅäÖÃApache·þÎñÆ÷È«¹¥ÂÔ

  LinuxÅäÖÃApache·þÎñÆ÷È«¹¥ÂÔ ÊÕ²Ø
Ò»£¬Ê¹ÓÃÔ´´úÂë°²×°
¡¡¡¡(1) »ñµÃÔ´´úÂë
¡¡¡¡# lynx http://www.apache.org/dist/httpd/httpd-2_0_NN.tar.gz
¡¡¡¡NN±íʾµ±Ç°ËùÓõİ汾ºÅ¡£
¡¡¡¡(2) ½âѹËõ
¡¡¡¡# gzip -d httpd-2_0_NN.tar.gz
¡¡¡¡# tar xvf httpd-2_0_NN.tar¡¡
¡¡¡¡(3) ÅäÖÃ.
¡¡¡¡# ./configure --prefix= /usr/local/apache --enable-so
¡¡¡¡±íʾApache½«°²×°ÔÚ/usr/local/apacheĿ¼ÏÂ
¡¡¡¡(4) ±àÒëÓë°²×°
¡¡¡¡# make
¡¡¡¡# make install
¡¡¡¡(5) ²âÊÔ
¡¡¡¡# /usr/local/apache/bin/apachectl start
¡¡¡¡¶þ£¬Ê¹ÓÃRPM°ü°²×°
¡¡¡¡# rpm —ivh apache-*.rpm
¡¡¡¡Íê³É°²×°ºó£¬ÅäÖÃÎļþÔÚ/etc/httpd/conf/Ŀ¼Ï£¬Îļþ¸ùĿ¼Ϊ/var/www/html,¹¤¾ßÎļþÔÚ/etc/rc.d/init.d/Ŀ¼Ï£¬ÈÕÖ¾ÎļþÔÚ/var/log/httpd/Ŀ¼Ï¡£
¡¡¡¡µÚÈýÕ¾ Apache 2.0µÄÅäÖÃ
¡¡¡¡Apache 2.0µÄÖ÷ÅäÖÃÎļþΪhttpd.conf¡£Èç¹ûÒÔÉÏÊöÔ´´úÂë°²×°ÔòÅäÖÃÎļþ±£´æÔÚ/usr/local/apache/conf/Ŀ¼Ï£¬ÈôÒÔRPM°ü·½Ê½°²×°ÔòÅäÖÃÎļþ±£´æÔÚ/etc/httpd/conf/Ŀ¼Ï¡£ÎÒÃÇ¿ÉÒÔÖ±½ÓÐÞ¸Ähttpd.confÎļþÒ²¿ÉÒÔÓÃredhat linux 9×Ô´øµÄͼÐλ¯¹¤¾ßÀ´ÅäÖᣴò¿ªÆô¶¯³ÌÐò->ϵͳÉèÖÃ->·þÎ ......

Linux¿ìËÙ¹¹½¨apache web·þÎñÆ÷

¡¡apache·þÎñÆ÷µÄ×îÐÂÎȶ¨·¢²¼°æ±¾ÊÇhttpd-2.2..0,¹Ù·½ÏÂÔØµØÖ·ÊÇ£ºhttp://httpd.apache.org/download.cgi¡£ÎÒÃÇͨ¹ýÏÂÃæµÄ²½ÖèÀ´¿ìËٵĴһ¸öweb·þÎñÆ÷¡£
¡¡¡¡1¡¢ ÏÂÔØÔ´ÂëÎļþhttpd-2.2.0.tar.gz µ½linux·þÎñÆ÷µÄij¸öĿ¼¡£
¡¡¡¡2¡¢ ½âѹÎļþ # tar zxvf httpd-2.2.0.tar.gz .
¡¡¡¡3¡¢ ÅäÖà # ./c ╟refix=/usr/local/apache //Ö¸¶¨°²×°Ä¿Â¼£¬ÒÔºóҪɾ³ý°²×°¾ÍÖ»Ðèɾ³ýÕâ¸öĿ¼¡£
¡¡¡¡4¡¢ ±àÒëºÍ°²×°¡£ # make ; make install .
¡¡¡¡5¡¢ ±àдÆô¶¯½Å±¾£¬°ÑËü·Åµ½Ä¿Â¼ /etc/rc.d/init.d/ÀÕâÀïÈ¡ÃûΪhttpd,ÆäÄÚÈÝÈçÏ£º
¡¡¡¡#!/bin/bash
¡¡¡¡#descripti server
¡¡¡¡#chkc 235 98 98
¡¡¡¡case "$1" in
¡¡¡¡start)
¡¡¡¡echo "starting apache daemon..."
¡¡¡¡/usr/local/apache2/bin/apachectl -k start
¡¡¡¡;;
¡¡¡¡stop)
¡¡¡¡echo "stopping apache daemon..."
¡¡¡¡/usr/local/apache2/bin/apachectl -k stop
¡¡¡¡;;
¡¡¡¡restart)
¡¡¡¡echo "restarting apache daemon..."
¡¡¡¡/usr/local/apache2/bin/apachectl -k restart
¡¡¡¡;;
¡¡¡¡status)
¡¡¡¡statusproc /usr/local/apache2/bin/httpd
¡¡¡¡;;
¡¡¡¡*)
¡¡¡¡echo "usage: $0 {start|sto ......
×ܼǼÊý:40319; ×ÜÒ³Êý:6720; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [2326] [2327] [2328] [2329] 2330 [2331] [2332] [2333] [2334] [2335]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ