摘要:
在内核2.4中堆栈是这么定义的:union task_union { struct task_struct task;unsigned long stack[INIT_TASK_SIZE/sizeof(long)]; };而INIT_TASK_SIZE只能是8K。 内核为每个进程分配一个task_struct结构时,实际上分配两个连续的物理页面(8192字节),如图所示。底部用作task_... 阅读全文
posted @ 2013-04-19 14:04
ydzhang
阅读(496)
评论(0)
推荐(0)
摘要:
数据空间技术 ----如何减少程序所需要数据的存储空间的技术 1,不存储,重新计算。 如果我们在需要某一个给定对象的任何时候,都对其进行重新计算而不保存,就可以减少该对象所需的空间。该方法用计算时间换空间,只使用于需要存储的对象可以根据其描述重新计算得到的情况。 2,稀疏数据结构 例1:稀疏矩阵的的存储(很多个0,或其他相同的项)。 例2:使用指针来共享大型对象可以消除存储同一对象的... 阅读全文
posted @ 2013-04-19 14:04
ydzhang
阅读(426)
评论(0)
推荐(0)
摘要:
mdadm,lvm工具提供强大的动态磁盘管理功能,两者都需要内核md的支持,故使用前需查看内核是否支持md,如果不支持需重新编译内核(最开始用的时候创建RAID设备出错,于是检查内核配置,发现没有multi-device的支持)。本文以创建RAID5为例,讲解mdadm的基本使用方法。
device drivers ---->multi-device suppo(RAID and LVM)
<I... 阅读全文
posted @ 2013-04-19 14:04
ydzhang
阅读(794)
评论(0)
推荐(0)
摘要:
端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在计算机业Big Endian和Litt... 阅读全文
posted @ 2013-04-19 14:04
ydzhang
阅读(156)
评论(0)
推荐(0)
摘要:
最近项目中需要在内核态使用RSA加密算法,加密算法对我来说是一篇空白,到网上了解了些,比较好的加密跟认证的库有openssl,crypto++等,但这些库很庞大,而且很多东西因为考虑到复用,而不是单独为实现一个RSA算法而实现,在用户态使用非常方便,只有下载openssl的源码,安装即可调用其实现的加密算库,包括AES,Blowfish,RSA,一系列散列算法MD4,MD5, SHA1等等。由于... 阅读全文
posted @ 2013-04-19 14:04
ydzhang
阅读(773)
评论(0)
推荐(0)
摘要:
对于如何向模块传递参数,Linuxkernel提供了一个简单的框架。其允许驱动程序声明参数,并且用户在系统启动或模块装载时为参数指定相应值,在驱动程序里,参数的用法如同全局变量。
使用下面的宏时需要包含头文件<linux/moduleparam.h>。 通过宏module_param()定义一个模块参数:module_param(name,type,perm);name既是用户看到的参数名,... 阅读全文
posted @ 2013-04-19 14:04
ydzhang
阅读(4851)
评论(0)
推荐(2)
摘要:
加密文件系统优势
1,加密文件转移到别的物理介质上时,没有额外的加密/解密开销。
2,支持文件粒度的加密,也就是说,用户可以选择对哪些文件或目录加密。而且,应用程序不用关心文件是否被加密,可以完全透明地访问加密文件。
3,无需预先保留足够的空间,用户可以随时加密或恢复文件。
4,对单个加密文件更改密钥和加密算法比较容易。
5,不同的文件可以使用不同的加密算法和密钥,增大了破解的难度。
6,只有加... 阅读全文
posted @ 2013-04-19 14:04
ydzhang
阅读(1151)
评论(0)
推荐(0)
摘要:
头文件demo.h#ifndef _DEMO_H_#define _DEMO_H_#include <linux/ioctl.h> /* needed for the _IOW etc stuff used later *//********************************************************* Macros to help debugging********************************************************/#undef PDEBUG /* undef it, just in case */ 阅读全文
posted @ 2013-04-19 14:04
ydzhang
阅读(285)
评论(0)
推荐(0)
摘要:
使用lvm2整合系统磁盘资源
1, 如果是逻辑分区,先在其上创建新的分区
fdisk /dev/sdc … //新建的分区为sdc6
2, 创建物理卷 pvcreate /dev/sdc6
pvdisplay显示物理卷信息
3, 创建卷组 vgcreate dnfs /dev/sdc6
如果卷组已经存在,可使用vgextend将/dev/sdc6加入。
vgextend dnfs /dev/... 阅读全文
posted @ 2013-04-19 14:04
ydzhang
阅读(379)
评论(0)
推荐(0)
摘要:
标准I/O库提供缓冲的目的是尽可能地减少使用read和write调用的次数。他也对每个I/O流自动地进行缓冲管理,从而避免了应用程序需要考虑这一点所带来的麻烦。不幸的是,标准I/O库最令人迷惑的也是他的缓冲。 标准I/O提供了三种类型的缓冲: 1、全缓冲。这种情况下,在填满标准I/O缓冲区后才进行实际I/O操作。对于驻留在磁盘上的文件通常是由标准I/O库实施全缓冲。一个流上执行第一... 阅读全文
posted @ 2013-04-19 14:04
ydzhang
阅读(1559)
评论(0)
推荐(0)
浙公网安备 33010602011771号