LinuxÄÚºËÉ豸ģÐÍ(5)
ÒëÕߣº¹ùÉÙ±¯
2009/12/02
ÔÎÄ£ºlinux/Documentation/driver-model/device.txt
»ù±¾µÄÉ豸Êý¾Ý½á¹¹
~~~~~~~~~~~~~~~~~~
struct device {
struct list_head g_list;
struct list_head node;
struct list_head bus_list;
struct list_head driver_list;
struct list_head intf_list;
struct list_head children;
struct device * parent;
char name[DEVICE_NAME_SIZE];
char bus_id[BUS_ID_SIZE];
spinlock_t lock;
atomic_t refcount;
struct bus_type * bus;
struct driver_dir_entry dir;
u32 class_num;
struct device_driver *driver;
void *driver_data;
void *platform_data;
u32 current_state;
unsigned char *saved_state;
void (*release)(struct device * dev);
};
Óò
~~
g_list: È«¾ÖÉ豸Á´±íÖеĽڵ㡣
node: É豸µÄ¸¸Ç׵ĺ¢×ÓÁ´±íÖеĽڵã(¸¸×Ó¹ØϵÊÇÊ÷½á¹¹Öеij£ÓùØϵ)¡£
bus_
Ïà¹ØÎĵµ£º
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......
ÔÀíÆäʵºÜ¼òµ¥£¬ÄǾÍÊǹ㲥һ¸öarp°ü£¬È»ºórecv£¬Èç¹ûûÓÐÊý¾Ý(ÕâÀïÒªÉèÖÃÑÓʱ)£¬ÄÇô˵Ã÷Õâ¸öipÊÇ¿ÉÓõģ¬·ñÔò¾Í¼ì²âÕâ¸öÊý¾ÝÊÇ·ñΪ»Ø¸´ÎÒÃÇ·¢³öµÄarpµÄÓ¦´ð°ü.Èç¹ûÊÇÔòÖ¤Ã÷ipÒѱ»Ê¹Ó㬷ñÔò¼ÌÐøµÈ´ý.
ÕâÀï¿ÉÒÔ¿´ÏÂbusyboxµÄdhcpÖеļì²â³ÌÐò¡£
networking/udhcp/arpping.c
C´úÂë
/* vi: set sw=4 ......
ǶÈëʽlinuxϵͳÓëÖ÷»úͨ¹ý´®¿Ú´«ÊäÎļþ
ÎÒÏëÈç¹ûÒª´ÓPC»úÏÂÔض«Î÷µ½¿ª·¢°åµÄǶÈëʽlinuxϵͳÀïÃ棬ºÜ¶àÈËÊ×ÏÈ»áÏëµ½ÓÃtftp sftpµÈÍøÂ繤¾ß´ÓÍø¿ÚÏÂÔØ¡£µ«Èç¹ûÍøÂçÓò»ÁË£¬Ö»ÄÜͨ¹ý´®¿ÚÏÂÔØÔõô°ìÄØ£¿Õâ¸öʱºòÓÐÁ½¸ö¹¤¾ßÄÜ°ïµ½Ä㣺һ¸öÊÇzmrx¡¢zmtx£¬ÁíÍâÒ»¸öÊÇlsz¡¢lrz¡£¸öÈ˾õµÃzmrx/zmtxûÓÐl ......
radhat 5.2Ï°²×°oracle10g
1¡¢ÏµÍ³ÐèÇó£º
Äڴ棺ÖÁÉÙ512mb£¬ÍƼöÓÃ1g£»
Ó²ÅÌ£º·þÎñÆ÷ÖÁÉÙ60g£»
£¨Ò»°ãÇé¿öÏÂÓ²¼þ¶¼ÄÜ·ûºÏÒªÇó£©
Èí¼þ°ü£ºglibc-2.3.2, libaio-0.3.96
½»»»¿Õ¼ä:
RAM: 0~256MB, SWAP: 3 ±¶ RAM ´óС
RAM: 256~512MB, SWAP: 2 ±¶ RAM ´óС
RAM: >=512MB, SWAP: 10 ......