Linux文件系统和底层驱动的笔记
来源:互联网 发布:淘宝开放平台接口 编辑:程序博客网 时间:2024/06/03 02:40
1、文件和目录的概念
文件是磁盘上特定格式的文件块集合,操作系统通过特定的结构可以方便地查找和访问集合内某个磁盘块。
文件是建立在文件系统概念上的,是存储在文件系统中一组磁盘块数据的命名对象。一个文件可以使空文件,也可以由多个任意多个磁盘块组成。
文件名用来标识文件的字符串,保存在目录文件中。
目录是文件名名或者目录名的命名集合。在Linux系统中,目录是一种特殊文件,目录的内容是文件或者其他目录的名称。
路径是用‘/’分隔的文件名集合。路径是一个文件在文件系统中的位置。
文件是Linux系统处理数据的基本单位,实际上,Linux系统所有的数据以及其他实体都是按照文件组织的。
2、文件分为普通文件,文本文件,二进制文件,目录,设备文件。
文件系统的目录结构:bin、dev、home、lost+found、proc、sbin、usr、boot、lib、etc、mnt、root、tmp、var。
3、字符设备和块设备、网络设备
设备驱动通常作为一类特殊的文件存放在/dev目录下,c表示字符设备,b表示块设备。
字符设备是Linux最简单的一类设备。应用程序就像操作普通文件一样操作字符设备,比如常见的串口、调制解调器。
与字符设备相比,块设备复杂得多。最主要的是块设备带有缓冲,字符设备买有。块设备传输数据只能以块作为单位读写,字符设备是以字节作为最小读写单位的。块设备提供随机访问的能力,字符设备只能顺序访问。
网络设备是一类特殊的设备。不是通过文件操作实现的。Linux内核为了抽象网络设备界面,为其定义了一个借口用于屏蔽网络环境下各种网络设备的差别。内核下所有网络设备的访问都是通过这个抽象的接口,接口对上层网络协议提供和相同的操作方法。
参考自:《ARM嵌入式 LINUX系统开发详解》弓雷
底层驱动的原理
可参考:http://www.cnblogs.com/heat-man/p/4175842.html
对于一个简单的类似于led灯的底层驱动最后注册到linux的设备文件里面,供上层系统调用。在这个过程中,跟单片机和STM32其实也是一样的,只不过在linux中有特定的函数,需要bsp工程师看懂芯片的基础上封装好。
具体底层寄存器涉及函数Linux内核中ioremap映射的透彻理解,可参考地址是http://blog.csdn.net/hustyangju/article/details/20467007。
- Linux文件系统和底层驱动的笔记
- Linux 文件系统底层实现
- Linux底层文件系统实现
- Linux文件系统底层实现
- Linux底层文件系统实现
- 基于Linux操作系统的底层驱动技术
- Linux虚拟文件系统(三)驱动和虚拟文件系统读书笔记
- 浅析Linux驱动模型中的底层数据结构kobject和kset
- Linux学习笔记(3)----文件系统的inode和block
- 笔记 Linux文件系统的初始化
- Linux底层驱动之设备驱动模型--三角关系:总线、设备和驱动
- 嵌入式笔记-----------LInux根文件系统的制作和nfs挂载制作好的根文件系统
- Linux TTY驱动--Uart_driver底层
- Linux TTY驱动--Uart_driver底层
- Linux TTY驱动--Uart_driver底层
- Linux TTY驱动--Uart_driver底层
- Android DVB底层Linux驱动
- linux的文件系统和虚拟文件系统(VFS)
- storm四之storm的工作流程
- A1070. Mooncake (25)
- 雪碧图(CSS SPIRIT)简介
- javascript基础:函数传递参数的方式、参数数组、变量范围(变量作用域)
- [LeetCode]410. Split Array Largest Sum
- Linux文件系统和底层驱动的笔记
- Node.js 的模块系统
- jenkins的具体搭建和使用—使用tomcat容器
- APP开发实战150-Android 提示功能设计(AlertDialog、Toast和Snackbar的使用)
- Listview源码解析(一)
- Docker基础命令
- sendEmptymessage 和sendMessage的区别
- jdbc:oracle:thin:@192.168.3.98:1521:orcl
- Apache Commons Betwixt