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

linuxÉ豸Çý¶¯ IO Port

1. I/O Port
¡¡¡¡ºÍÓ²¼þ
´ò½»µÀÀë²»¿ªI/O Port
£¬ÀϵÄ
ISA
É豸¾­³£ÊÇÕ¼ÓÃʵ¼ÊµÄ
I/O
¶Ë¿Ú£¬ÔÚ
linux
Ï£¬²Ù×÷
ϵͳûÓжÔ
I/O
¿ÚÆÁ±Î£¬Ò²¾ÍÊÇ˵£¬ÈκÎÇý¶¯³ÌÐò¶¼¿É¶ÔÈÎÒâµÄ
I/O
¿Ú²Ù×÷£¬ÕâÑù
¾ÍºÜÈÝÒ×ÒýÆð»ìÂÒ¡£Ã¿¸öÇý¶¯³ÌÐòÓ¦¸Ã×Ô¼º±ÜÃâÎóÓö˿ڡ£ 
¡¡¡¡ÓÐÁ½¸ö
ÖØÒªµÄkernel
º¯Êý¿ÉÒÔ±£Ö¤Çý¶¯³ÌÐò×öµ½ÕâÒ»µã¡£ 
¡¡¡¡1
£©
check_region(int io_port
£¬ 
int off_set) 
¡¡¡¡Õâ¸öº¯
Êý²ì¿´ÏµÍ³µÄI/O
±í£¬¿´ÊÇ·ñÓбðµÄÇý¶¯³ÌÐòÕ¼ÓÃijһ¶Î
I/O
¿Ú¡£ 
¡¡¡¡²ÎÊý1
£º
I/O
¶Ë¿ÚµÄ»ùµØ
Ö·£¬ 
¡¡¡¡²ÎÊý2
£º
I/O
¶Ë¿ÚÕ¼ÓõÄ
·¶Î§¡£ 
¡¡¡¡·µ»Ø
Öµ£º0 
û
ÓÐÕ¼Ó㬠·Ç
0
£¬ÒѾ­±»Õ¼Óᣠ
¡¡¡¡2
£©
request_region(int io_port
£¬ 
int off_set
£¬
char *devname) 
¡¡¡¡Èç¹ûÕâ
¶ÎI/O
¶Ë
¿ÚûÓб»Õ¼Óã¬ÔÚÎÒÃǵÄÇý¶¯³ÌÐòÖоͿÉÒÔʹÓÃËü¡£ÔÚʹÓÃ֮ǰ£¬±ØÐëÏòϵͳµÇ¼Ç£¬ÒÔ·ÀÖ¹±»ÆäËû³ÌÐòÕ¼ÓᣵǼǺó£¬ÔÚ
/proc/ioports
ÎļþÖпÉÒÔ¿´µ½ÄãµÇ¼ÇµÄ
I/O
¿Ú¡£ 
¡¡¡¡²ÎÊý1
£º
io
¶Ë¿ÚµÄ»ùµØ
Ö·¡£ 
¡¡¡¡²ÎÊý2
£º
io
¶Ë¿ÚÕ¼Óõķ¶
Χ¡£ 
¡¡¡¡²ÎÊý3
£ºÊ¹ÓÃÕâ¶Î
io
µØÖ·µÄÉ豸
Ãû¡£ 
¡¡¡¡ÔÚ¶ÔI/O
¿ÚµÇ¼Çºó£¬
¾Í¿ÉÒÔ·ÅÐĵØÓÃ
inb()
£¬ 
outb()
Ö®ÀàµÄº¯À´·ÃÎÊÁË¡£ 
ÔÚһЩpci
É豸ÖУ¬
I/O
¶Ë¿Ú±»Ó³Éäµ½Ò»¶ÎÄÚ´æÖÐÈ¥£¬Òª·ÃÎÊÕâЩ¶Ë¿Ú¾ÍÏ൱ÓÚ·ÃÎÊÒ»¶ÎÄÚ´æ¡£¾­³£ÐԵģ¬ÎÒÃÇÒª»ñµÃÒ»¿éÄÚ´æµÄ
ÎïÀíµØÖ·¡£
 
¡¡¡¡2
.ÄÚ´æ²Ù×÷
 
¡¡¡¡ÔÚÉ豸Çý¶¯³ÌÐòÖж¯Ì¬¿ª
±ÙÄڴ棬²»ÊÇÓÃmalloc
£¬¶øÊÇ
kmalloc
£¬»òÕßÓÃ
get_free_pages
Ö±½ÓÉêÇëÒ³¡£ÊÍ·ÅÄÚ´æÓõÄÊÇ
kfree
£¬»ò
free_pages
¡£ Çë
×¢Ò⣬
kmalloc
µÈº¯Êý·µ»ØµÄÊÇÎïÀíµØÖ·£¡ 
¡¡¡¡×¢
Ò⣬kmalloc×î´óÖ»ÄÜ¿ª±Ù
128k-16
£¬
16
¸ö×Ö½ÚÊDZ»Ò³
ÃèÊö·û½á¹¹Õ¼ÓÃÁË¡£ 
¡¡¡¡ÄÚ´æÓ³
ÉäµÄI/O
¿Ú£¬¼Ä´æÆ÷»òÕßÊÇÓ²¼þÉ豸µÄ
RAM(
ÈçÏÔ´æ
)
Ò»°ãÕ¼ÓÃ
F0000000
ÒÔÉϵĵØÖ·¿Õ¼ä¡£ÔÚÇý¶¯³ÌÐòÖв»ÄÜÖ±½Ó·ÃÎÊ£¬ÒªÍ¨¹ý
kernel
º¯Êý
vremap
»ñµÃ
ÖØÐÂÓ³ÉäÒÔºóµÄµØÖ·¡£ 
¡¡¡¡ÁíÍ⣬
ºÜ¶àÓ²¼þÐèÒªÒ»¿é±È½Ï´óµÄÁ¬ÐøÄÚ´æÓÃ×÷DMA
´«ËÍ¡£Õâ¿é
³ÌÐòÐèҪһֱפÁôÔÚÄڴ棬²»Äܱ»½»»»µ½ÎļþÖÐÈ¥¡£µ«ÊÇkmalloc
×î¶à
Ö»ÄÜ¿ª±Ù
128k
µÄÄÚ´æ¡£ 
¡¡¡¡Õâ¿


Ïà¹ØÎĵµ£º

linuxÃüÁî


NO
·ÖÀà
PS1
ÃüÁîÃû
Ó÷¨¼°²ÎÊý
¹¦ÄÜ×¢½â
1
ÏÔʾĿ¼ÐÅÏ¢
#
ls
ls -a
Áгöµ±Ç°Ä¿Â¼ÏµÄËùÓÐÎļþ£¬°üÀ¨ÒÔ.Í·µÄÒþº¬Îļþ
#
ls
ls -l»òll
Áгöµ±Ç°Ä¿Â¼ÏÂÎļþµÄÏêϸÐÅÏ¢
#
ls
ls -a
ÏÔʾËùÓÐÎļþ£¬°üº¬Òþ²Ø¡£
#
ls
ls -al
ÏÔʾËùÓÐÎļþµÄÏêϸÐÅÏ¢¡£
2
²é¿´Â·¾¶
#
pwd
pwd
²é¿´µ±Ç°ËùÔÚĿ¼µÄ¾ø ......

LinuxÖÐ/procĿ¼ÏÂÎļþÏê½â (ת)

ÉùÃ÷
£º¿ÉÒÔ×ÔÓÉתÔر¾ÎÄ£¬µ«ÇëÎñ±Ø±£Áô±¾ÎĵÄÍêÕûÐÔ¡£
×÷Õß
£ºÕÅ×Ó¼á
email
:zhangzijian@163.com
˵Ã÷
£º±¾ÎÄËùÉ漰ʾÀý¾ùÔÚfedora core3ϵõ½¡£
--------------------------------------------------------------------------------
/proc
ÎļþϵͳϵĶàÖÖÎļþÌṩµÄϵͳÐÅÏ¢²»ÊÇÕë¶Ôij¸öÌض¨½ø³ÌµÄ£¬¶øÊÇÄ ......

linuxÃüÁîÊÖ²á


 
·½±ãµÄlinuxÃüÁîÊÖ²á
 
À´Ô´: ChinaUnix²©¿Í ¡¡ÈÕÆÚ£º 2006.07.24 00:31¡¡(¹²ÓÐ0ÌõÆÀÂÛ) ÎÒÒªÆÀÂÛ
 
NO
·ÖÀà
PS1
ÃüÁîÃû
Ó÷¨¼°²ÎÊý
¹¦ÄÜ×¢½â
¶ÔÓ¦Õ½Ú
1
Îļþ¹ÜÀí
#
ls
ls -a
Áгöµ±Ç°Ä¿Â¼ÏµÄËùÓÐÎļþ£¬°üÀ¨ÒÔ.Í·µÄÒþº¬Îļþ
Îļþ¹ÜÀí
#
ls
ls -l»òll
Áгöµ±Ç°Ä¿Â¼ÏÂÎļþµÄÏêϸР......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ