- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
linux核心下
Linux核心(The Linux Kernel)
(下)
First, they ignored us; then they laughed at us; then they fighted us; then we win.
--From 1st Linux Conference
原著:David A Rusling
编译:陈怀临等
第八章 设备驱动程序
操作系统的目的之一就是掩盖掉各种硬件的特殊性。使得系统中的硬件设备对于用户而言是透明
的,例如,不管底层是什么样的物理设备,虚拟文件系统提供一个一致的,安装好的文件系统。本
章将描述 Linux 核心如何管理系统中的物理设备。
系统中 CPU 不是唯一的智能设备,每一个物理外设都有其设备控制器。键盘,鼠标和串行接口由
多功能卡 (SuperIO)控制,IDE 磁盘由 IDE 控制器掌握,SCSI 磁盘有 SCSI 控制器控制。每一
个于硬件控制器都有其自己的控制和状态寄存器 (CSR)。这些 CSR 在不同的设备中是不一样的。
一个 Adaptec 2940 SCSI 控制器的 CSR 与 NCR810 SCSI 控制器差别很大。CSR 用来启动和
停止一个设备,用来初始化一个设备和检测故障。用来管理系统中硬件控制器的代码位于 Linux
核心中,而不是在每个应用程序中。用来管理硬件控制器的软件通常叫做设备驱动程序。Linux
核心的设备驱动程序基本上是一些共享库 (Shared Library),在库中含有一些特权的,常住内
存的,一些用来处理底层硬件的例程。Linux 的设备驱动程序用来处理各种硬件的多样性。
操作系统的基本功能之一是对设备处理的抽象化。所有的物理设备被当做正规的文件来处理,可以
被“打开”,“关闭”,“读”和”写“,就像我们用系统调用处理文件一样。 (译者注:“文件”是一个
逻辑上的概念;设备是一个实体。这里谈的是把设备抽象在/dev 文件系统下。)系统中每一个设
备都对应一个设备特殊文件 (device special file),例如,系统中的第一个 IDE 磁盘的设备
文件名是/dev/hda。对于块设备(如,磁盘)和字符设备,它们的的设备特殊文件通常是通过
mknod 命令用主设备号和次设备号来描述和创建。 (译者注:主设备号和次设备号用来定位系统中
两个表。一个主设备对应一个设备驱动程序。次设备的含义是系统中可以存在多个设备属于同一
类,比如多个 IDE 磁盘。 但它们只需要一个同样的设备驱动程序来管理。)网络设备也同样是一
个设备特殊文件,但它是由 Linux 核心来创建当系统发现并初始化网络控制器的时候。被同样一
个设备驱动程序所管理的所有设备拥有一个同样的主设备号。次设备号用来区分不同的设备和设备
控制器。例如,每个 IDE 磁盘主设备的每个分区都有个不同的次设备号。所以,/dev/hda2,这
个第 2 个分区的主设备号是 3,次设备号是 2。Linux 将系统调用中 (比如将一个文件系统安装在
一个块设备上)传递过来的设备特殊文件名映射到相应的设备驱动程序 (根据其相应的主设备名)和
许多系统表中,如字符设备表,chrdevs。
Linux 支持三种硬件设备类型:字符,块和网络设备。字符设备的读写不需要缓冲,例如系统的
串行接口/dev/cua0 和/dev/cua1。块设备的读和写只能以块的单位来进行,块的大小一般是
512 字节或 1024 字节。块设备的读写是通过缓冲 Cache 并且可以被随机存取。随机存取意味著
你可以定位块设备的任一个块并进行读取;块设备的存取可以通过其设备特殊文件,但更通常的是
通过文件系统。只有块设备支持文件系统的安装 (Mount)。网络设备的存取是通过BSD 的
Socket 接口和网络子系统 (请参阅网络章节)。
Linux 支持许多不同的设备驱动程序 (Linux的优点之一)。它们都具备一些共同的属性:
核心态:
设备驱动程序是核心的一部份,就象核心中其他代码一样,如果不正确运行,会严
重地毁坏系统。一个写的不好的驱动程序 可能使系统崩溃,并可能将文件系统打乱丢失数据 .
(译者注:作者在这提“核心态”的目的是指核心态下运行的代码可以几乎完全控制一个系统。)
核心接口:
设备驱动程序必须
您可能关注的文档
- IPL和OpenCV在VC环境下的应用.pdf
- IPM100网络视频适配器模块数据手册.pdf
- ipran割接过程.doc
- IP_subneting 计算.doc
- IP网网络时延探讨.pdf
- IQ写入文本文件.pdf
- ISD1420语音芯片在单片机系统中的应用.pdf
- 3-2仿古建筑工地进程.ppt
- ISSR标记技术在莲藕遗传研究中的运用.pdf
- 3-3 换填地基工地进程施工.ppt
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
最近下载
知传链电子书
- 2014年3月一级MS Office 真考题库新增试题(5).pdf
- 2014年3月一级MS Office 真考题库新增试题(4).pdf
- 2014年3月一级MS Office 真考题库新增试题(3).pdf
- 2014年3月一级MS Office 真考题库新增试题(2).pdf
- 2014年3月一级MS Office 真考题库新增试题(1).pdf
- 2014年9月一级MS Office 真考题库新增试题 参考答案及解析.pdf
- 2014年9月一级MS Office 真考题库新增试题(5).pdf
- 2014年9月一级MS Office 真考题库新增试题(4).pdf
- 2014年9月一级MS Office 真考题库新增试题(3).pdf
- 2014年9月一级MS Office 真考题库新增试题(2).pdf
文档评论(0)