毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

Linux下如何检测SATA热插拔

更新时间:2012-5-17:  来源:毕业论文

我们的程序需要时钟保持着对SATA硬盘的检测,当硬盘被拔掉或者插上时,都应该要有提示信息。那么在Linux下面,我需要去读取、检测哪儿才能获取该信息呢?如果有人对USB的热插拔也比较了解的,欢迎过来帮我扫盲!(我大致看了驱动层,整个SATA的中断最后通过task_let调用了ATA的函数,然后我就啥都不知道了,对ATA驱动一点都没有知识)
如果真要第一时间知道对应的硬盘信息,你可能需要看scsi模块的一些接口,因为SATA硬盘最后会生成对应的scsi设备的。scsi模块里可能有一些接口可以告诉你有对应的 SATA硬盘被加载了。
或者,修改SATA硬盘的驱动,自己注册中断接口或者Event来告诉应用程序对应的硬件已经加入系统中
如果真要第一时间知道对应的硬盘信息,你可能需要看scsi模块的一些接口,因为SATA硬盘最后会生成对应的scsi设备的。scsi模块里可能有一些接口可以告诉你有对应的 SATA硬盘被加载了。
或者,修改SATA硬盘的驱动,系统里面有一个应用程序,叫做hotplug (在我的系统里,用ps -e看,有个进程叫kacpi_hotplug;系统里有/proc/sys/kernel/hotplug模块)
按照下面链接的文章的说法:
http://www.makelinux.net/ldd3/chp-14-sect-7.shtml

当hotplug接受到设备消息后,会调用注册在/etc/hotplug.d/下的一些程序,并将对应的event传给该程序。
监控的设备对象包括 scsi设备(参考14.7.2.6 SCSI)。


C/C++ code
14.7.2. The /sbin/hotplug Utility

As alluded to earlier in this chapter, whenever a device is added or removed from the system, a "hotplug event" is generated. This means that the kernel calls the user-space program /sbin/hotplug. This program is typically a very small bash script that merely passes execution on to a list of other programs that are placed in the /etc/hotplug.d/ directory tree. For most Linux distributions, this script looks like the following:

DIR="/etc/hotplug.d"
for I in "${DIR}/$1/"*.hotplug "${DIR}/"default/*.hotplug ; do
    if [ -f $I ]; then
        test -x $I && $I $1 ;
    fi
done
exit 1

......
......
14.7.2.6 SCSI

All SCSI devices create a hotplug event when the SCSI device is created or removed from the kernel. The /sbin/hotplug call has the parameter name and the SUBSYSTEM environment variable set to the value scsi for every SCSI device that is added or removed from the system. There are no additional environment variables added by the SCSI system, but it is mentioned here because there is a SCSI-specific user-space script that can determine what SCSI drivers (disk, tape, generic, etc.) should be loaded for the specified SCSI device.


己注册中断接口或者Event来告诉应用程序对应的硬件已经加入系统中

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。