当前位置:首页 >> 能源/化工 >>

内核驱动和应用程序关系


应用程序与库函数、内核、驱动之间的关系 应用程序、 内核、 库、 驱动程序的关系: 应用程序调用应用程序函数库完成功能、 应用程序以文件形式访问各种资源、应用程序函数库、部分函数直接完成功能、 部分函数通过系统调用。 由内核完成内核处理系统调用。 调用设备驱动程序,设备驱动直接与硬件通信。 它们之间的关系如下图所示

设备类型: 常见的设备有三类:字符设备、块

设备、网络设备。 字符设备: 对字符设备发出读/写请求时, 实际的硬件 I/O 操作一般紧接着发生。 块设备:块设备与之相反,它利用系统内存作为缓冲区。

网络设备: 网络设备是一类特殊的设备,它不像字符设备或块设备那样通过对应 的设备文件节点访问,也不能直接通过 read 或 write 进行数据访问请求。 设备号 硬件设备以主设备号和从设备号区分。在设备管理中,除了设备类型外,内核还 需要对被称为主从设备号的参数,才能唯一标识一个设备。主设备号相同的设备 使用相同的驱动程序,从设备号用于区分具体设备的实例。在/dev 目录下使用 ll 命令(ls -l)可以查看各个设备的设备类型、主从设备号等。cat /proc/devices 可 以查看系统中所有设备对应的主设备号。 设备文件 设备类型、 主从设备号是内核与设备驱动程序通信时使用的,应用程序使用设备 文件节点访问对应设备。Linux 2.4 引入了设备文件系统(devfs)所有的设备文 件作为一个可以挂载的文件系统, 每个主从设备号确定的设备都对应一个文件节 点。每个设备文件都有其文件属性(c 代表字符设备或者 b 代表块设备),都有 2 个设备号:1、主设备号,用于标识驱动程序;2、从设备号:用于标识同一驱 动程序的不同硬件。 设备文件的主设备号必须与设备驱动程序在登记时申请的主 设备号一致。需要注意的是,系统调用是内核与应用程序之间的接口,设备驱动 程序是内核与硬件之间的接口。 驱动程序与应用程序的区别 1、应用程序以 main 开始,驱动程序没有 main,它以一个模块初始化函数作为 入口。 2、应用程序从头到尾执行一个任务,驱动程序完成初始化之后不再运行,等待 系统调用。 3、应用程序可以使用 GLIBC 等标准 C 函数库,驱动程序不能使用标准 C 库。 用户态与内核态 系统运行时一般情况下, 分用户态和内核态, 这两种运行态下的数据互不可见的。 驱动程序是内核的一部分,工作在内核态,应用程序工作在用户态。这样就存在 数据空间访问的问题:无法通过指针直接将二者的数据地址进行传递。问题的解 决办法是: 系统提供一系列函数帮助完成数据空间转换: 例如, get_user 、 put_user 、 copy_from_user 、copy_to_user 等函数。

Linux 驱动程序功能 驱动程序的一般功能是: 对设备初始化和释放、把数据从内核传送到硬件和从硬 件读取数据、读取应用程序传送给设备文件的数据和回送应用程序请求的数据、 检测和处理设备出现的错误等。


相关文章:
操作系统与应用程序的关系
操作系统与应用程序关系 操作系统主要可以分为两大部分:内核和内核之外的一些...系统程序软件实际上就是我们所说的驱动程序,它们的目的只有 一个,就是为了驱动...
内核系统调用与字符驱动的联系
内核驱动与系统调用 应用程序层: A, 应用程序调用 open()。 --- 打开字符设备...2. 驱动是跑在内核的某一平台上,与进程调度的关系? 例如:内核进程查询异常...
操作系统课程设计 内核模块编程和设备驱动程序
操作系统课程设计 内核模块编程和设备驱动程序_计算机软件应用_IT/计算机_专业资料..._user、 memcpy_tofs 等等,需要说明的是.模块编程和内核的版本有很大的关系....
Linux驱动试题
lsmod 可以查看模块的依赖关系, modprobe 在加载模块时会加载其他依赖的模块。 3...2. 驱动调试: 内核的调试手段、 应用程序的调试手段(内核 Panic 所 dump 的...
Android驱动开发全过程(有图有真相)
Android驱动开发全过程(有图有真相)_计算机软件应用_IT/计算机_专业资料。-1...其它层的关系: 在学习Android 硬件抽象层的过程中,我 们将会学习如何在内核空间...
linux内核驱动基础复习笔记(ver 0.11)
linux内核驱动基础复习笔记(ver 0.11)_其它语言学习_外语学习_教育专区。linux内核...? 这种交互关系——应用程序通过系统调用陷入内核——是应用程序完成其工作的基...
内核和设备驱动编程
内核和设备驱动编程一、 实验目的 学习 linux 操作系统下内核程序的编写和应用;...{ open:dopen, release:dclose, ioctl:dioctl, }; 当然,上面的对应关系也...
Windows 内核技术与驱动开发笔记(完整版)
Windows 内核技术与驱动开发笔记(完整版)_电脑基础知识_IT/计算机_专业资料。Windows...4.请画出 4.请画出 Windows 架构简图 应用程序 Win32 子系统 Native API ...
android驱动开发和移植详解
根据 Android 系统的接口开发游戏,也是 Android 底层开发技术实战详解——内核、移植和驱动 Android 应用程序开发的一个重要方向。 上述两种类型的开发结构如图 3-1 ...
内核驱动-尚观资料
内核驱动-尚观资料_计算机软件应用_IT/计算机_专业资料。内核驱动内核...或直接: task->state = state; (7)进程的家族树 进程间存在明显的继承关系...
更多相关标签:
内核模式驱动程序框架 | 驱动和内核的关系 | 内核模式打印驱动程序 | 内核驱动程序 | 内核模式驱动程序 | 内核通知应用程序方式 | 驱动器找不到应用程序 | 应用程序调用驱动程序 |