读书笔记--设备驱动

  操作系统作为硬件的上一层,他是对硬件的管理和抽象,对于操作系统上面的运行库和应用程序来说,他们希望看到的是统一的硬件访问模式。作为应用程序的开发者,我们不希望在开发应用程序的时候直接读写端口、处理硬件中断等繁琐的事情。由于硬件千差万别,他们的操作方式和访问方式都有区别。

  当成熟的操作系统出现以后,硬件被逐渐抽象成了一系列概念,在Unix中,硬件的访问形式与普通文件一样,在Windows中,图形硬件被抽象成GDI,声音和多媒体设备抽象成DirectX对象,磁盘抽象成普通的文件系统。

  操作系统开发者为硬件生产厂家提供了一系列接口和框架,凡是按照这个接口和框架开发的驱动程序都可以在操作系统上使用。

设备驱动:

 讲解的很详细: https://www.zhihu.com/question/40472366

时间: 2024-08-07 22:13:17

读书笔记--设备驱动的相关文章

《游戏人工智能编程案例精粹》读书笔记—状态驱动智能体设计

一个有限状态机是一个设备,或是一个设备模型,具有有限数量的状态,它可以在任何给定的时间根据输入进行操作,使得从一个状态变换到另一个状态,或者是促使一个输出或者一种行为的发生.一个有限状态机在任何瞬间只能处于一种状态. 状态变换表 状态变换表是一个条件和那些条件导致的状态的表,这个表可以被智能体在规则的间隔内训问,使得它能基于从游戏环境中接收到刺激进行必须的状态转换. 内置的规则 每个状态模块依靠自身的逻辑来决定它是否应该运行自己变换到一个替代状态,智能体只向外部提供操作和获取自身属性的函数,状态

读书笔记--领域驱动设计:软件核心复杂性应对之道-1

2015–6-28 第一章 消化知识 有效建模的要素 1. 模型和实现的绑定 模型要基于现实的业务,不能和用户现实的业务脱节 2. 获得一种基于模型的语言 通过一种统一的语言(业务人员和开发人员都能理解的)去描述所建立的模型,如UML图,基于业务的术语,无奇异的,作者的意思是业务人员和开发人员建立基于模型一个沟通的桥梁. 3.开发一个蕴含丰富知识的模型 灵活的,适应变化的的模型,模型不能简单等同于类图,而是解决复杂业务问题的方案.包含各种类型的知识 4. 提炼模型 对业务的描述要抽象,从场景的分

驱动开发读书笔记. 0.04 linux 2.6 platform device register 平台设备注册 1/2 共2篇

驱动开发读书笔记. 0.04  linux 2.6 platform device register 平台设备注册  1/2 共2篇下面这段摘自 linux源码里面的文档 : Documentation/driver-model/platform.txt Device Enumeration 82 ~~~~~~~~~~~~~~~~~~ 83 As a rule, platform specific (and often board-specific) setup code will 84 reg

驱动开发读书笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇

驱动开发读书笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇 下面这段摘自 linux源码里面的文档 : 内核版本2.6.22Documentation/driver-model/platform.txt找到一篇译文:http://blog.csdn.net/yili_xie/article/details/5193609 Device Enumeration 82 ~~~~~~~~~~~~~~~~~~ 83 As a rule

设备驱动简介 -- ldd3读书笔记

1. 概述 读<Linux Device Drivers 3>(影印版)(简称 ldd3)已经到第九章了,感觉前面的也忘的差不多了.所以准备把以前读过的内容做一下笔记,并且主要侧重代码的注释与理解.因为我也是一个Linux内核新手,所以将一步一步的介绍在学习驱动过程中的每一个细节.希望这些博客在巩固知识的同时,能够帮助到其他像我一样摸索在Linux驱动和内核学习领域的入门新手. 这一篇博客算是后续系列博客的开篇,主要介绍一下与Linux的设备驱动相关的概念以及驱动环境的搭建. 2. Linux

Android深度探索(卷1)HAL与驱动开发 第一章&#160;Android系统移植与驱动开发概述 读书笔记

Android深度探索(卷1)HAL与驱动开发 第一章 Android系统移植与驱动开发概述 读书笔记 本章是 Android系统移植与驱动开发概述性的具体讲解.首先,Android被分为了四层架构.在最底层的是Linux内核 .然后分别是C/C++代码库.Android SDK A和应用程序.而Android的移植又分为系统移植和应用移植.系统移植要实现Android操作系统在其他硬件平台上运行起来,其中的关键是Linux的内核.内核必须要完成对平台上运行的各个硬件的识别.所以这就需要Linu

驱动开发读书笔记. 0.06 嵌入式linux视频开发之预备知识

驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB video class 或USB video device class.是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,目前已成为USB org标准之一. UVC linux driver: UVC linux 驱动 需要在编译内核的时候选上 配置内核 Device

Android驱动开发5-8章读书笔记

Android驱动开发读书笔记                                                              第五章 S5PV210是一款32位处理器,具有低功耗的的特点,可为移动设备和一般应用提高性能的微处理器解决方案.它集成了ARM CORTEX-A8核心.实现了ARM架构V7且支持外围设备.他的关键功能是“以带有NEON的cpu子系统为基础的arm”,32/32kb i/d缓存,512kb l2缓存,操作频率800hz为1.1v,1ghz为1.2

驱动开发读书笔记. 0.02 基于EASYARM-IMX283 烧写uboot和linux系统

驱动开发读书笔记. 0.02 基于EASYARM-IMX283 怎么烧写自己裁剪的linux内核?(非所有arm9通用) 手上有一块tq2440,但是不知道什么原因,没有办法烧boot进norflash或者nandflash:只好用另一块arm9(i.mx283a)来继续学习: 从开发教程上面可知,烧写uboot和Linux是通过各种批处理脚本和exe程序来执行的,称之为固件烧写,然而并没有需要我们选择uboot路径.Linux内核和文件系统的地方.这样的话是不是意味着只能烧写官方默认提供的文件