摘要: 一.守护进程及其特性 守护进程最重要的特性是后台运行;其次,守护进程必须与其运行前的环境隔离开来。这些环境包括未关闭的文件描述符,控制终端,会话和进程组,工作目录以及文件创建掩模等。这些环境通常是守护进程从执行它的父进程(特别是shell)中继承下来的;最后,守护进程的启动方式有其特殊之处------它可以在Linux系统启动时从启动脚本/etc/rc.d中启动,可以由作业规划进程crond启动... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(191) 评论(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 阅读(373) 评论(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 阅读(1547) 评论(0) 推荐(0)
摘要: 最近要将一个算法应用到分布式系统中,以前由于急着想实现这个算法(涉及到矩阵),于是就使用了C++的stl(用了string和vector),主要是方便二维数组参数的传递以及数组长度的自动管理,后来很方便的实现了。 三天前开始把算法往系统中移植,问题来了。系统全部用C写的,算法模块用C++实现的,于是又一下几种方式: 1,将整个系统用g++重新编译成c++程序,因为系统与文件系统有关,而kern... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(142) 评论(0) 推荐(0)
摘要: proc文件系统是一个特殊文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。" 1、从/proc文件系统获取相关的性能参数 cpu使用率: /proc/stat 内存使用情况: /proc/meminfo 网络负载信息: /proc/net/dev相应的计算方法:(摘自:... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(273) 评论(0) 推荐(0)
摘要: 方法1:形参给出第二维的长度 #include <stdio.h>void func(int n, char str[][5]){int i;for (i = 0; i < n; i++){printf("\nstr[%d] = %s\n", i, str[i]);}}int main(){char str[][5] = {"abc", "def", "ghi"};func(3, str... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(214) 评论(0) 推荐(0)
摘要: 在内核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 阅读(488) 评论(0) 推荐(0)
摘要: 数据空间技术 ----如何减少程序所需要数据的存储空间的技术 1,不存储,重新计算。 如果我们在需要某一个给定对象的任何时候,都对其进行重新计算而不保存,就可以减少该对象所需的空间。该方法用计算时间换空间,只使用于需要存储的对象可以根据其描述重新计算得到的情况。 2,稀疏数据结构 例1:稀疏矩阵的的存储(很多个0,或其他相同的项)。 例2:使用指针来共享大型对象可以消除存储同一对象的... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(396) 评论(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 阅读(784) 评论(0) 推荐(0)
摘要: 最强大的工具: http://www.google.com http://www.baidu.com 代码相关: google代码搜索:http://www.google.com/codesearch google代码:http://code.google.com 提供项目托管功能 sourceforge开源项目社区:http://www.sourceforge.net linux内核ftp... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(150) 评论(0) 推荐(0)