您的位置:首页 > 职场人生

热插拔 冷插拔

2009-05-31 10:52 1071 查看
linux 热插拔

将可移动的设备连入系统,系统的后台一次发生如下事件

内核检测到新硬件插入,然后分别通知hotplug 和udev 前者用来装入相应的内河模块(usb storage),而后者 用来在/dev 中创建相应的设备节点(/dev/sda1)

udv 创建了相应的设备节点之后,会将这一消息通知hal 的守护进程(hald),当然udev 还得保证新创建的设备可以被普通用户访问

debian:
-r
-v
---
hotplug装入了相应的内核模块之后,会把这一消息通知给hald。
l hald在受到hotplug和udev发出的消息之后,认为新硬件已经正式被系统认可了。此时它会通过一系列精心编写的规则文件(就是传说中的xxx-policy.fdi),把发现新硬件的消息通过dbus发送出去,同时还会调用update-fstab或fstab-sync来更新/etc/fstab,为相应的设备节点创建适合的挂载点。

hotplug 包和内核里的hotplug模块不是一回事,2.6内核里的pci_hotplug.ko是一个内核模块,而hotplug包是用来处理内核产生的hotplug事件。这个软件包还在引导时检测现存的硬件并在运行的内核中加载相关模块。
不但有热插拔,还有冷插拔(cold pluging)。热插拔在内核启动之后发生,而“cold pluging”发生在内核启动的过程中。
/etc/hotplug/*.rc 这些脚本用于冷插拔(检测和激活在系统启动时已经存在的硬件)。它们被 hotplug 初始化脚本调用。*.rc

热插拔:
一般原则是,不带电源的硬件可以随时热插拔,带电源的硬件不能同时热插拔。

例如,1.
键盘、鼠标本身不带电源,允许随时进行热插拔。
2.
而显示器、打印机带有电源,不能同时进行热插拔,

3.但是如果有一方不带电,也允许热插拔。计算机各种板卡,如显示卡、声卡、网卡、解压卡等,因为其数据线和电源线是做在一起的,所以不能进行热插拔。

4.软盘、光驱等因其数据线和电源线是分开的,所以允许热插拔,

5.光驱,软驱进行热插拔后有可能会导致死机。注:拔下驱动器后,不能再点击该驱动器图标,否则也会造成死机。
6.
而硬盘的“热插拔”比较危险,所以最好不要热插拔,并且绝对不能在未关闭计算机的情况下对主硬盘进行热插拔,否则,笔者可是不负责的哟。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息