当前位置: 技术问答>linux和unix
目录/kernel/drv/sparcv9/的问题?
来源: 互联网 发布时间:2016-03-24
本文导语: 目录 /kernel/drv/sparcv9目录下驱动是不是只在 驱动加载的时候才会用到? 假如驱动已经被加载并且正在被应用,那么删除这个目录下的驱动文件是不是没有影响呢? 还有主设备次要设备等等是如何创建的呢?和这个...
目录 /kernel/drv/sparcv9目录下驱动是不是只在 驱动加载的时候才会用到?
假如驱动已经被加载并且正在被应用,那么删除这个目录下的驱动文件是不是没有影响呢?
还有主设备次要设备等等是如何创建的呢?和这个目录下驱动文件甚么关系?
假如驱动已经被加载并且正在被应用,那么删除这个目录下的驱动文件是不是没有影响呢?
还有主设备次要设备等等是如何创建的呢?和这个目录下驱动文件甚么关系?
|
目录 /kernel/drv/sparcv9目录下驱动是不是只在 驱动加载的时候才会用到?
---------------------------------------------------------------
是的.
假如驱动已经被加载并且正在被应用,那么删除这个目录下的驱动文件是不是没有影响呢?
---------------------------------------------------------------
没有影响,但,系统重起的时候,会找不到这个驱动
还有主设备次要设备等等是如何创建的呢?和这个目录下驱动文件甚么关系?
---------------------------------------------------------------
mknod 命令建立了 设备好与 驱动文件的联系.
你执行 ll /dev/
看一下结果就明白了.
mknod - 建立块专用或字符专用文件
总览
mknod [options] name {bc} major minor
mknod [options] name p
GNU 选项(缩写):
[-m mode] [--help] [--version] [--]
描述
mknod 用指定名称产生一个FIFO(命名管道),字符专用或块专用文件。
文件系统中的一个专用文件存贮着三种信息(布朗型、整型、整型)。布朗型在字符文件与块文件之间作出选择,两个整型是主、次设备号。
通常,一个专用文件并不在磁盘上占用空间,仅仅是为操作系统提供交流,而不是为数据存贮服务。一般地,专用文件会指向一个硬件设备(如:磁盘、磁带、打印机、虚拟控制台)或者操作系统提供的服务(如:/dev/null, /dev/random)。
块文件通常类似于磁盘设备(在数据可以被访问的地方赋予一个块号,意味着同时设定了一个块缓存)。所有其他设备都是字符文件。(以前,两种文件类型间是有差别的。比如:字符文件I/O没有缓存,而块文件则有。)
mknod命令就是用来产生这种类型文件的。
以下参数指定了所产生文件的类型:
p
FIFO型
b
块文件
c
字符文件
GNU版本还允许使用u('unbufferd'非缓冲化),以保持与C语言的一致。
当创建一个块文件或字符文件时,主、次设备号必须在文件类型参数后给出。(十进制或八进制以0开头;GNU 版本还允许使用以0x开头的十六进制)缺省地,所产生的文件模式为0666('a+rw')。
选项
-m mode, --mode=mode 为新建立的文件设定模式,就象应用命令chmod一样,以后仍然使用缺省模式建立新目录。
GNU 标准选项
--help 在标准输出上显示使用信息并顺利退出。
--version 在标准输出上显示版本信息并顺利退出
-- 终端选项列表。
遵循
POSIX 认为该命令不能移植而不支持这个命令,它推荐使用 mkfifo(1)来建立FIFO文件。SVID有一个命令/etc/mknod有以上语法,但没有模式选项。
注意
在某些linux系统上(1.3.22或之后的版本) /usr/src/linux/Documentation/devices.tex文件包含了一个设备列表,包括设备名、类型及主、次设备号。本页对mknod的描述可以在fileutils-4.0中找到;其他版本会略有差别。
---------------------------------------------------------------
是的.
假如驱动已经被加载并且正在被应用,那么删除这个目录下的驱动文件是不是没有影响呢?
---------------------------------------------------------------
没有影响,但,系统重起的时候,会找不到这个驱动
还有主设备次要设备等等是如何创建的呢?和这个目录下驱动文件甚么关系?
---------------------------------------------------------------
mknod 命令建立了 设备好与 驱动文件的联系.
你执行 ll /dev/
看一下结果就明白了.
mknod - 建立块专用或字符专用文件
总览
mknod [options] name {bc} major minor
mknod [options] name p
GNU 选项(缩写):
[-m mode] [--help] [--version] [--]
描述
mknod 用指定名称产生一个FIFO(命名管道),字符专用或块专用文件。
文件系统中的一个专用文件存贮着三种信息(布朗型、整型、整型)。布朗型在字符文件与块文件之间作出选择,两个整型是主、次设备号。
通常,一个专用文件并不在磁盘上占用空间,仅仅是为操作系统提供交流,而不是为数据存贮服务。一般地,专用文件会指向一个硬件设备(如:磁盘、磁带、打印机、虚拟控制台)或者操作系统提供的服务(如:/dev/null, /dev/random)。
块文件通常类似于磁盘设备(在数据可以被访问的地方赋予一个块号,意味着同时设定了一个块缓存)。所有其他设备都是字符文件。(以前,两种文件类型间是有差别的。比如:字符文件I/O没有缓存,而块文件则有。)
mknod命令就是用来产生这种类型文件的。
以下参数指定了所产生文件的类型:
p
FIFO型
b
块文件
c
字符文件
GNU版本还允许使用u('unbufferd'非缓冲化),以保持与C语言的一致。
当创建一个块文件或字符文件时,主、次设备号必须在文件类型参数后给出。(十进制或八进制以0开头;GNU 版本还允许使用以0x开头的十六进制)缺省地,所产生的文件模式为0666('a+rw')。
选项
-m mode, --mode=mode 为新建立的文件设定模式,就象应用命令chmod一样,以后仍然使用缺省模式建立新目录。
GNU 标准选项
--help 在标准输出上显示使用信息并顺利退出。
--version 在标准输出上显示版本信息并顺利退出
-- 终端选项列表。
遵循
POSIX 认为该命令不能移植而不支持这个命令,它推荐使用 mkfifo(1)来建立FIFO文件。SVID有一个命令/etc/mknod有以上语法,但没有模式选项。
注意
在某些linux系统上(1.3.22或之后的版本) /usr/src/linux/Documentation/devices.tex文件包含了一个设备列表,包括设备名、类型及主、次设备号。本页对mknod的描述可以在fileutils-4.0中找到;其他版本会略有差别。
|
1.驱动文件在系统boot的时候和使用add_drv的时候使用。
2.驱动已经被加载后,如果你删除目录下的驱动文件,那么重启后系统会找不到driver
3.主设备号由/etc/name_to_major指定。
2.驱动已经被加载后,如果你删除目录下的驱动文件,那么重启后系统会找不到driver
3.主设备号由/etc/name_to_major指定。
|
驱动文件只是为了方便访问驱动程序而创建的,你可以删除,不过就不能通过驱动文件访问了。
比如说可以通过/dev/hda访问第一块IDE硬盘,如果你删除了文件/dev/hda,并不意味着硬盘驱动就被卸载了。这个文件只是
跟内核驱动的一个接口。对这些文件的读写操作,内核会自动映射到驱动模块的相关操作上。
如果知道一个设备的主从设备号,你可以很简单的通过mknode命令自己创建这些文件。
至于主从设备号,一般是驱动编写的时候就指定了,一些常见的设备的设备号是固定的,比如IDE、tty等等。
不同厂家的SCSI驱动可能会不一样,有的还会自己创建一个目录,这都是驱动程序自己的接口。你只要根据
这样的接口创建设备文件,就可以访问已加载的驱动。
比如说可以通过/dev/hda访问第一块IDE硬盘,如果你删除了文件/dev/hda,并不意味着硬盘驱动就被卸载了。这个文件只是
跟内核驱动的一个接口。对这些文件的读写操作,内核会自动映射到驱动模块的相关操作上。
如果知道一个设备的主从设备号,你可以很简单的通过mknode命令自己创建这些文件。
至于主从设备号,一般是驱动编写的时候就指定了,一些常见的设备的设备号是固定的,比如IDE、tty等等。
不同厂家的SCSI驱动可能会不一样,有的还会自己创建一个目录,这都是驱动程序自己的接口。你只要根据
这样的接口创建设备文件,就可以访问已加载的驱动。