linu0.12-9-blk_drv

news2024/12/23 11:00:24

[394页]

第9章 块设备驱动程序

395–9-1-总体功能
395–9-1-1-块设备请求项和请求队列
397–9-1-2-块设备访问调度处理
397–9-1-3-块设备操作方式

398–9-2-blk.h文件
398–9-2-1-功能描述
399–9-2-2-代码注释

403–9-3-hd.c程序
403–9-3-1-功能描述
405–9-3-2-代码注释
417–9-3-3-其他信息

426–9-4-ll_rw_blk.c程序
426–9-4-1-功能描述
426–9-4-2-代码注释

432–9-5-ramdisk.c程序
432–9-5-1-功能描述
434–9-5-2-代码注释

438–9-6-floppy.c程序
438–9-6-1-功能描述
439–9-6-2-代码注释
452–9-6-3-其他信息

[394页]

第9章 块设备驱动程序

操作系统的主要功能之一就是与周边的输入输出设备进行通信,采用统一的接口来控制这些外围设备。操作系统的所有设备可以粗略地分成两种类型:块设备(block device)和字符型设备(character device)。块设备是一种可以以固定大小的数据块为单位进行寻址和访问的设备,例如硬盘设备和软盘设备。字符设备是一种以字符流作为操作对象的设备,不能进行寻址操作。例如打印机设备、网络接口设备和终端设备。

为了便于管理和访问,操作系统将这些设备统一地以设备号进行分类。在Linux0.12内核中设备被分为7类,即共有7个设备号(0到6)。每个类型中的设备可再根据子(从、次)设备号来加以进一步区分。

表9-1中列出了各个设备号的设备类型和相关的设备。从表中可以看出某些设备(内存设备)即可以作为块设备也可以作为字符设备进行访问。本章主要讨论和描述块设备驱动程序的实现原理和方法,关于字符设备的讨论放在下一章中进行。

表9-1 Linux0.12内核中的主设备号与相关操作函数
在这里插入图片描述

Linux0.12内核主要支持硬盘、软盘和内存虚拟盘三种块设备。由于块设备主要与文件系统和高速缓冲有关,因此在继续阅读本章内容之前最好能够先快速浏览一下第12章的内容。本章所涉及的源码文件见表9-2。

表9-2 linux/kernel/blk_drv 目录
在这里插入图片描述

本章程序代码的功能可分为两类,一类是对应各块设备的驱动程序,这类程序有:
硬盘驱动程序hd.c。
软盘驱动程序floppy.c。
内存虚拟盘驱动程序ramdisk.c。

另一类只有一个程序,是内核中其他程序访问块设备的接口程序ll_rw_blk.c。块设备专用头文件blk.h为这三种块设备与ll_rw_blk.c程序交互提供了一个统一的设备方式和相同的设备请求开始程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/531970.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

离散数学_九章:关系(6)

🪐9.6 偏序 1、⛺偏序关系和偏序集⛲偏序关系⛲偏序(关系)的例子 a. “大于或等于” 关系b. “整除” 关系c. “包含” 关系 🎬偏序集🎬可比性(comparability) " ≼ " 符号a. 可比 &a…

【工具】如何判断两个二进制文件是否相同

🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd🌐系列专栏:善假于物&#…

wx自定义组件

自定义组件的意义: 提供一系列的样式,,通用的样式提供一系列的骨架,,通用标签避免重复写一些业务逻辑 小程序自定义组件中 : slot : 修改组件内容 外部样式类: 修改组件样式 slot…

案例7:Java茶叶销售网站设计与实现开题报告

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

手术麻醉信息管理系统源码(简称手麻系统源码)php + mysql + vue2 B/S网页版

手术麻醉信息管理系统源码(简称手麻系统源码) 手术麻醉信息管理系统(简称手麻系统)是指专用于住院患者手术与麻醉的申请、审批、安排,术前、术中和术后有关信息的记录和跟踪以及手术麻醉室内部管理等功能的计算机应用…

Lucene中的Field域、索引维护、搜索、相关度排序和中文分词器讲解

Field域 Field属性 Field是文档中的域,包括Field名和Field值两部分,一个文档可以包括多个Field,Document只是Field的一个承载体,Field值即为要索引的内容,也是要搜索的内容。 是否分词(tokenized) 是:作…

事实证明,国产BI软件的财务数据分析性价比极高!

国产BI软件做财务数据分析的性价比极高,主要得益于两个因素,一个是国产BI软件按功能模块购买,大幅度降低BI大数据分析平台的使用成本;另一个则是国产BI软件已打磨出标准化、系统化的财务数据分析方案,低成本、低风险、…

Blender基础技巧小结

官网下载 https://www.blender.org/download/lts/2-83/ 我下载的版本:LTS Release 2.83.20 Windows – Portable Ogre导出插件 https://github.com/OGRECave/blender2ogre 安装插件 将blender2ogre\io_ogre复制到:blender-2.83.20-windows-x64\2.8…

论文阅读-17-Deep Long-Tailed Learning: A Survey---3.1Class Re-balancing

文章目录 1. Re-sampling1.1 Class-balanced re-sampling(1) Decoupling① 网络架构② Sampling策略③ Classifier的学习策略 (2) SimCal① 比较 (3) DCL(4) Balanced meta-softmax(5) FASA(6) LOCE(7) VideoLT 1.2 Scheme-oriented sampling(1) LMLE(2) PRS(3) BBN(4) LTML(5)…

技术赋能光伏组件检测“大尺寸” “高精度”,维视智造SNEC亮点抢先看!

2023.5.24-5.26 全球最具影响力的 国际化、专业化、规模化光伏盛会 第十六届(2023) SNEC光伏大会暨(上海)展览会 即将开展 维视智造深耕机器视觉行业20年 解决方案落地众多光伏头部企业 如今作为光伏组件视觉检测系统行业领先者 此次展会维视将…

(文章复现)《高比例清洁能源接入下计及需求响应的配电网重构》(含matlab代码)

1.引言 配电网重构作为配电网优化运行的手段之一,通过改变配电网的拓扑结构,以达到降低网损、改善电压分布、提升系统的可靠性与经济性等目的。近年来,随着全球能源消耗快速增长以及环境的日趋恶化,清洁能源飞速发展,分…

从【创作者】转变为【博客专家】-- 内含详细申请过程

从【创作者】转变为【博客专家】 0、引言1、创作身份认证1.1 起因1.2 违背祖宗的决定1.3 认证创作身份1.3.0 好处1.3.1 条件1.3.2 认证信息1.3.3 后台审核 2、博客专家认证2.1 好处2.2 条件2.3 认证信息2.4 后台审核2.5 实体证书 3、 反思与总结 ⚠申明: 未经许可&a…

哪个年龄段人群喜欢养宠物?18-25岁占比最高,达31%

上一期,我们通过可视化互动平台分析了萌宠经济下宠物食品的发展现状,这一期我们接着来分析一下,在萌宠经济下,我国宠物医疗产业的市场情况。 由于现在很多家庭都喜欢饲养宠物,宠物数量的快速增长从而拉动了宠物经济的…

晶飞FLA5000光谱仪.FlaSpec文件数据解析

引言 首先说明下晶飞上位机软件存在的问题,实验所采用的FLA5000型号光谱仪,光谱波段从280-970nm,FWHM值为2.4nm。 1、上位机软件中的光谱数据复制功能基本是废的,最多只能到599.9nm,后面的数据全部消失。 2、上位机软…

NOSQL和REDIS配置与优化

关系数据库与非关系型数据库 ●关系型数据库: 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。 SQL 语句(标准数据查询语言)就是一种基于关系型数据库…

在外远程访问公司局域网用友畅捷通T财务软件 - 远程办公

文章目录 前言1.本地访问简介2. cpolar内网穿透3. 公网远程访问4. 固定公网地址 前言 用友畅捷通T适用于异地多组织、多机构对企业财务汇总的管理需求;全面支持企业对远程仓库、异地办事处的管理需求;全面满足企业财务业务一体化管理需求。企业一般将其…

ML@基础概念@模型评估和选择理论基础

refs 参考经典机器学习资料西瓜书 主要符号 x x x:标量 x \boldsymbol{x} x:向量(注意是 x x x的粗体形式) x \mathbf{x} x:变量集(正粗体) A \mathbf{A} A:矩阵(正粗体) I \mathbf{I} I:单位阵(正粗体) χ \chi χ:样本空间或状态空间 D \mathcal{D} D:概率分布…

【fly-iot飞凡物联】(5):开源项目Apache IoTDB,开源项目学习,原来还有这样的项目,关于IOT的几个开源项目汇总下

目录 前言1,关于:开源项目Apache IoTDB2,还有个admin后台3,thinglinks项目4,thingsboard-ui-vue项目5,apache pulsar项目6,ActorCloud项目 前言 本文的原文连接是: https://blog.csdn.net/freew…

MySQL多表查询操作

文章目录 前言内连接表别名 外连接左外连接右外连接全外连接 总结 前言 JOIN 表示连接&#xff0c;inner表示内连接&#xff0c;outer表示外连接&#xff0c;缺省情况是内连接。 ON后面接<连接条件> 内连接 默认的表数据连接是内连接&#xff0c;只会查询出满足连接条…

【C++进阶】继承详解

文章目录 前言一、继承的概念及定义1.概念2.继承定义定义格式继承关系和访问限定继承基类成员访问方式的变化 二、基类和派生类对象赋值转换三、继承中的作用域四、派生类的默认成员函数五、继承与友元六、继承与静态成员七、复杂的菱形继承及菱形虚拟继承1.单继承与多继承2.菱…