Linux存储知识
文章平均质量分 83
yuesichiu
目前负责相机功能开发,工作内容主要包括拍照、录像、相册浏览、图像融合等工作
展开
-
scsi驱动模型
scsi驱动在内核中的位置 scsi驱动的核心为总线层驱动,在总线层驱动之上为各种不同的scsi设备驱动,在总线层驱动之下为scsi host驱动。其在内核中的位置如下图所示: 2.3 Linux中scsi驱动框架 在Linux中scsi驱动基本分为三大层:top level,middle level以及lower level。top level为具体的scsi设备驱转载 2013-01-12 13:21:41 · 1543 阅读 · 0 评论 -
使用HD/IDE layer的ioctl接口获取磁盘详细信息device_identify
使用HD/IDE layer的ioctl接口获取磁盘详细信息device_identify。HDIO_DRIVE_CMD 能读数据,可以以nsector * 512字节的形式读取,但不能发出访问LBA地址的命令。#include #include #include #include #include #include #include #include #inc原创 2014-10-28 09:26:51 · 2686 阅读 · 0 评论 -
使用HD/IDE层的ioctl接口获取磁盘容量get_hdd_max_sector
利用HD/IDE layer的ioctl函数接口获取HD/IDE的磁盘容量。HDIO_DRIVE_TASK 能发出访问LBA地址的命令,但不能读写数据。#include #include #include #include #include #include #include #include #include #include #include原创 2014-10-28 09:23:27 · 2959 阅读 · 0 评论 -
struct stat结构体示例
//! 需要包含de头文件#include #include int stat(const char *filename, struct stat *buf); //! prototype,原型struct stat{ dev_t st_dev; /* ID of device containing file -文件所在设备的ID*/转载 2013-09-21 18:57:13 · 895 阅读 · 0 评论 -
The Linux SCSI Generic (sg) Driver(使用说明)
在工作中,由于要对写的代码进行测试,主要需要判断数据包返回值的正确性。测试命令如:SES,SPC,SSP,SMP中涉及到的命令。觉得上面的网址挺好的,现在就来看看,整理整理,以备后用。下面主要针对sg上面的三个命令集进行说明。1:Utilities: sg3_utils and sg_utilsThe sg3_utils package contains utilities that转载 2013-08-29 15:48:13 · 7854 阅读 · 0 评论 -
获取磁盘块设备描述符bdget_disk和分区块设备描述符bdev
先看代码及注释:/** * bdget_disk - do bdget() by gendisk and partition number * @disk: gendisk of interest * @partno: partition number * * Find partition @partno from @disk, do bdget() on it. *原创 2013-07-27 21:57:04 · 2386 阅读 · 0 评论 -
ISCSI工作流程target和initiator
随着企业级的数据呈指数增长,传统的集中式存储方案已无法满足其存储要求,因而存储区域网(storage area network,SAN)技术被广泛应用,但其存在距离短、价格贵和构建复杂等不足。基于iSCSI协议的IP存储技术是一种新兴的网络存储技术,它将IP网络技术集成到存储I/O之中,在构建异构的存储网络方面具有其它数据访问协议无法比拟的优势?,已经成为当前网络存储技术的研究热点。使用i原创 2013-07-25 16:49:46 · 3912 阅读 · 0 评论 -
s3c2410的dma操作的一般步骤
一般的,在s3c2440中,要想进行dma传输,需要一下七个步骤:一:int s3c2410_dma_request(unsignedint channel, struct s3c2410_dma_client *client, void *dev)s3c2410_dma_client的定义为:转载 2013-05-09 12:14:20 · 1174 阅读 · 0 评论 -
Linux驱动修炼之道-DMA框架源码分析
首先介绍一下DMA,S3C2440A支持位于系统总线和外围总线之间的4通道DMA控制器,每个通道都可以在系统总线或外围总线上的设备之间传输数据。每个通道可以对下面4种情况进行传输:1.源和目的都在系统总线上2.源在系统总线而目的在外围总线3.源在外围总线而目的在系统总线4.源和目的都在外围总线下图是请求源为硬件模式时的每个通道的请求源:DMA使用3个状态的有限状态机:转载 2013-05-09 11:48:41 · 1447 阅读 · 0 评论 -
Raid5磁盘阵列知识
磁盘阵列RAID5原理RAID5是利用奇偶校验算法对磁盘阵列数据进行冗余,允许在一块盘出现故障的情况下保证数据安全。即保证了阵列的读写效率,又可以节约企业成本。奇偶校验算法原理:A值 B值 Xor结果 0 0 0 1 0 1 0 1 1 1 1 0 通过观察可以看出,奇偶校验可以保证数据运算后位数不变,而且参加运算中的任何一个数都可以由其他数字异或产生,这是RAID5数据恢复基本原理。RAID5的原创 2013-05-03 16:12:52 · 2658 阅读 · 0 评论 -
fio使用指南
这个文档是对fio-2.0.9 HOWTO文档的翻译,fio的参数太多了,翻译这个文档时并没有测试每一个参数的功能和使用方法,只有少量参数做了试验,大部分的参数采用的是根据字面翻译或是个人理解的翻译,必然有些出入,先发出来,以后有使用的时候再被充和修改。在另一个文档中会对fio自带的实例进行分析,可能会更为清晰一些。 fio这个工具实在太强大了,列举一下他的NB之处吧 1)支持十几种存储引翻译 2013-03-26 16:26:38 · 52145 阅读 · 2 评论 -
netperf 与网络性能测量
在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对于其整体的性能往往考虑不多,或者即使考虑到性能的问题,但是却发现没有合适的手段去测试网络的性能。当开发出一个网络应用程序后,我们会发现,在实际的网络环境使用中,网络应用程序的使用效果不是很理想,问题可能出现在程序的开发上面,也有可能由于实际的网络环境中存在着瓶颈。面对这种问题,程序员一般会一筹莫展,原因就在于不掌握一转载 2013-03-22 15:17:58 · 1181 阅读 · 0 评论 -
mdadm命令解析
mdadm命令解析 一、 在linux系统中目前以MD(Multiple Devices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟设备,并且利用条带化(stripping)技术将数据块均匀分布到多个磁盘上来提高虚拟设备的读写性能,利用不同的数据冗祭算法来保护用户数据不会因为某个块设备的故障而完全丢失,而且还能在设备被替换后将丢失的数据恢复到新的设备上.目原创 2013-01-14 22:02:15 · 46243 阅读 · 0 评论 -
Linux-2.6平台下SCSI子系统之添加适配器到系统
SCSI低层驱动是面向主机适配器的,低层驱动被加载时,首先要添加主机适配器。主机适配器可以在PCI子系统完成ID匹配时添加,或者通过手动添加。所有基于硬件PCI接口的主机适配器都采用前一种方式,而UNH iSCSI启动器采用的是后一种方式。添加主机适配器包括两部分内容:为主机适配器分配数据结构,将主机适配器添加到系统。SCSI中间层为此提供了两个公共函数:scsi_host_alloc和s原创 2013-01-13 20:11:37 · 2060 阅读 · 0 评论 -
Linux-2.6平台下的SCSI子系统
Linux SCSI子系统是一种分层的架构,如图所示:共分为三层。Lower level层:代表适用于SCSI的物理接口的实际驱动器。底层驱动的主要作用是发现连接到主机适配器后面的SCSI设备,在内存中为它们建立好数据结构,并提供消息传递接口,将SCSI命令的接收与发送解释为主机适配器的操作。Upper level层:SCSI 子系统的较高层代表的是内核(设备级)最高级别的接口原创 2013-01-12 13:18:00 · 2066 阅读 · 0 评论 -
Linux-2.6平台下SCSI子系统初始化及退出
1、SCSI子系统初始化SCSI子系统总是被编译到Linux内核的,其初始化入口函数为init_scsi,在文件drivers/scsi/scsi.c中。它使用宏subsys_initcall定义。static int __init init_scsi(void){ int error; error = scsi_init_queue(); //初原创 2013-01-12 16:43:23 · 1772 阅读 · 0 评论 -
Iometer存储测试工具
IOMETER 官方网站:http://www.iometer.org/Iometer的用户指南上说,Iometer是一个单机或者集群的I/O子系统的测量和描述工具。它最初是由英特尔公司在1998年2月17日的英特尔开发者论坛(IDF)宣布,自那时以来,在行业内广泛的蔓延,成为了标准。与此同时,英特尔已经停止Iometer的开发工作并把开放源码交给了OSDL。 2001年11月,Iom翻译 2013-01-14 10:11:06 · 36053 阅读 · 6 评论