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

Linux¿éÉ豸Çý¶¯(1) ¿éÇý¶¯ÖÐÏà¹ØµÄ½á¹¹Ìå¼°Æä²Ù×÷

 
 
1.×Ö·ûÉ豸Óë¿éÉ豸IO²Ù×öµÄÇø±ð
1)¿éÉ豸ֻÄÜÒÔ¿éΪµ¥Î»½ÓÊÕÊäÈë·µ»ØÊä³ö,¶ø×Ö·ûÉ豸ÔòÒÔbyteΪµ¥Î».´ó¶àÊýÉ豸ÊÇ×Ö·ûÉ豸,ËûÃDz»ÐèÒª»º³å²¢ÇÒ²»ÒԹ̶¨¿é´óС½øÐвÙ×÷.
2)¿éÉ豸¶ÔÓÚIOÇëÇóÓжÔÓ¦µÄ»º³åÇø,ËùÒÔËûÃÇ¿ÉÒÔÑ¡ÔñÒÔʲô˳Ðò½øÐÐÏìÓ¦.×Ö·ûÉ豸ÎÞÐ뻺³åÇÒ±»Ö±½Ó¶Áд.
3)×Ö·ûÉ豸ֻÄܱ»Ë³Ðò¶Áд,¿éÉ豸¿ÉÒÔËæ»ú·ÃÎÊ.
 
 
2.block_device_operations½á¹¹Ìå
block_device_operationsÃèÊöÁ˶ԿéÉ豸µÄ²Ù×÷µÄ¼¯ºÏ
    struct block_device_operations {
        int (*open) (struct inode *, struct file *);/*´ò¿ª*/
        int (*release) (struct inode *, struct file *);/*ÊÍ·Å*/
        int (*ioctl) (struct inode *, struct file *, unsigned, unsigned long);
        long (*unlocked_ioctl) (struct file *, unsigned, unsigned long);
        long (*compat_ioctl) (struct file *, unsigned, unsigned long);
        int (*direct_access) (struct block_device *, sector_t, unsigned long *);
        int (*media_changed) (struct gendisk *);/*½éÖʱ»¸Ä±ä?*/
        int (*revalidate_disk) (struct gendisk *);/*ʹ½éÖʸıä*/
        int (*getgeo)(struct block_device *, struct hd_geometry *);/*Ìî³äÇý¶¯Æ÷ÐÅÏ¢*/
        struct module *owner;/*Ä£¿éÓµÓÐÕß,Ò»°ã³õʼ»¯ÎªTHIS_MODULE*/
    };
¹ØÓÚblock_device_operationsµÄ²Ù×÷:
  &nb


Ïà¹ØÎĵµ£º

linuxÏÂÌí¼Ó·Óɵķ½·¨

linuxÏÂÌí¼Ó·Óɵķ½·¨£º
Ò»£ºÊ¹Óà route ÃüÁîÌí¼Ó
ʹÓÃroute ÃüÁîÌí¼ÓµÄ·ÓÉ£¬»úÆ÷ÖØÆô»òÕßÍø¿¨ÖØÆôºó·ÓɾÍʧЧÁË£¬·½·¨£º
//Ìí¼Óµ½Ö÷»úµÄ·ÓÉ
# route add –host 192.168.168.110 dev eth0
# route add –host 192.168.168.119 gw 192.168.168.1
//Ìí¼Óµ½ÍøÂçµÄ·ÓÉ
# route add –net IP netma ......

LINUX°²×°JDK

LinuxÏÂjboss 5.1°²×°ÅäÖò½Öè
 
Ò»¡¢ÏÂÔØjboss 5.1ºÍjdk1.6£¨ÎÒ°ÑËûÏÂÔص½/usr/local/src/tarbag£©
jboss 5.1ZIP°ü http://sourceforge.net/projects/jboss/files/JBoss/JBoss-5.1.0.GA/
java jdk°ü      http://java.sun.com/javase/downloads/widget/jdk6.jsp
¶þ¡¢½âѹ
#cd /usr/lo ......

linux cÓïÑÔ selectº¯ÊýÓ÷¨

  SelectÔÚSocket±à³ÌÖл¹ÊDZȽÏÖØÒªµÄ£¬¿ÉÊǶÔÓÚ³õѧSocketµÄÈËÀ´Ëµ¶¼²»Ì«°®ÓÃSelectд³ÌÐò£¬ËûÃÇÖ»ÊÇÏ°¹ßдÖîÈç connect¡¢accept¡¢recv»òrecvfromÕâÑùµÄ×èÈû³ÌÐò£¨Ëùν×èÈû·½Ê½block£¬¹ËÃû˼Ò壬¾ÍÊǽø³Ì»òÊÇÏß³ÌÖ´Ðе½ÕâЩº¯Êýʱ±ØÐëµÈ
´ýij¸öʼþµÄ·¢Éú£¬Èç¹ûʼþûÓз¢Éú£¬½ø³Ì»òÏ߳̾ͱ»×èÈû£¬º¯Êý²»ÄÜÁ¢¼´·µ» ......

LINUXÔÚ¶àºË»·¾³Ï£¬Èç¹û¿ØÖÆʹÓõÄCPUÊýÄ¿

½øÈë/boot/grub
ÐÞ¸Ägrub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, ......

LinuxÔËÐÐÁ˶à¾Ã£¿

£¨1£©²é¿´Ê±ÖÓÖжϣº
$ cat /proc/interrupts
           CPU0
  0:    1380471    IO-APIC-edge  timer
  1:       3626       IO-APIC-edge  i8 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ