LinuxÏÂÈçºÎ°ÑIO¿Õ¼äÓ³Éäµ½Óû§½ø³Ì¿Õ¼ä£¿
ÆäʵÊǸöÂù¼òµ¥µÄÎÊÌâ¡£ÔÚLDD3µÄµÚ15ÕÂÉÏÓÐд£¨¼û“Remapping Specific I/O Regions”ÕâÒ»½Ú£©¡£²»¹ýµ±Ê±×÷ÕßÑ¡ÔñÁËÒ»¸ö´íÎóµÄ×ö·¨£ºÏȰÑÕâ¿éIO¿Õ¼äÓÃioremapÓ³Éäµ½ÁËÄں˿ռ䣬ȻºóÔÚÓû§½ø³Ì·ÃÎʱ»Ó³ÉäµÄµØÖ·Ëù²ú ÉúµÄȱҳÖжÏÀÓÃvmalloc_to_pageµÃµ½page£¬·µ»Ø¸øÓû§½ø³Ì¡£
È»¶ø£¬vmalloc_to_pageû·¨ÓÃÔÚioremapËùµÃµ½µÄµØÖ·ÉÏ£¬ÒòΪIO¿Õ¼ä¸ù±¾¾ÍûÓжÔÓ¦µÄPage½á¹¹£¬·µ»ØµÄpageÖ¸Õë×ÔÈ»ÊDz»¶ÔµÄ¡£
ÕýÈ·µÄ×ö·¨ÊÇÔÚmmapº¯ÊýÀʹÓÃremap_pfn_rangeº¯Êý¡£´úÂëÈçÏ¡£×¢ÒâÒªÉèÖÃÒ»ÏÂvma->vm_pgoffΪÄãÒªmapµÄio¿Õ¼äµÄÎïÀíµØÖ·¶ÔÓ¦µÄÒ³¡£
static int filter_mmap(struct file *filp, struct vm_area_struct *vma)
{
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
vma->vm_pgoff = ( (u32)map_start >> PAGE_SHIFT);
if (remap_pfn_range(vma,
vma->vm_start,
vma->vm_pgoff,
vma->vm_end-vma->vm_start,
vma->vm_page_prot))
return -EAGAIN;
return 0;
}
Ïà¹ØÎĵµ£º
Ò»¡¢µÇ½
1.½øÈëlinux
2.Óû§Ãû: root
3.¿ÚÁî:123456
4.mysql Óû§Ãû root ÃÜÂë 123456
¶þ¡¢Æô¶¯mysqlÓëapache·þÎñ
1.Æô¶¯mysqÊý¾Ý¿â:/usr/local/mysql/bin/./mysqld_safe --user=mysql &
2.Í£Ö¹mysqlÊý¾Ý¿â:/usr/local/mysql/bin/mysqladmin -u root -p shutdown
3.Æô¶¯apache: /usr/local/apache2/bin/./ap ......
±¾À´ÏëÓà kernel-module-ntfs-2.6.18-53.el5-2.1.27-0.rr.10.11.i686ÕâÖÖ¸ñʽµÄ°ü£¬µ«·¢ÏÖϵͳÄÚºË 2.6.18-164.2.1.el5.plus
¸ù±¾ÕÒ²»µ½¶ÔÓ¦µÄÎļþ£¬ËùÒÔÖ»ºÃʹÓà ntfs-3g.
°²×°ºÜ¼òµ¥£¬Ö±½Ó´Óhttp://www.ntfs-3g.org/index.html ÏÂÔØ×îеÄÎļþ£¬
#wget http://www.ntfs-3g.org/ntfs-3g-2009.4.4.tgz
# ......
¸øËùÓÐÓû§Ìí¼Ó¿ÉÖ´ÐеÄȨÏÞ
#chmod +x jdk-1_5_0_02-linux-i586.rpm.bin
#./jdk-1_5_0_02-linux-i586.rpm.bin
´Ëʱ»áÉú³ÉÎļþjdk-1_5_0_02-linux-i586.rpm£¬
ͬÑù¸øËùÓÐÓû§Ìí¼Ó¿ÉÖ´ÐеÄȨÏÞ
#chmod +x jdk-1_5_0_02-linux-i586.rpm
-------------ÍøÉϲ鵽£¬Òª½øÐÐÏÂÃæÒ»²½£¬ÎÒÔÙ./jdkʱºò¾ÍÒѾ³öÏÖÐÒéÁË£¬Ò²¾ÍÊÇÒ ......
LinuxͼÐνçÃæÖпͻ§¶Ë¡¢·þÎñÆ÷¡¢´°¿Ú¹ÜÀíÆ÷Ö®¼äµÄ¹ØÏµ
×÷Õߣº
ÁõºéÌΣ¬»ªÇåÔ¶¼ûǶÈëʽѧԺ
½ðÅÆ½²Ê¦£¬ARM ATCÊÚȨÅàѵ½²Ê¦¡£
ºÜ
¶àLINUX³õѧÕßÔÚѧϰlinuxͼÐη½ÃæµÄ֪ʶʱ»áÓöµ½Ò»Ð©¸ÅÄÈ磺X¡¢X11¡¢Xfree86¡¢WM¡¢KDE¡¢GNOME¡¢QT¡¢QT/E¡¢
Qtopia¡¢DirectFB¡¢Framebuffer¡¢ÏÔ¿¨¼ÓËÙÇý¶¯µÈµÈ¡£Àí½âËüÃÇÖ ......
Õâ¸öÊÇÎÒÔÚÒ»±¾ÊéÉÏ¿´µ½µÄ£¬ÆäÖеÄһЩ´úÂëÎÒÓÐËù¸Ä±ä£¬Ð´¸ø¸÷λºÃÓѹ²Ïíһϣ¡
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h&g ......