上周六写的东西没保存,真是气到吐血。。按印象大体重写一遍好了。。。
实验题目:
改进Linux磁盘加密性能
题目综述:
Linux内核支持硬盘分区级别的加密。但是由于负责加解密的dm-crypt模块每次加密一个扇区,导致在使用加密卡时不能充分发挥卡的性能优势。
因此,需要改进dm-crypt,争取每次加解密时给加密卡多传递几个扇区,从而提高加解密吞吐量性能。
要求:
改进dm-crypt使用cipher的习惯,改每次512字节为更多,把一个512-bye buffer改为使用scatter-gather list (sg)
0、dm(Device Mapper)
Device Mapper 是 Linux 2.6内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略。
DM指的是整个Device Mapper的设计框架。MD(Mapped Device)是框架所虚拟出来的各种设备。简而言之DM就是不同种类的MD经过特定的关系连接到块设备管理器上的大构架。
DM的内核代码集中在drivers/md目录中。DM构架相关的代码在dm.c和dm-io.c文件中,各种抽象的MD虚拟设备代码分散在同目录的其他文件中,除了dm-ioctl.c是dm设置接口设备。
dm是device-mapper的缩写,DM是框架,MD是虚拟设备,DM把虚拟出来的MD连接到块设备管理器上。
块设备是i/o设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据,例如硬盘,U盘,SD卡等。数据块的大小通常在512字节到32768字节之