大话linux运用层访问到硬件驱动层过程

2023-11-05

维哥简述:面试就这么答就OK,今天面试居然忘记了,老司机也翻车,唉。

概论流程图

如下图所示:
(1):当运用程序调用open(dev_path,mode)时
(2):虚拟文件系统(vfs)的sys_open()函数就会被调用,该函数会在dev_path上获取到文件节点的详细信息,如:读写执行模式 主设备号 次设备号 日期 文件节点等。
(3):当获取到有效的节点信息后,就会根据主设备号与次设备号在内核维护的设备节点链表上查找。
(4):根据索引获取到信息后,就将该驱动信息返回到运用层。
从而完成运用层调用驱动层的一个大体流程。

形象比喻:
1、内核维护一张驱动信息的链表
2、注册驱动就是将驱动的信息挂接到内核的链表上(根据主次设备号)
3、运用层在文件路径下找到到详细的,需要打开的文件信息(主要是主次设备号)
4、然后便利内核维护的链表,然后返回匹配驱动节点。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大话linux运用层访问到硬件驱动层过程 的相关文章

  • java 删除文件路径下的指定文件

    起因 租赁项目过期或未按指定机器被套用 检测到违反规定 需要删除数据库并删除重要文件 本文主要解决问题 删除文件夹下的指定文件 解决方案 import java io File public class TestMain public st
  • 水星迷你无线路由器ap模式 下要不要启用 dhcp服务器,水星(Mercury)Mini无线路由器AP模式设置...

    本文介绍了水星 MERCURY Mini系列无线路由器AP模式的设置方法 水星迷你路由器实现了即插即用 非常适合出差或者在旅行途中入住酒店时使用 直接把酒店房间里面的网线插在水星迷你无线路由器上 就可以正常使用了 下面以水星MW150RM迷
  • 编程 打油诗_CNC操机10年老员工献给大家的一首心酸打油诗

    操机苦 倒班累 操机倒班活受罪 半夜起 早晨睡 好比参加革命游击队 整日在思 彻夜不能寐 工作不顺奖金全作废 煎熬一夜 下班打瞌睡 吃个早餐凌晨还得排队 洗漱列队 厕所抢位 回到宿舍心神疲惫 请假难请 扣钱双倍 每天都在请假排队 数控操机何
  • Android之使用本地缓存数据

    前言 在通常做项目的时候 需要存储数据 会使用GreenDAO数据库 bmob后端云 或者其他方法 以及本篇文章所讲解的本地缓存 也就是通过SharedPreferences 来进行缓存 第一部分 1 那么首先呢需要创建一个缓存数据的类Ca
  • python编程中的注意事项

    虚拟环境 win下的虚拟环境创建 virtualenv name python 3 7 9 conda创建虚拟环境 conda create prefix home coData venv python 3 8 conda环境恢复 起因 c
  • 我的128创作纪念日

    机缘 写CSDN博客的时候 应该纯属一个巧合 还记得当初是和一个班上的同学一起记录学习笔记 最初是在博客园的平台上记录笔记 可以在以后复习时使用 后来我的同学开始推荐使用CSDN平台 于是我们两就转战CSDN啦 不知不觉 从3月份到现在也有
  • PyQt中的多线程QThread示例

    PyQt中的多线程 一 PyQt中的多线程 二 创建线程 2 1 设计ui界面 2 2 设计工作线程 2 3 主程序设计 三 运行结果示例 一 PyQt中的多线程 传统的图形用户界面应用程序都只有一个执行线程 并且一次只执行一个操作 如果用
  • Vscode:常用插件 & 快捷键 & 配置等

    一 常用插件 1 git相关的 1 在代码中显示git提交日志 包含Git账号 commit信息 给Vscode添加Git功能 GitLens Git supercharged 2 显示图形化的瀑布时间线Git记录 可基于某个分支创建新分支
  • w10计算机怎么恢复出厂设置路由器,技术编辑为你解决win10系统打不开192.168.1.1设置界面的还原步骤...

    很多人都懂一些简单的电脑系统问题的解决方案 但是win10系统打不开192 168 1 1设置界面的情况 想必大家都遇到过win10系统打不开192 168 1 1设置界面的情况吧 那么应该怎么处理win10系统打不开192 168 1 1
  • 【SQL】5 SQL SELECT DISTINCT 语句

    SELECT DISTINCT 语句用于返回唯一不同的值 SQL SELECT DISTINCT 语句 在表中 一个列可能会包含多个重复值 有时您也许希望仅仅列出不同 distinct 的值 DISTINCT 关键词用于返回唯一不同的值 S
  • Vue 中如何实现监测数组变化

    vue中响应式数据的原理是通过Object defineProperty控制getter和setter 并利用观察者模式完成的响应式设计 数组考虑性能原因没有用defineProperty对数组的每一项进行拦截 而是选择重写数组api方法
  • git提交忽略文件名称大小写问题解决

    在项目开发中 关于文件名称大小写的修改 项目可能会默认忽略 对于一开始就新建的文件名问题不大 1 git在提交代码时 会忽略文件名称大小写 导致本地代码与远程代码不一致 此时可利用终端指令来检查下 git config get core i
  • 机械臂 手眼标定 手眼矩阵 eye-in-hand 原理、实践及代码

    1 手眼标定 所谓手眼系统 就是人眼睛看到一个东西的时候要让手去抓取 就需要大脑知道眼睛和手的坐标关系 而相机知道的是像素坐标 机械手是空间坐标系 所以手眼标定就是得到像素坐标系和空间机械手坐标系的坐标转化关系 目前工业上通常使用两种方法进
  • IDEA下导入maven项目时Maven Project处未能显示jar包正常解决办法

    IDEA下导入多级maven项目时未能显示正常解决办法 1 Ctrl Alt Shift S 打开Project Structrue 2 左边点击 Modules 切换到Modules选项卡 3 此时你如果发现现在已经加载所有工程中并没有你
  • IPSEC流程例子及两个阶段的协商过程详细介绍

    IPSEC VPN两个阶段的协商过程详细介绍 IPSec体系结构模型图 我们来看一个完整的IPSec体系结构模型图 以便更好地理解IPSec体系结构 IPSec流程图 SAKMP IKE第一阶段称为ISAKMP IKE的管理连接阶段 使用双
  • docker中镜像和容器的批量操作

    1 批量删除镜像 docker rmi docker images grep 条件 awk print 3 docker images 所展示的列表 第三列为镜像id 根据镜像id做删除操作 2 批量删除容器 docker rm f doc

随机推荐

  • 华为OD机试 - 最长广播响应(Java)

    题目描述 某通信网络中有N个网络结点 用1到N进行标识 网络中的结点互联互通 且结点之间的消息传递有时延 相连结点的时延均为一个时间单位 现给定网络结点的连接关系link i u v 其中u和v表示网络结点 当指定一个结点向其他结点进行广播
  • 因果推断(四)——后门调整、前门调整、逆概率加权

    在因果推断 三 中 我们介绍了干预的相关概念 在本文中 我们对一些方法进行介绍 这些方法可用于利用干预分析变量之间的因果关系 在因果推断 三 中 我们得出了调整公式 如上式 假设PA为A节点的所有父节点的集合 则上 式可以修改为 其中b为P
  • 架构与思维:系统容量设计

    背景 单位每年都会举行运动会 有一个2000m长跑的项目 大约每年报名人员为男选手40人 女选手20人 只有一条橡胶跑道 一次比赛10人齐跑 所以至少需要6场比赛 2000米的完成时间要求是20分钟 超过20分钟不计数 所以比赛耗时我们计算
  • Multi-Scale Convolutional Neural Networks for Time Series Classification

    keywords 时间序列处理 深度学习 keras 针对现有时间序列分类方法的特征提取与分类过程分离 且无法提取存在于不同时间尺度序列的不同特征的问题 作者提出MCNN模型 对于单一时间序列输入 进行降采样和滑动平均等变化 产生多组长度不
  • 双向dc-dc变换器原理

    buck电路原理 电容用于平滑电压 由于电容电压不能突变 所以再接一个电感 二极管的作用是给电感提供续流作用 boost电路原理 由于直接升压难以实现 理想情况下输入输出功率相同 可以通过减小输出电流来实现提高输出电压 双向dc dc变换器
  • Open3D 格网法计算点云的占地面积

    目录 一 算法原理 二 代码实现 三 结果展示 四 测试数据 一 算法原理 该方法主要用于粗略统计机载点云的占地面积 方法原理是将点云沿 X O Y XOY XOY面划分成格网 统计有点的格网面积来近似表示点云占地面积 二 代码实现
  • Android 加载高清巨图,无需剪裁压缩

    LargeImage Android 加载大图 可以高清显示10000 10000像素的图片 可以滑动 放大缩小具有PhotoView的效果 普通图片也可以用它展示 Gradle compile com shizhefei LargeIma
  • ospf协议域内SPF算法计算生成树的理解

    在阅读华为IERS文档后的有关SPF的理解 有些详细原理细节省略 图片来自华为文档 计算域内生成树使用Dijkstra算法计算最短路径 使用如下的拓扑图 OSPF的LSA有七种类型 SPF算法计算最小生成树使用一类Router LSA和二类
  • Spark编程基础-RDD

    目录 1 何为RDD 2 RDD的五大特性 3 RDD常用算子 3 1 Transformation算子 1 map 2 flatMap 3 reduceByKey 4 mapValues 5 groupBy 6 filter 7 dist
  • CentOS7 上安装 Postgresql

    1 选择安装包 在postgresql的官方即可找到源码文件目录 地址如下 postgresql的官网地址 根据项目需求选择对应的版本进行安装 具体如下图所示 2 安装 解压安装包 首先进入源码包所在的目录进行解压 root admin n
  • 【http】get/post 获取请求参数

    1 只对 get 请求获取 Url 后面的参数 使用 HttpServletRequest的 getQueryString 方法 String getQueryString 2 无论是 get 还是 post 请求 获取参数 使用 Serv
  • Java使用Selenium实现自动化测试以及全功能爬虫

    1 你听没听说过Selenium 1 1 自动化测试 提到Selenium 便离不开自动化测试 自动化测试 就是把手工进行的测试过程 转变成机器自动执行的测试过程 自动化测试有如下优点 对程序的回归测试更方便 这可能是自动化测试最主要的任务
  • 安科瑞能源物联网以能源供应、能源管理、设备管理、能耗分析的能源流向为主线-安科瑞黄安南

    摘要 随着科学技术的发展 我国的物联网技术有了很大进展 为了提升电力抄表服务的稳定性 保障电力抄表数据的可靠性 本文提出并实现了基于物联网的智能电力抄表服务平台 结合云计算 大数据等技术 提供电力集抄 能耗管理 电气安全 预付费 智能运维等
  • 【IDEA】启动项目错误:Error:java: System Java Compiler was not found in classpath

    1 概述 今天 IDEA启动项目错误 Error java System Java Compiler was not found in classpath 找了如下方案 Settings gt java compiler gt 将javac
  • 【安装教程】Anaconda软件安装教程

    安装Anaconda 下载64位的版本 下载地址 Free Download Anaconda 点击Windows徽标后 页面会往下滚动 选择64位的安装包 安装步骤截图 第一步 点击 Next 点击 I Agree 选择 All User
  • 时间的计算方法 (根据两个时间段判断是否为年,月)

    1 根据两个时间段判断是否为一年 格式 20230206 20240205 校验年 格式 20230206 20240205 public Boolean checkYear Date date1 Date date2 SimpleDate
  • Go使用Redis 发布和订阅消息

    发布消息 在Go中 Redis客户端库可以提供一个Publish方法来实现消息的发布 不同的Redis客户端库可能有不同的API和方法命名 此处以 v8 为例 v8 版本以下不需要context 下面是一个示例使用go redis库进行Pu
  • 中国佛学66句震撼世界的禅语

    author skate time 2010 06 10 中国佛学66句震撼世界的禅语 1 人之所以痛苦 在于追求错误的东西 2 如果你不给自己烦恼 别人也永远不可能给你烦恼 因为你自己的内心 你放不下 3 你永远要感谢给你逆境的众生 4
  • VM虚拟机桥接模式无法联网解决办法

    1 背景介绍 桥接模式 使虚拟机客户机可以和主机在同一网段 这样 和主机同局域网内的其他主机就也可以ping到虚拟机了 因此 虚拟机设置为桥接模式 且设为静态IP 这样以后就可以方便的使用虚拟机了 2 问题描述 桥接模式之前是好用的 但是主
  • 大话linux运用层访问到硬件驱动层过程

    维哥简述 面试就这么答就OK 今天面试居然忘记了 老司机也翻车 唉 概论流程图 如下图所示 1 当运用程序调用open dev path mode 时 2 虚拟文件系统 vfs 的sys open 函数就会被调用 该函数会在dev path