燕北集团,设备维修作业管理制度

作者: 养殖新闻  发布:2019-08-21

图片 1

Linux设备分类
Linux下的设备通常分为三类,字符设备,块设备和网络设备。

linux中三种驱动设备

linux系统将设备分为3类:字符设备、块设备、网络设备。

图片 2

  • 字符设备
    字符设备是能够像字节流(类似文件)一样被访问的设备,有字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少要实现open、close、read、write系统调用。字符设备可以通过文件系统节点来访问,这些设备文件和普通文件之间的唯一差别在于对普通文件的访问可以前后移动访问位置,而大多数字符设备是一个只能顺序访问的数据通道。一个字符设备是一种字节流设备,对设备的存取只能按顺序按字节的存取而不能随机访问,字符设备没有请求缓冲区,所有的访问请求都是按顺序执行的。但事实上现在一些高级字符设备也可以从指定位置一次读取一块数据。

  • 块设备
    块设备也是通过设备节点来访问。块设备上能够容纳文件系统。在大多数unix系统中,进行I/O操作时块设备每次只能传输一个或多个完整的块,而每块包含512字节(或更2的更高次幂字节的数据)。linux可以让应用程序向字符设备一样读写块设备,允许一次传递任意多字节的数据。因而,块设备和字符设备的区别仅仅在于内核内部管理数据的方式,也就是内核及驱动程序之间的软件接口,而这些不同对用户来讲是透明的。在内核中,和字符驱动程序相比,块驱动程序具有完全不同的接口。存储设备一 般属于块设备,块设备有请求缓冲区,并且支持随机访问而不必按照顺序去存取数据,比如你可以 先存取后面的数据,然后在存取前面的数据,这对字符设备来说是不可能的。Linux下的磁盘设备都是块设备,尽管在Linux下有块设备节点,但应用程序一般是通过文件系统及其高速缓存来访问块设备的,而不是直接通过设备节点来读写块设备上的数据。

  • 网络设备
    网络设备不同于字符设备和块设备,它是面向报文的而不是面向流的,它不支持随机访问,也没有请求缓冲区。由于不是面向流的设备,因此将网络接口映射到文件系统中的节点比较困难。内核和网络设备驱动程序间的通讯,完全不同于内核和字符以及块驱动程序之间的通讯,内核调用一套和数据包传输相关的函数而不是read,write。网络接口没有像字符设备和块设备一样的设备号,只有一个唯一的名字,如eth0、eth1等,而这个名字也不需要与设备文件节点对应。

设备维修作业管理制度是非常重要的,使用次数,人为因素,自然消耗都会影响设备的使用,此时需要通过维修设备保障使用质量。本网小编就设备维修作业管理制度为大家详细介绍一下。

设备名称:手推饲料车

字符设备

字符设备与块设备的区别

  1. 字符设备是面向流的,最小访问单位是字节;而块设备是面向块的,最小访问单位是512字节或2的更高次幂。
  2. 字符设备只能顺序按字节访问,而块设备可随机访问。
  3. 块设备上可容纳文件系统,访问形式上,字符设备通过设备节点访问,而块设备虽然也可通过设备节点访问,但一般是通过文件系统来访问数据的。
  4. 网络设备没有设备节点是因为,网络设备是面向报文的,很难实现相关read、write等文件读写函数。所以驱动的实现也与字符设备和块设备不同。

第1条为规范公司的设备故障管理行为,尽可能地减少设备故障的发生次数和降低设备故障发生后的维修成本,以延长设备的折旧时间,特制定本制度。

设备规格:1260×500×650

一个字符设备是一种字节流设备,对设备的存取只能按顺序按字节的存取而不能随机访问,字符设备没有请求缓冲区,所有的访问请求都是按顺序执行的。Linux下的大多设备都是字符设备。应用程序是通过字符设备节点来访问字符设备的。设备节点一般都由mknod命令都创建在/dev目录下,下面的例子显示了串口设备的设备节点。字符设备文件的第一个标志是前面的“c”标志。

字符设备与块设备的区分

每一个字符设备或者块设备都在/dev目录下对应一个设备文件。读者可以通过查看/dev目录下的文件的属性,来区分设备是字符设备还是块设备。使用cd命令进入/dev目录,并执行ls -l命令就可以看到设备的属性

[root@tom /]# cd /dev                           /*进入/dev目录*/  
[root@tom dev]# ls -l                           /*列出/dev中文件的信息*/、 
 /*第1字段     2    3    4      5    6         7      8  */  
crw-rw----      1 root root    14,  12  12-21 22:56 adsp  
crw-------      1 root root    10, 175  12-21 22:56 agpgart  
crw-rw----      1 root root    14,   4  12-21 22:56 audio  
brw-r-----      1 root disk   253,   0  12-21 22:56 dm-0  
brw-r-----      1 root disk   253,   1  12-21 22:56 dm-1  
crw-rw----      1 root root    14,   9  12-21 22:56 dmmidi

ls -l命令的第1个字段中的第1个字符c表示设备是字符设备,b表示设备是块设备;
第234字段对驱动程序开发来说没有关系;
第5,6字段分别表示设备的主设备号和次设备号;
第7字段表示文件的最后修改时间。第8字段表示设备的名字。
由第1和8字段可知,adsp是字符设备,dm-0是块设备。其中adsp设备的主设备号是14,次设备号是12。

第2条本制度适用于涉及公司设备故障管理的所有事项。

设备材质:钢板制作车体

root#ls -l /dev/ttyS[0-3]
crw-rw----  1 root  root 4, 64 Feb 18 23:34 /dev/ttyS0
crw-r-----  1 root  root 4, 65 Nov 17 10:26 /dev/ttyS1
crw-rw----  1 root  root 4, 66 Jul  5  2000 /dev/ttyS2
crw-rw----  1 root  root 4, 67 Jul  5  2000 /dev/ttyS3

混杂设备

在linux系统中,存在一类字符设备,它们共享一个主设备号(10),但次设备号不同,我们称这类设备为混杂设备(miscdevice)。所有的混杂设备形成一个链表,对设备访问时内核根据次设备号查找到相应的miscdevice设备。

  • 混杂设备与字符驱动的区别:
  1. 相对字符驱动而言,内核封装好了api,相对更容易开发;
  2. 由于只占用一个从设备号,故而每一个驱动都只能用于一个设备,无法和字符驱动比,能够用于多个设备;
![](https://upload-images.jianshu.io/upload_images/138606-467a5b328015825b.png)

第2章设备故障管理内容

优点:容量大、不占空间

字符设备是指那些只能按顺序一个字节一个字节读取的设备,但事实上现在一些高级字符设备也可以从指定位置一次读取一块数据。字符设备是面向数据流的设备,每个字符设备都有一个设备号,设备号由主设备号和次设备号组成。同时Linux使用管理文件相同的方法来管理字符设备,所以每个字符设备在/dev/目录下都有一个对应的设备文件,即设备节点,它们包含了设备的类型、主/次设备号以及设备的访问权限控制等,系统通过设备文件来对字符设备进行操作,每个字符设备文件都有自己的与普通文件相同的文件操作函数组结构(struct file_operations)。字符设备驱动通常至少需要实现文件操作函数组中的open、release、read和write四种操作方法。常见的字符设备有鼠标、键盘、串口、控制台等。

驱动开发流程

  1. 查看原理图,理解设备的工作原理。
  2. 定义主设备号。
    设备由一个主设备号和一个次设备号来标识。主设备号唯一标识了设备类型,即设备驱动程序类型,它是块设备表或字符设备表中设备表项的索引。次设备号仅
    由设备驱动程序解释,区分被一个设备驱动控制下的某个独立的设备。
  3. 实现初始化函数。在驱动程序中实现驱动的注册和卸载。
  4. 设计所要实现的文件操作,定义file--operations结构。
  5. 实现所需的文件操作调用,如read,write等。
  6. 实现中断服务,并用request--irq向内核注册,中断并不是每个设备驱动所必需的。
  7. 编译该驱动程序到内核中,或者用insmod命令加载模块。
  8. 测试该设备,编写应用程序,对驱动程序进行测试。

第3条公司设备的故障管理内容主要分为设备故障前的管理工作、设备故障后的管理工作与设备故障记录的管理工作三部分内容。

出品单位:燕北集团

块设备

参考

linux驱动开发流程
linux设备驱动第一篇:设备驱动程序简介
Linux设备驱动开发 - 混杂设备驱动

第4条设备故障前的管理工作是指通过对设备与运行状态的监测与诊断,判断设备有无劣化情况。发现设备的潜在隐患,须及时进行预防维修,以防止设备故障的发生。

图片 3

存储设备一般属于块设备,块设备有请求缓冲区,并且支持随机访问而不必按照顺序去存取数据,比如你可以先存取后面的数据,然后在存取前面的数据,这对字符设备来说是不可能的。Linux下的磁盘设备都是块设备,尽管在Linux下有块设备节点,但应用程序一般是通过文件系统及其高速缓存来访问块设备的,而不是直接通过设备节点来读写块设备上的数据。块设备文件的第一个标志是前面的“b”标志。

第5条设备故障后的管理工作是指在设备故障发生后,及时分析设备的故障原因,研究解决方案,采取相关措施排除故障或改进设备,以防止设备故障的再次发生。

root# ls -l /dev/hda[1-3]
brw-rw----  1 root  root  3, 1 Jul  5  2000 /dev/hda1
brw-rw----  1 root  root  3, 2 Jul  5  2000 /dev/hda2
brw-rw----  1 root  root  3, 3 Jul  5  2000 /dev/hda3

第3章设备故障前管理要求

块设备是指那些可以从设备的任意位置读取任意长度数据的设备。每个块设备同样有一个设备号,设备号由主设备号和次设备号组成。同时Linux也使用管理文件相同的方法来管理块设备,每个块设备在/dev/目录下都有一个对应的设备文件,即设备节点,它们包含了设备的类型、主/次设备号以及设备的访问权限控制等,系统通过设备文件来对块设备进行操作,每个块设备文件都有自己的与普通文件相同的文件操作函数组结构(struct file_operations)。但块设备需要实现的操作方法远比字符设备的操作方法多得多,也难得多。块设备既可以作为普通的裸设备用来存放任意数据,也可以将块设备按某种文件系统类型的格式进行格式化,然后按照该文件系统类型的格式来读取块设备上的数据,但不管哪种方式,最后访问设备上的数据都必须通过调用设备本身的操作方法实现,区别在于前者直接调用块设备的操作方法,而后者则间接调用块设备的操作方法。常见的块设备有各种硬盘、flash磁盘、RAM磁盘等。

第6条设备维修管理人员需要做好设备的宣传培训工作,使设备使用人员与设备维修专员能够自觉遵守设备的操作、检测、检修等相关规章制度。

网络设备

第7条设备维修管理人员应根据本企业的生产现状与设备的基本资料、运行状态及特点确定设备故障管理的重点。

网络设备不同于字符设备和块设备,它是面向报文的而不是面向流的,它不支持随机访问,也没有请求缓冲区。在Linux里一个网络设备也可以叫做一个网络接口,如eth0,应用程序是通过Socket而不是设备节点来访问网络设备,在系统里根本就不存在网络设备节点。

第8条设备维修管理人员需要确定设备检查的工作规范,明确界定设备正常、异常与故障的界限。

网络接口用来与其他设备交换数据,它可以是硬件设备,也可以是纯软件设备,如loopback接口就是一个纯软件设备。网络接口由内核中的网络子系统驱动,负责发送和接收数据包,但它不需要了解每项事务如何映射到实际传送的数据包,许多网络连接(尤其是使用TCP协议的连接)是面向流的,但网络设备围绕数据包的传输和接收设计。网络驱动程序不需要知道各个连接的相关信息,它只需处理数据包。网络接口没有像字符设备和块设备一样的设备号,只有一个唯一的名字,如eth0、eth1等,而这个名字也不需要与设备文件节点对应。内核使用一套与数据包传输相关的函数来与网络设备驱动程序通信,它们不同于字符设备和块设备的read()和write()方法。

第9条设备维修人员应有计划地采用设备检测工作与诊断技术对设备进行全面的检修,及时发现设备的劣化征兆与劣化信息。

设备节点、设备驱动及设备的关联
     当我们访问一个设备节点是,系统是如果知道使用哪个设备驱动及访问哪个设备的呢?这个是通过设备号来实现的。当我们创建一个设备节点时需要指定主设备号和次设备号。对于设备节点来说,名字不是重要的,设备号才是最重要的,它实际指定了对应的驱动程序和对应的设备。

第10条设备维修人员在检测设备时需要着重掌握设备容易引起故障的部位、机构和零部件的技术状态以及设备的异常信息。

Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录下,称为设备文件。应用程序可以打开、关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样。为了管理这些设备,系统为设备编了号,每个设备号又分为主设备号和次设备号。主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备。对于常用设备,Linux有约定俗成的编号,如硬盘的主设备号是3。

第11条为迅速查找设备故障的原因及部位,设备维修管理人员除需要培训维修管理专员掌握一定的设备电气、液压等基本知识外,还需要将设备的常见故障、分析步骤、排除方法等编制成设备故障查找程序说明书,以便设备维修专员能够及时查找、排除故障。

 

第4章设备故障后的管理要求

      Linux为所有的设备文件都提供了统一的操作函数接口,方法是使用数据结构struct file_operations。这个数据结构中包括许多操作函数的指针,如open()、close()、read()和write()等,但由于外设的种类较多,操作方式各不相同。Struct file_operations结构体中的成员为一系列的接口函数,如用于读/写的read/write函数和用于控制的ioctl等。打开一个文件就是调用这个文件file_operations中的open操作。不同类型的文件有不同的file_operations成员函数,如普通的磁盘数据文件,接口函数完成磁盘数据块读写操作;而对于各种设备文件,则最终调用各自驱动程序中的I/O函数进行具体设备的操作。这样,应用程序根本不必考虑操作的是设备还是普通文件,可一律当作文件处理,具有非常清晰统一的I/O接口。所以file_operations是文件层次的I/O接口。

第12条设备维修人员接到设备故障的信息后,需要立即赶往现场排除故障,以免影响生产进度。

 

第13条设备维修人员的设备故障处理程序如下。

主设备号

分析设备故障的原因。

驱动程序在初始化时,会注册它的驱动及对应主设备号到系统中,这样当应用程序访问设备节点时,系统就知道它所访问的驱动程序了。你可以通过/proc/devices文件来驱动系统设备的主设备号。

拟定设备故障的排除方案。

次设备号

排除设备故障。

驱动程序遍历设备时,每发现一个它能驱动的设备,就创建一个设备对象,并为其分配一个次设备号以区分不同的设备。这样当应用程序访问设备节点时驱动程序就可以根据次设备号知道它说访问的设备了。

请求验收处理过故障的设备。

系统中的每一个字符设备和块设备(网络接口没有设备号)都有一个设备号,传统的UNIX以及早期版本Linux中的设备号是16位的,主次设备号都是8位的,低8位为次设备号,高8位为主设备号,因此系统最多分别支持65536个字符设备和65536个块设备,这个限制已经不能满足当前层出不穷的各种新设备的需要,所以Linux2.6中对设备号已经进行了扩展,一个设备号为32位,主设备号为12位,次设备号为20位,但是这32位设备号的编码方式有新旧两种,旧的设备编号格式为:最高12位为主设备号,最低20位为次设备号;新的设备编号格式为:bit[19:8]是主设备号,bit[31:20]是次设备号的高12位,bit[7:0]是次设备号的低8位。如果知道了一个设备的主设备号major和次设备号minor,那么用MKDEV(major,minor)生成是该设备的旧格式的设备号,用new_encode_dev(MKDEV(major,minor))生成的则是新格式的设备号。Linux支持的各种设备的主设备号定义在include/linux/major.h文件中,而已经在官方注册的主设备号和次设备号在Documentation/devices.txt文件中可以找到。

详细记录设备故障的处理情况。

老式16位设备号、32位旧格式设备号以及32位新格式设备号的转换操作函数如下:

第14条设备维修人员维修完设备后,应根据设备的种类及故障原因对设备故障进行分类,并拟出相关的解决对策,避免此类故障的再次发生。

new_encode_dev(dev_t dev)函数

第15条设备维修人员遇到有代表性的设备故障后,在维修完设备后,应将此次故障及时编入设备故障查找程序说明书中,使其不断完善。

将32位旧格式设备号dev转换成32位新格式设备号。

第5章设备故障的记录

new_decode_dev(u32 dev)函数

第16条设备故障的记录工作是设备故障管理的重要组成部分,其内容包括设备请修单、设备检修记录表、设备维修记录表、设备维修验收单等内容。

将32位新格式设备号转换成32位旧格式设备号。

第17条设备维修经理应指派专门人员进行设备故障记录的管理工作,设备故障记录的管理人员应及时收集与设备故障有关的设备检修、维修信息。

old_encode_dev(dev_t dev)函数

第18条设备维修管理人员需要定期查询设备的故障记录,根据记录的内容分析设备的故障频率、平均故障间隔期及设备的故障规律,以便提前安排设备的检修工作,提高设备检修与维修工作的效率。

将32位旧格式设备号转换成老式16位设备号。

第19条设备维修管理人员需要根据对设备故障记录的统计分析,绘制设备故障的统计分析图表(如单台设备故障的动态分析统计表),作为设备维修人员在设备检修时的目视管理工具之一。

dev_t old_decode_dev(u16 val)函数

第20条设备故障的原始记录由指定的人员进行保管且不允许外借,设备维修人员需要借阅时应办理规定的手续并且只提供复印件。

将老式16位设备号转换成32位旧格式设备号。

第21条设备故障的原始记录不允许任何人销毁,确需要销毁时必须得到设备部经理与主管副总的审批同意,并且原则上设备故障原始记录的保存时间必须达到五年才可销毁。

Linux中设备节点是通过“mknod”命令来创建的。一个设备节点其实就是一个文件,Linux中称为设备文件。有一点必要说明的是,在Linux中,所有的设备访问都是通过文件的方式,一般的数据文件程序普通文件,设备节点称为设备文件。在Linux内核中网络设备也是通过文件操作的,称为网络设备文件,在用户空间是通过socket接口来访问的。socket号就是网络设备文件描述符。

更多关于“设备维修作业管理制度”等建筑建设方面的知识,可以登入中国本网建设通进行查询。

如:mknod /dev/mydevice c 254 0

更多关于建筑行业独家信息,敬请实时关注本网微信号。

(c代表子都设备,254为主设备号,0为次设备号)

图片 4

Open,close等操作/dev/下设备文件,内核根据文件的主设备号找到对应的设备驱动

关注手机本网(

主设备号可以分为动态和静态申请。

设备文件

Linux使用对文件一样管理方式来管理设备,所以对于系统中的每个字符设备或者块设备都必须为其创建一个设备文件,这个设备文件就是放在/dev/目录下的设备节点,它包含了该设备的设备类型(块设备或字符设备)、设备号(主设备号和次设备号)以及设备访问控制属性等。设备文件可以通过手工用mknod命令生成也可以由udev用户工具软件在系统启动后根据/sys目录下每个设备的实际信息创建,使用后一种方式可以为每个设备动态分配设备号,而不必分配固定的设备号,如果系统中的设备不多,而且设备类型又是常见的,可以使用手工方式生成设备文件,为常用设备创建一个已经分配号的设备号对应的设备文件,这样比较方便。如果系统很大,系统中的设备太多,那么最好动态分配设备号,由udev在系统启动之后根据设备实际信息自动创建设备文件。

本文由betway88发布于养殖新闻,转载请注明出处:燕北集团,设备维修作业管理制度

关键词: betway88

上一篇:betway88单通道注射泵,2ml带管连续注射器
下一篇:没有了