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

内核驱动和应用程序关系


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

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

设备、网络设备。 字符设备: 对字符设备发出读/写请求时, 实际的硬件 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 驱动程序功能 驱动程序的一般功能是: 对设备初始化和释放、把数据从内核传送到硬件和从硬 件读取数据、读取应用程序传送给设备文件的数据和回送应用程序请求的数据、 检测和处理设备出现的错误等。


相关文章:
八 驱动程序设计实验
实验原理 Linux 中的驱动设计是嵌入式Linux 开发中十分重要的部分,它要求开发者不仅要熟悉 Linux 的内核机制、驱动程序与用户级应用程序的接口关系、考虑系统中对...
ARM9在内核中添加Led驱动程序和应用程序
ARM9在内核中添加Led驱动程序和应用程序_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 ARM9在内核中添加Led驱动程序和应用程序_IT/计算机_专业资料。...
内核poll和select详解
poll(轮询)操作在应用程序中用于同时阻塞在多个文件上,当其中任何一个文件有...我对 Poll 系统调用和内核驱动的 poll 方法的关系和结构有了整体且深入的了解,...
Linux设备驱动开发
Linux设备驱动开发_计算机软件应用_IT/计算机_专业资料。Linux 设备驱动开发 Linux...内核模块与驱动关系 - Linux 内核是一个整体结构,因此向内核添加任何东西,...
linux内核驱动基础复习笔记(ver 0.11)
linux内核驱动基础复习笔记(ver 0.11)_其它语言学习_外语学习_教育专区。linux内核...? 这种交互关系——应用程序通过系统调用陷入内核——是应用程序完成其工作的基...
01模块驱动实验基本原理
实验原理 Linux 中的驱动设计是嵌入式 Linux 开发中十分重要的部分, 它要求开发者不仅要熟悉 Linux 的内核机制、驱动程序与用户级应用程序的接口关系、考虑系统中对...
嵌入式LINUX按键驱动程序开发
关键词:设备驱动;Linux;内核;模块;键盘 中图分类号:TP311.1 文献标识码:A 引言嵌入式Linux以其可应用于多种硬件平台、内核高效稳定、源码开放、软件丰富、网络 ...
操作系统与应用程序的关系
操作系统与应用程序关系 操作系统主要可以分为两大部分:内核和内核之外的一些...系统程序软件实际上就是我们所说的驱动程序,它们的目的只有 一个,就是为了驱动...
Windows 内核技术与驱动开发笔记(完整版)
Windows 内核技术与驱动开发笔记(完整版)_电脑基础知识_IT/计算机_专业资料。Windows...4.请画出 4.请画出 Windows 架构简图 应用程序 Win32 子系统 Native API ...
华清__初级驱动试题
8. 驱动程序中采用动态申请设备号的,我们如何得到对应设备的设备号? cat proc/dervices 9. 简述设备驱动程序和普通应用程序的异同点。 不同点:驱动运行于内核,...
更多相关标签:
内核模式驱动程序框架 | 内核模式打印驱动程序 | 驱动和内核的关系 | 卸载内核自带驱动程序 | 内核模式驱动程序 | 内核驱动程序 | 应用程序与内核交互 | 驱动与应用程序通信 |