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

LINUX ÄÚ´æÓ³Éä

ÔÚ³£¹æIOÖУ¬ÎÒÃÇÒ»°ã¶¼ÊÇÈÏΪºÍÎļþϵͳ×öIO²Ù×÷×ÜÊÇÎÞ·¨±ÜÃâµÄ±ØÐë²»ÑáÆä·³µÄwrite£¬read£¬¶øÊÂʵÉÏÕâÖÖ·½Ê½ÔÚ½øÐÐһЩ´óÎļþ²Ù×÷µÄʱºò£¬ÏÔµÃÊ®·ÖµÄ²»±ã£¬ÏÂÃæÕâ¶Î´úÂ뼴չʾÁËÈç¹û½«ÎïÀíÓ²ÅÌÉϵÄÊý¾ÝÓ³Éäµ½ÄÚ´æÖУ¬ÎÒÃÇÏñ²Ù×÷ÆÕͨµÄÄÚ´æÒ»Ñù¶ÔÎļþ½øÐжÁд£º
#include <sys/mman.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
#include <iostream>
#include <string.h>
using namespace std;
main(int argc, char** argv) // map a normal file as shared mem:
{
int fd,i;
char *p_map;
char cs[]="helloworld";
fd=open( argv[1],O_CREAT|O_RDWR,00777 );
p_map = (char*)mmap(NULL,10,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);
for(i = 0;i<10;i++)
{
cout << *(p_map+i);
}
memcpy(p_map,cs,10);
munmap(p_map,10);
}

½á¹ûÈçÏ£º
Administrator@GZHT-D1FF475D33 /LINUX/pro/hello
$ ./man1.exe cc
qwertyuiop
Administrator@GZHT-D1FF475D33 /LINUX/pro/hello
$ cat cc
helloworld


Ïà¹ØÎĵµ£º

LinuxÇý¶¯Ö®ioctl

ÔÚÓû§¿Õ¼ä£¬Ê¹ÓÃioctlϵͳµ÷ÓÃÀ´¿ØÖÆÉ豸£¬Ô­ÐÍÈçÏ£º
int ioctl(int fd, unsigned long cmd, ...);
µÚÈý¸ö²ÎÊý²»±íʾһ¸ö±äÊýÄ¿µÄ²ÎÊý£¬¶øÊÇÒ»¸öÀàÐÍ¿ÉÑ¡µÄ²ÎÊý¡£µÚÈý¸ö²ÎÊýÒÀÀµÓÚ¿ØÖÆÃüÁһЩÃüÁî²»ÓòÎÊý£¬Ò»Ð©ÓÃÒ»¸öÕûÊýÖµ£¬Ò»Ð©Ê¹ÓÃÖ¸Õë
1¡¢ioctlº¯Êý¶¨ÒåÃüÁî
ÔÚ±àдioctl´úÂë֮ǰ£¬Ê×ÏÈÐèÒª¶¨ÒåÃüÁΪÁË·ÀÖ¹ ......

Linuxѧϰ³õ¼Ç


ÎҵĵÚÒ»¸öshell³ÌÐò£ºtt1.sh
while true
do
       date;
       sleep 1;
done
Ö´Ðз½Ê½1£ºsh tt1.sh
Ö´Ðз½Ê½2£º./tt1.sh£¨ÒªÇó¸ÃÎļþÓпÉÖ´ÐÐȨÏÞ£©
Shell±äÁ¿£º
»·¾³±äÁ¿£º
       ¹¤¾ß£ºecho »ØÏÔ
 &n ......

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç4 LinuxÄÚºËÄ£¿é

modprobeÃüÁî±ÈinsmodÃüÁîÇ¿´ó£¬ËüÔÚ¼ÓÔØÄ³Ä£¿éʱ»áͬʱ¼ÓÔØ¸ÃÄ£¿éËùÒÀÀµµÄÆäËûÄ£¿é¡£Ê¹ÓÃmodprobeÃüÁî¼ÓÔØµÄÄ£¿éÈôÒÔ“modprobe –r filename”µÄ·½Ê½Ð¶Ôؽ«Í¬Ê±Ð¶ÔØÆäÒÀÀµµÄÄ£¿é¡£
printk´òÓ¡µ½var/log/messages
2.6ÄÚºËÖÐÒѼÓÔØµÄÐÅÏ¢Ò²´æÔÚÓÚ/sys/moduleĿ¼Ï£¬¼ÓÔØhello.koºó£¬ÄÚºËÖн«°üº¬/sys/mod ......

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç5 LinuxÎļþÓëÉ豸ϵͳ

Ó¦ÓóÌÐòºÍVFSÖ®¼äµÄ½Ó¿ÚÊÇϵͳµ÷Ó㬶øVFSÓë´ÅÅÌÎļþϵͳÒÔ¼°ÆÕͨÉ豸֮¼äµÄ½Ó¿ÚÊÇfile_operations½á¹¹Ìå³ÉÔ±º¯Êý¡£ÓÉÓÚ×Ö·ûÉ豸µÄÉϲãûÓдÅÅÌÎļþϵͳ£¬ËùÒÔ×Ö·ûÉ豸µÄfile_operations³ÉÔ±º¯ÊýÖ±½ÓÓÉÉ豸Çý¶¯ÌṩÁË£¬file_operationsÕýÊÇ×Ö·ûÉ豸Çý¶¯µÄºËÐÄ£¬Èçͼ£º
 
¶ø¶Ô¿éÉ豸À´Ëµ£¬ext2¡¢fat¡¢jffs2µÈÎļþÏµÍ ......

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç11 ÄÚ´æÓëI/O·ÃÎÊ

typedef void (*lpFunction) ();//¶¨ÒåÒ»¸öÎÞ²ÎÊý£¬ÎÞ·µ»ØÀàÐ͵ĺ¯ÊýÖ¸ÕëÀàÐÍ
//¶¨ÒåÒ»¸öº¯ÊýÖ¸Õ룬ָÏòcpuÆô¶¯ºóËùÖ´ÐеĵÚÒ»ÌõÖ¸ÁîµÄλÖÃ
lpFunction lpReset = (lpFunction)0xF000FFF0;
lpReset();//µ÷Óú¯Êý
 
MMUÍ£¹©ÐéÄâµØÖ·ºÍÎïÀíµØÖ·µÄÓ³Éä¡¢ÄÚ´æ·ÃÎÊȨÏÞ±£»¤ºÍCache»º´æ¿ØÖƵÈÓ²¼þÖ§³Ö¡£²Ù×÷ϵͳÄں˽èÖ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ