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ºÍWindows¿É²»Ì«Ò»Ñù£¬ÓÃtopÃüÁîµÃ³öÀ´µÄ¿ÉÄܲ»ÊÇÕæÊµÊ¹ÓõÄÄڴ棬ÓÃfreeÃüÁîµÚ¶þÐвÅÊÇÏµÍ³ÕæÊµÊ¹ÓõÄÄÚ´æ¡£Èç¹û·¢ÏÖPHP-CGI°ÑÄãµÄÄÚ´æÕ¼ÂúÁ˿ɲ»Òª¾ª»ÅŶ¡£
Page cacheºÍbuffer cacheÒ»Ö±ÒÔÀ´ÊÇÁ½¸ö±È½ÏÈÝÒ×»ìÏýµÄ¸ÅÄÔÚÍøÉÏÒ²ÓкܶàÈËÔÚÕù±çºÍ²ÂÏëÕâÁ½¸öcacheµ½µ×ÓÐÊ²Ã´Çø±ð£¬ÌÖÂÛµ½×îºóҲһֱûÓÐÒ»¸ ......
Ï̳߳Ø
£º¼òµ¥µØËµ£¬Ï̳߳Ø
¾ÍÊÇÔ¤ÏÈ´´½¨ºÃÒ»ÅúỊ̈߳¬·½±ã¡¢¿ìËٵش¦ÀíÊÕµ½µÄÒµÎñ¡£±ÈÆð´«Í³µÄµ½À´Ò»¸öÈÎÎñ£¬¼´Ê±´´½¨Ò»¸öÏß³ÌÀ´´¦Àí£¬½ÚÊ¡ÁËÏ̵߳Ĵ´½¨ºÍ»ØÊյĿªÏú£¬ÏìÓ¦¸ü¿ì£¬Ð§ÂÊ
¸ü¸ß¡£
ÔÚlinuxÖУ¬Ê¹ÓõÄÊÇposixÏ߳̿⣬Ê×ÏȽéÉܼ¸¸ö³£Óõĺ¯Êý£º
1 Ï̵߳Ĵ´½¨ºÍÈ¡Ïûº¯Êý
pthread_create
´´½¨
pthread_join
......
Ò» ²âÊÔ»·¾³
Ò» ²âÊÔ»·¾³
²Ù×÷ϵͳ Red Hat As 2.1
Êý¾Ý¿â SQLServer2000 installed in windows xp professional£¬ÎÒ¼Ù¶¨Êý¾Ý¿âÓÐÓû§autotest ÃÜÂëÊÇautotest£¬Êý¾Ý¿âÎļþÊÇatsdb
×¢Ò⣺ &n ......
Ì«·½±ãÁË£¬Ì«·½±ãÁË¡£¡£
¿´man»á¿´ÔΣ¬Ö±½Ó¿´ÊµÀý£º
ʾ Àý:
1)½¨Á¢Ó³ÏñÎļþ (°ÑĿ¼aϵÄÄÚÈÝ×ö³ÉisoÎļþ)
$mkisofs -r -o a.iso a/
2)½¨Á¢Ó³ÏñÎļþ (°ÑĿ¼aϵÄÄÚÈÝ×ö³ÉisoÎļþ£¬²¢Ö¸¶¨²»°ÑÎļþb.txt·Åµ½isoÖÐ)
$mkisofs -m b.txt -r -o a.iso a/
3)½¨Á¢Ó³ÏñÎļ ......
£¨1£©²é¿´Ê±ÖÓÖжϣº
$ cat /proc/interrupts
CPU0
0: 1380471 IO-APIC-edge timer
1: 3626 IO-APIC-edge i8 ......