linux_driver_model.html

来自「ADI 公司blackfin系列的用户使用文挡。」· HTML 代码 · 共 57 行

HTML
57 行
字号
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head>  <title></title>  <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />  <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />  <link rel="stylesheet" media="print" type="text/css" href="./print.css" />  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body><a href=start.html>start</a></br><h4><a name="the_linux_driver_model" id="the_linux_driver_model">The Linux Driver Model</a></h4><div class="level4"><p>This can best be described by examining a typical <strong>write</strong> system call. This is performed after an <strong>open</strong> call during which the kernel checks for  user permissions on the <strong>device node</strong> and then creates an entry in the file descriptor table for future device access.</p><p>Following the <strong>open</strong> call the user process can then proceed to exchange data with the device using a number of methods. </p><ul><li class="level1"><div class="li"> read / write   send and receive buffers to and from the device</div></li><li class="level1"><div class="li"> ioctl          send commands and a data buffer to the device </div></li><li class="level1"><div class="li"> proc           examine driver characteristics and even perform full communications</div></li><li class="level1"><div class="li"> poll / select  get notification when the device can provide or process data or has an exception</div></li><li class="level1"><div class="li"> misc            a number of misc system calls to seek and get signals on io completion.</div></li></ul><p>The user process uses an index into the file descriptor table to define the major number which in turn refers to a particular device driver which uses a file operations table to satisfy a system service call for a given device operation.</p><p>In this example a user write call is shown.</p><p> <a href="media/ddfig.gif" class="media" target="_blank" title="ddfig.gif"><img src="media/ddfig.gif" class="media" alt="" /></a></p><p> A block of data in user space is to be transfered to the device driver in kernel space for eventual distribution to the device.</p></div></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?