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

Linux Device DriversÔĶÁ±Ê¼Ç

Linux Device Drivers, 3rd Edition
2.3.1. User Space and Kernel Space
Äں˿ռäºÍÓû§¿Õ¼ä
Unix transfers execution from user space to kernel space whenever an application issues a system call or is suspended by a hardware interrupt. Kernel code executing a system call is working in the context of a process—it operates on behalf of the calling process and is able to access data in the process's address space. Code that handles interrupts, on the other hand, is asynchronous with respect to processes and is not related to any particular process.
ÕâÊǺܹؼüµÄ¶ÎÂ䣺
Unix¿ÉÒÔͨ¹ýϵͳµ÷ÓúÍÓ²¼þÖжÏʵÏÖ´ÓÓû§¿Õ¼äµ½Äں˿ռäµÄÇл»¡£¶ÔÓÚϵͳµ÷Óã¬Äں˴úÂëÔËÐÐÓÚµ÷Óýø³ÌµÄÉÏÏÂÎÄÖУ¬Äں˴úÂë¿ÉÒÔ·ÃÎʵ÷Óýø³ÌµÄÊý¾Ý¡£¶ÔÓÚÓ²¼þÖжϣ¬Äں˴úÂëÔËÐÐÓÚÖжÏÉÏÏÂÎÄ£¬¶ÀÁ¢ÓÚµ±Ç°±»´ò¶ÏµÄ½ø³Ì£¬ËùÒÔ´Ëʱ²»ÄÜ·ÃÎʱ»Öжϵĵ±Ç°½ø³Ì¿Õ¼äµÄÊý¾Ý¡£
´ÓÓû§¿Õ¼äÇл»µ½Äں˿ռäʱҪʹÓÃÄں˿ռä¶ÑÕ»,linuxÄں˿ռä¶ÑÕ»<8k, дÄں˳ÌÐòÒªÏ൱עÒâÕ»µÄʹÓá£
µ±ÏµÍ³´ÓÄں˿ռ䷵»Ø»òÕß´ÓÖжÏÉÏÏÂÎÄÖзµ»ØÓû§¿Õ¼äʱ£¬Èç¹ûÓÐÖØÐµ÷¶ÈÐèÇó£¬ÏµÍ³»á½øÐÐÖØÐµ÷¶È£¬¼´Óû§ÇÀÕ¼¡£
ϵͳ´¦ÓÚÖжÏÉÏÏÂÎÄ»òÕß½ø³Ì³ÖÓÐ×ÔÐýËøÊ±²»ÔÊÐíÄÚºËÇÀÕ¼¡£
ÄÚºËÇÀÕ¼Ò»°ã·¢ÉúÔÚ£¬
    1 µ±ÏµÍ³ÔÚÄں˿ռäÖ´ÐÐʱ£¬±»Ä³¸öÖжϴò¶Ï£¬µ±´ÓÕâ¸öÖжϷµ»ØÄں˿ռäʱ¡£
    2 Äں˿ռäÊÍ·Å×ÔÐýËøÊ±¡£
3.7. read and write
unsigned long copy_to_user(void _ _user *to,
const void *from,
unsigned long count);
unsigned long copy_from_user(void *to,
const void _ _user *from,
unsigned long count);
Although these functions behave like normal memcpy functions, a little extra care must be used when accessing user space from kernel code. The user pages being addressed might not be currently present in memory, and the virtual memory subsystem can put the process to sleep while the page is being transferred into place. This happens, for example, when the page must be retrieved from swap space.
Äں˿ռäºÍÓû§¿Õ¼ä¿½±´Êý¾Ýʱ


Ïà¹ØÎĵµ£º

ÔÚlinuxÏÂʵÏÖweb qqµÄ×ÀÃæ»¯


´´½¨×ÀÃæÍ¼±ê
Ŀǰ½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËÆµÄ·½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ­°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......

Linux »ã±àÓïÑÔ¿ª·¢Ö¸ÄÏ


developerWorks Öйú
  >  
Linux
  >
Linux »ã±àÓïÑÔ¿ª·¢Ö¸ÄÏ
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td>< ......

Linux µÄÔ¶Õ÷

ÓÃÁ˽ü10ÄêµÄWindows£¬Í»È»ÓÐÐËȤȥÏëÌåÑéLinux£¬È¥¸ÐÊÜshellµÄ÷ÈÁ¦£¬ÌåÑéÖն˲Ù×÷µÄ¸Ð¾õ£¬¸üÖØÒªµÄÊDZàÒëʹÓÿªÔ´µÄÈí¼þ¡£¶àÉÙÒ²ËãÊÇΪÒÔºóʹÓ÷þÎñÆ÷»òÕßСÐÍ»úÖ®Àà´òµã»ù´¡¡£ÓÚÊÇÕý×°´ý·¢¿ªÊ¼Âþ³¤µÄlinuxÔ¶Õ÷¡£
Õ½ÒÛÒ»: RedHat
       ÎÒ£ºÀϰ壬ÓÐLinuxµÄµúô£¿
  &nbs ......

linuxÉ豸Çý¶¯³ÌÐò±àÒë

ºÜÏë½Ó´¥Ò»ÏÂLinuxµÄÄںˣ¬×î½ü¼ÓÈëÁËLKML£¨Linux Kernel Mailing List£©£¬ÓÌÈ糱ˮ°ãµÄmailÓ¿ÈëÁËÎÒµÄGmail>_<
Ò»¿ªÊ¼ºÜÃÔ㣬Èç´ËÅÓ´óÁËLinuxÄں˴úÂ룬´ÓºÎ¿ªÊ¼£¿ÍøÉÏ¿´µ½ÁËÒ»Ìõ½¨Ò飺´ÓLinuxÉ豸Çý¶¯µÄ±àд¿ªÊ¼¡£
ÓÚÊÇÕÒµ½ÁËÒ»±¾Õâ·½Ãæ±È½ÏºÃµÄ½Ì²Ä£ºLinux Device Drivers, 3rd Edition£¨LDD3£©
²»¹ýÕâ±¾ÊéÀïà ......

¸ß¼¶Linux³ÌÐòÉè¼ÆµÚÈýÕ£º½ø³Ì

ÿ¸ö½ø³Ì¶¼ÓÐÒ»¸öΨһµÄ½ø³ÌºÅ¡£ ÿ¸ö½ø³Ì¶¼ÓÐÒ»¸ö¸¸½ø³Ì¡£ ϵͳÖеĽø³ÌÒÔÊ÷µÄÐÎʽ×éÖ¯£¬init½ø³Ì(½ø³ÌºÅΪ1)×÷Ϊ¸ù¡£ ½ø³Ì0Êǵ÷¶È½ø³Ì£¬Ã»ÓгÌÐòÓëÖ®¶ÔÓ¦£¬ÊÇÄں˵ÄÒ»²¿·Ö¡£ ½ø³Ì1ÊÇinit½ø³Ì£¬ÊÇÔÚϵͳÆô¶¯µÄ½×¶ÎÓÉÄÚºËÆô¶¯µÄ£¬¶ÔÓ¦/sbin/ini ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ