7 爱编程的大圣

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 7w+

存储笔记--块设备驱动的操作

1。块设备的openstatic int sbull_open(struct inode *inode, struct file *filp) { struct sbull_dev *dev = inode->i_bdev->bd_disk->private_data; del_timer_sync(&dev->timer)...

2018-03-27 10:36:02

存储笔记--块设备驱动的注册

块设备的注册1。块设备模型示意图一个块是一个固定大小的数据块, 大小由内核决定. 块常常是 4096 字节, 但是这个值可依赖体系和使用的文件系统而变化. 一个扇区, 相反, 是一个小块, 它的大小常常由底层的硬件决定. 内核期望处理实现 512-字节扇区的设备。2。注册2.1 块驱动的注册 int register_blkdev(unsigned int major,...

2018-03-27 09:58:06

存储笔记--NVMe原理篇之数据传输

接上文继续 http://blog.csdn.net/u010709783/article/details/791107531。read–write 命令基本流程Host在与SSD的数据传输过程中,Host是被动的一方,SSD是主动的一方。你Host需要数据,是我SSD主动把数据写入到你的内存中;你Host写数据,同样是我SSD主动去你Host的内存中取数据,然后写入到闪存。Writ

2018-01-29 20:29:14

存储笔记--NVMe原理篇

参考:http://home.eeworld.com.cn/home.php?mod=space&uid=346593&do=blog&id=272657目录目录NVMe 是什么nvme 处于什么位置为什么需要nvme命令如何执行支持的admin command支持的io command下发命令流程流程步骤图详解总结NVM

2018-01-19 21:06:09

存储笔记--ssd基本原理篇

1.SSD介绍1.什么是ssd?固态硬盘(SolidStateDrives),用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。2.ssd分类固态硬盘(SSD)的存储介质分为两种,一种是采用闪存(FLASH芯片)作为存储介质,

2018-01-16 20:31:57

存储笔记--磁盘原理篇

1。磁盘体系结构2。磁盘组织结构图1。 在磁盘不工作的时候,磁头停靠在靠近主轴接触盘片的表面,即线速度最小的地方,这里是一个不存放任何数据的特殊区域,称为启停区或着陆区,启停区以外就是数据区。 2。 在磁盘的最外圈,离主轴最远的磁道称为“0”磁道,磁盘数据的存放就是从最外圈“0”磁道开始的。既然磁盘数据从最外圈开始,而停止时磁头又是在最内圈启停区,那么磁头是如何找到“0”

2018-01-16 19:42:33

存储笔记--导论篇2

计算机内部通信将通信的所有节点连接起来,然后找到目标,找到后就发送数据。即“连找发”网络三元素模型。连:就是保证每个网络点到其它网络点总有通路,总是可达的。找:就是提供区分机制,区分体现在主机总线中就是设备地址映射。每个IO设备在启动时都要向内存中映射一个或者多个地址,这个地址有8位长,又被称为IO端口。针对这个地址的数据,统统被北桥芯片重定向到总线上实际的设备上。假如,IDE磁盘控制

2018-01-15 20:41:08

存储笔记--导论篇

1.计算机器总线示意图计算机总线工作模式:    半双工总线或设备的位宽:     按照数据总线的条数CPU位数:         内部寄存器到计算单元之前的总线条数PCI总线:         目前台式机与服务器所普遍使用的一种南桥与外设连接的总线技术。PCI地址总线、数据总线分时复用。系统总线(前端总线):   CPU与北桥连接的总线内存总线:         内存

2018-01-15 20:10:48

Linux 学习--GNU nano编辑器的使用

转载:http://blog.csdn.net/doupeihua/article/details/22041555Linux GNU nano编辑器的使用 被nano编辑器折腾了半天,收藏一下吧。省得以后到处找我们以后基本都需要编辑文件来实现不同的设置,那么我们用什么来设置配置文件呢,用编辑器,就好比windows下的记事本和写字板,我们今天就来讲一下debian的默认编辑器—-nano首先我们

2017-12-15 10:06:52

linux私房菜 之centos 的安装

安装须知 1。linux 的角色定位 2。选择的版本 3。计算机硬件配比 4。磁盘分区的配置

2017-12-14 17:48:30

C语言面向对象编程之封装与继承

c语言的封装封装在 C++ 语言中有 protected 、 private 关键字在语言层面上支持,而 C 语言中没有这些。 C 有结构( struct ),其实可以实现封装和隐藏。c++的实现QObject{ public: xxx xxx private: QObjectPrivate * priv; }; c的实现 struct st_a

2017-11-13 19:18:24

linux 学习之tmux 分屏

使用tmux分屏(既可以左右分屏,也可以上下分屏)、(1)安装工具在ubuntu系统中使用sudo apt-get install tmux安装tmux工具(2)使用工具1,输入命令tmux使用工具2,上下分屏:ctrl + b 再按 “3,左右分屏:ctrl + b 再按 %4,切换屏幕:ctrl + b 再按o5,关闭一个终端:ctrl + b 再按x6,上下分屏与左右分屏切换: ctr

2017-11-08 14:40:47

linux 驱动学习之ioctl 命令_IOC _ 相关宏

转载 :http://blog.csdn.net/u010245383/article/details/29391805简介在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域:bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是

2017-11-01 14:41:03

linux驱动学习之模块访问权限的控制

简述:在驱动模块,可以对没有权限的进程和应用程序拒绝访问,有权限的才允许访问。权限控制接口:bool capable(int cap); 定义头文件: include “linux/capability.h”用法例子:if (! capable (CAP_SYS_ADMIN)) return -EPERM;capable()没有权限时返回0,有权限时返回1。 在file_operti

2017-11-01 14:12:32

linux驱动学习之kthread_work和kthread_worker机制

转载 :http://blog.csdn.net/cq062364/article/details/39647907kthread_work和kthread_worker机制Kernel中提供的kthread_work和kthread_worker机制和经典的work_struct和workqueue_struct的关系有点类似.通过一个kthread_worker可以处理多个kthread_wor

2017-10-30 17:47:04

Linux——信号掩码(signal mask)

转载 :http://blog.csdn.net/budory/article/details/46803863在POSIX下,每个进程有一个信号掩码(signal mask)。简单地说,信号掩码是一个“位图”,其中每一位都对应着一种信号。如果位图中的某一位为1,就表示在执行当前信号的处理程序期间相应的信号暂时被“屏蔽”,使得在执行的过程中不会嵌套地响应那种信号。为什么对某一信号进行屏蔽呢?我们来看

2017-10-30 09:47:21

linux 驱动学习之kmalloc 内存分配

kmalloc 函数void *kmalloc(size_t size, int flags); 第一个参数是要分配的块的大小. 第 2 个参数, 分配标志, GFP_ATOMIC用来从中断处理和进程上下文之外的其他代码中分配内存. 从不睡眠.GFP_KERNEL内核内存的正常分配. 可能睡眠.GFP_USER用来为用户空间页来分配内存; 它可能睡眠.GFP_HIGHUSER如同 GFP_

2017-10-27 17:59:07

linux 驱动学习之list链表机制

转载:http://blog.chinaunix.net/uid-27122224-id-3277511.html双向链表struct list_head{ struct list_head *next, *prev;};struct dlist{ int no; void* data; struct dlist *prev, *next; };

2017-10-27 17:24:49

linux驱动学习之工作队列机制

转载:http://www.cnblogs.com/wwang/archive/2010/10/27/1862202.html什么是工作队列?工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它允许重新调度甚至睡眠。工作队列相关数据结构struct w

2017-10-26 19:25:37

c++ 之static_cast、dynamic_cast、const_cast和reinterpret_cast总结

转载: http://www.jellythink.com/archives/205C++中的类型转换分为两种: 隐式类型转换; 显式类型转换。 在标准C++中有四个类型转换符:static_cast、dynamic_cast、const_cast和reinterpret_cast。static_caststatic_cast的转换格式:static_cast (expression)

2017-10-26 18:13:37

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!