8.设备管理.pptVIP

  • 2
  • 0
  • 约2.39千字
  • 约 18页
  • 2017-01-07 发布于江苏
  • 举报
8.设备管理

设 备 管 理 Linux的设备管理的主要任务是控制设备完成输入输出操作,所以又称输入输出(I/O)子系统。 它的任务是把各种设备硬件的复杂物理特性的细节屏蔽起来,提供一个对各种不同设备使用统一方式进行操作的接口。 Linux把设备看作是特殊的文件,系统通过处理文件的接口—虚拟文件系统VFS来管理和控制各种设备 Linux以文件形式管理设备,所有的设备分为字符设备、块设备和网络设备三类 设备通常要挂载(mount)以后才能使用 使用完后要卸载(umount) 挂载存储设备时要指明所使用的文件系统 字符设备是以字符为单位输入输出数据的设备,一般不需要使用缓冲区而直接对它进行读写。 块设备是以一定大小的数据块为单位输入输出数据的,一般要使用缓冲区在设备与内存之间传送数据。 网络设备是通过通信网络传输数据的设备,一般指与通信网络连接的网络适配器(网卡)等。 Linux使用套接口(socket)以文件I/O方式提供了对网络数据的访问。 设备驱动程序 系统对设备的控制和操作是由设备驱动程序完成的。 设备驱动程序是由设备服务子程序和中断处理程序组成。设备服务子程序包括了对设备进行各种操作的代码,中断处理子程序处理设备中断。 设备驱动程序的主要功能是: 对设备进行初始化 启动或停止设备的运行 把设备上的数据传送到内存 把数据从内存传送到设备 检测设备状态 驱动程序是与设备相关的。 驱动程序的代码由内核统一管理, 驱动程序在具有特权级的内核态下运行。 设备驱动程序是输入输出子系统的一部分。 驱动程序是为某个进程服务的,其执行过程仍处在进程运行的过程中,即处于进程上下文中。 若驱动程序需要等待设备的某种状态,它将阻塞当前进程,把进程加入到该种设备的等待队列中。。 Linux的驱动程序分为两个基本类型:字符设备驱动程序和块设备驱动程序。 设备的识别 对设备的识别使用设备类型、主设备号、次设备号 设备类型:字符设备还是块设备。 按照设备使用的驱动程序不同而赋予设备不同的主设备号。主设备号是与驱动程序一一对应的, 同时还使用次设备号来区分一种设备中的各个具体设备。次设备号用来区分使用同一个驱动程序的个体设备。 例如,系统中的块设备IDE硬盘的主设备号是3, 而多个IDE硬盘及其各个分区分别赋予次设备号1、2、3… 设备文件 Linux设备管理的基本特点是把物理设备看成文件,采用处理文件的接口和系统调用来管理控制设备。 从抽象的观点出发,Linux的设备又称为设备文件。 设备文件也有文件名,设备文件名一般由两部分组成 第一部分2~3个字符,表示设备的种类,如串口设备是cu,并口设备是lp,IDE普通硬盘是hd,SCIS硬盘是sd,软盘是fp等。 第二部分通常是字母或数字,用于区分同种设备中的单个设备,如hda、hdb、hdc…分别表示第一块、第二块、第三块IED硬盘。而hda1、hda2…表示第一块硬盘中的第一、第二个磁盘分区 设备文件一般置于/dev目录下,如/dev/hda2、/dev/lp0等。 Linux使用虚拟文件系统VFS做为统一的操作接口来处理文件和设备。 与普通的目录和文件一样,每个设备也使用一个VFSinode来描述,其中包含着该种设备的主、次设备号。 对设备的操作也是通过对文件操作的file_operations结构体来调用驱动程序的设备服务子程序 df 命令 功能:用来检查文件系统的磁盘空间占用情况 fdisk 命令 功能说明:磁盘分区 语 法 fdisk [-b 分区大小][-uv][外围设备代号] 或 fdisk [-l][-b 分区大小][-uv][外围设备代号...] 或 fdisk [-s 分区编号] 参数   -b分区大小 指定每个分区的大小。   -l 列出指定的外围设备的分区表状况。   -s分区编号 将指定的分区大小输出到标准输出上,单位为区块。   -u 搭配-l参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址。   -v 显示版本信息。 mkfs命令 mkfs [选项][-t 文件系统类型] [设备名称] [区块数] 说明:把指定的设备格式为指定的文件系统。 例如格式化硬盘时:kfs –t ext3 /dev/hda4 linux支持msdos、vfat、ntfs、ext2、ext3和ext4等文件类型。 在格式化一个设备前,如果该设备已经挂载到系统中,则需要先将该设备卸载,然后再执行相应的格式化命令。 fsck? 功能:检查硬盘有没有坏道的工具 注意:通常只有身为 root 且系统有问题的时候才使用这个指令,否则在正常状况下使用此一指令,可能会造成对文件的危害 例子 : 检查 ext3文件系统的 /dev/hda5 是否正常,如果有异常便自动修复 : fsck -t

文档评论(0)

1亿VIP精品文档

相关文档