摘要: man手册里介绍O_DIRECT标志是这么介绍的: O_DIRECT (since Linux 2.4.10) Try to minimize cache effects of the I/O to and from this file. In general this will degrade p 阅读全文
posted @ 2017-08-22 23:24 自然技术搬运工 阅读(5597) 评论(0) 推荐(0) 编辑
摘要: 内核ida和idr机制分析(盘符分配机制) ida和idr的机制在我个人看来,是内核管理整数资源的一种方法。在内核中,许多地方都用到了该结构(例如class的id,disk的id),更直观的说,硬盘的sda到sdz的自动排序也是依靠该机制。使用该结构的好处是可以管理大量的整数资源并且检索的时候非常高 阅读全文
posted @ 2017-08-09 23:27 自然技术搬运工 阅读(1503) 评论(0) 推荐(0) 编辑
摘要: 统一设备模型(2)——device和driver分析 在大部分的驱动管理中,都采用bus、device、driver三位一体的模式。这个模式在之前上一篇已经简单介绍过。这一篇中,将结合代码具体分析相关的细节。从代码中,也可以看到,bus和class之间的不同之处。 该结构较为复杂,上图已经删去其中很 阅读全文
posted @ 2017-08-02 22:35 自然技术搬运工 阅读(1415) 评论(0) 推荐(0) 编辑
摘要: 统一设备模型(1)——bus、subsys_interface、class、class_interface分析 在这一篇系列中,将着重分析内核是如何使用内核模块的。内核模块的详细分析请参考上一系列文章《内核对象kobject和sysfs》。 在统一设备模型里,内核利用kobj以及kset建立sysf 阅读全文
posted @ 2017-08-01 22:50 自然技术搬运工 阅读(857) 评论(0) 推荐(0) 编辑
摘要: 内核对象kobject和sysfs(1)——概述 问题: 在走读驱动代码时,经常看见kref,kobj,sysfs这些结构,这些结构到底有什么作用?如何理解并使用这些结构呢?这将在接下来的这一系列文章中说明。 在详细介绍之前,先简单给出个人对各个结构的理解,但暂时不对这些结论做出解释。可以在看完后面 阅读全文
posted @ 2017-07-30 21:18 自然技术搬运工 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 内核对象kobject和sysfs(4)——kset分析 从狭义上来说,kset就是kobj的一个再封装而已。在封装之后,提供了针对kset之下所有kobj统一管理的一些方法。 我们还是从结构说起: 由结构体看见,kset不过是内嵌了一个kobj,在此基础上额外提供了别的操作。在后面统一设备模型中, 阅读全文
posted @ 2017-07-30 21:06 自然技术搬运工 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 内核对象kobject和sysfs(3)——kobj分析 在分析kobj之前,先总结下kobj的功能: 1. 实现结构的动态管理; 2. 实现内核对象到sysfs的映射; 3. 实现自定义属性的管理。 关注一下kobj的结构: kobject内的注释已经注释在页面上,在初次接触的时候,先关注其中na 阅读全文
posted @ 2017-07-30 16:53 自然技术搬运工 阅读(995) 评论(0) 推荐(0) 编辑
摘要: 内核对象kobject和sysfs(2)——kref分析 在介绍ref之前,先贴上kref的结构: 可以看到,kref只是包含一个原子量的数而已,并没有别的成员提供自动回收的功能。实际上,kref只是记录了某个模块的引用次数,初始状态为1.当引用计数为0的时候,将调用自定义的释放函数。 下面我们介绍 阅读全文
posted @ 2017-07-30 13:23 自然技术搬运工 阅读(839) 评论(0) 推荐(0) 编辑
摘要: 带着问题写博客 问题1:使用netstat查看有源TCP连接的状态时,经常会看到established状态,那么还有哪些状态,这些状态是如何变化的呢? 问题2:TIME_WAIT状态存在的必要? 问题3:MTU和MSS之间的关系? 1. 当网络出现异常时,netstat可以查看某个有源链接的状态。在 阅读全文
posted @ 2017-07-23 21:29 自然技术搬运工 阅读(1390) 评论(0) 推荐(0) 编辑
摘要: 快照功能和实现方法简析 一、什么是快照 刚入存储这行,一直很好奇,快照是个什么东西,查了很多资料,总算弄明白了。快照,用通俗的话说,就是数据在某个瞬间的一个“影像”。这个数据,可以是文件级别的数据,可以是块级别的。利用快照,可以实现在线备份、搭建临时测试环境等等。创建快照只需要10ms左右。这么短的 阅读全文
posted @ 2017-07-16 13:53 自然技术搬运工 阅读(2000) 评论(0) 推荐(0) 编辑