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

linux Ìí¼ÓÄÚºËÄ£¿é

Ä£¿éÊÇLINUXÌØÓеÄÒ»ÖÖ»úÖÆ£¬¿ÉÒÔ¶¯Ì¬µÄÔö¼ÓÄں˵ŦÄÜ
¿ÉÒÔ×÷Ϊ¶ÀÁ¢³ÌÐòÀ´±àÒ룬µ«¿ÉÒÔËæÊ±±»Á´½Óµ½ÄÚºËÖУ¬³ÉΪÄں˵ÄÒ»²¿·Ö£¨INSMOD ./[Ä£¿éÃû].ko£©,Ò²¿ÉÒÔ±»Ð¶ÔØ£¨RMMOD ./[Ä£¿éÃû].ko£©£¬Ä£¿é¼òµ¥Áé»î£¬Ïà±Èϵͳµ÷Ó㬱ÜÃâÁ˱àÒëºÍÆô¶¯Äں˵ÄÂé·³£¬È´Ò»Ñù¿ÉÒÔÔÙºÍÐÄ̬¹¤×÷¡£
ÏÂÃæÐ´Ð´¸öÀý×Ó
Áгöij½ø³Ì¼Ò×åµÄÐÅÏ¢£¬°üÀ¨×Ó½ø³Ì£¬Ðֵܽø³Ì£¬ºÍ×Ó½ø³Ì
Êä³ö³ÌÐòÃû£¬PIDºÅ¡£
ÏÂÃæÓõ½Á½¸öºêlist_entry ºÍlist_for_each
ÏêϸÓ÷¨Çë²Î¿´LINUX-KERNEL 2¡£4 µÄÎĵµ
#include <linux/init.h>
#include<linux/module.h>
#include<linux/sched.h>
#include<linux/string.h>
#include <linux/prefetch.h>
MODULE_LICENSE("GPL");
static int tpid=1;
module_param(tpid, int, S_IRUGO);
MODULE_PARM_DESC(tpid, "The pid of the task");
static int list_family_init(void){
 
 struct task_struct *task_ptr=find_task_by_pid(tpid);
 //*******************************************Father!!******************************************************************//
 printk(KERN_ALERT"Task father info :\n\t Father PID =  %ld  is executing program %s \n",task_ptr->parent->pid,task_ptr->parent->comm);
 //*******************************************************************************************************************//
 //*******************************************Children!!***************************************************************//
   /*  list_entry(task_ptr,task_struct,children);
     struct list_head *pos;
     struct list_head *head=task_ptr->children; 
     for (pos = (head)->next; prefetch(pos->next), pos != (head);pos = pos->next)
     {
      printk(KERN_ALERT"Task children info :\n\t Children PID = %d is executing program %s \n",pos->pid,pos->comm);
     }
   */ 
 struct list_head * temp_ptr;
 struc


Ïà¹ØÎĵµ£º

LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

LinuxϵͳÎļþĿ¼¼ò½é[ת]

Ò»¡¢¼ò½é: Linux²Ù×÷ϵͳÖÐ,ÒÔÎļþÀ´±íʾËùÓеÄÂß¼­ÊµÌåÓë·ÇÂß¼­ÊµÌå¡£Âß¼­ÊµÌåϵָÎļþÓëĿ¼; ·ÇÂß¼­ÊµÌåÔò·ºÖ¸Ó²ÅÌ¡¢ÖÕ¶Ë»ú¡¢´òÓ¡»úµÈ¡£
Ò»°ã¶øÑÔ,LinuxÎļþÃû³ÆµÄ×é³É³ýÓÉÁ¬Ðø×Öĸ¡¢±êµã·ûºÅ¡¢Êý×ֵȹ¹³ÉÍâ,Öм䲻ÄÜÓпոñ·û¡¢Â·¾¶Ãû³Æ·ûºÅ / »ò # * % & {} [] ¡­¡­..µÈÓëShellÓйصÄÌØÊâ×Ö·û¡£
LinuxÎļþÏµÍ ......

linux»ù´¡ÖªÊ¶£¨×ª£©

¾ÙÀýÀ´Ëµ£¬Ó²Å̵ÄÎļþÃû³Æ¼´Îª /dev/hd[a-d] £¬ÆäÖУ¬ À¨ºÅÄÚµÄ×ÖĸΪ a-d µ±ÖеÄÈκÎÒ»¸ö£¬Ò༴ÓÉ /dev/hda, /dev/hdb, /dev/hdc, ¼° /dev/hdd ÕâËĸöµµ°¸µÄÒâ˼ (×¢£ºÕâÖÖÐÍʽµÄ±íʾ·¨ÔÚºóÃæµÄÕ½ڵ±ÖлáʹÓÃµÃºÜÆµ·±£¬ÇëÌØ±ðÁôÒâ)¡£ ÄÇô¹âÇýÓëÈíÅÌÄØ£¿·Ö±ðÊÇ /dev/cdrom, /dev/fd0 啰£¡ ºÃÁË£¬ÆäËüµÄ½Ó¿ÚÉè±¸ÄØ£¿ ......

linuxÖеÄfork

      ´ó¼ÒÖªµÀLinuxÖд´½¨×Ó½ø³ÌµÄÒ»¸öºÜºÃµÄ·½·¨ÊǺ¯Êýµ÷ÓÃfork,µ«ÊǺܶà³õѧÕß¶ÔforkµÄÀí½âÉÏ¿ÉÄÜÓеãÀ§ÄÑ¡£ÏÂÃæ¾Ù¸öÀý×ÓÀ´¿´¿´forkµÄÓ÷¨°É¡£
      Æäʵ£¬´ó¼ÒÓÃforkµÄʱºò¼ÇסforkÊÇ“·Ö²æ”µÄÒâ˼¾ÍºÜºÃÀí½âÁË¡£
      ......

Linux³õʼ»¯ÄÚºËÁÙʱҳ±íÖ®ºóµÄsetup_memoryº¯Êý

»°ËµÔÚlinuxÄں˳õʼ»¯ÍêÄÚºËÁÙʱҳ±íÀ´Ó³Éäǰ8MBÄÚ´æºó£¬ÔÚÓûÍûµÄÇýʹÏ£¬linux¿ªÊ¼×ÅÊÖÇÀÕ¼
896MBÒÔϵÄÄÚ´æÁË¡£È»¶øÇÀ¶áÕâ896MBÄÚ´æ¾ø·ÇÒ×Ê¡£linux»¹ÓÐÐí¶àÂé·³µÄÊÂÒª×ö¡£±ÈÈç˵½ø¹¥ºÍÕ¼ÁìÒÁÀ­¿ËµÈµÈ¡£ÓÚÊÇ
setup_memoryº¯Êý¿ªÊ¼Îªlinux²ß»®ºÍ³ï±¸´ËÊ¡£Ö÷ÒªÈÎÎñÊǽ¨Á¢Ò»ÕÅÓëÎïÀíÄÚ´æÒ³¿òºÅ¶ÔÓ¦µÄλͼ¡£Èç¹û¸ÃÒ³¿ò±»Õ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ