自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(49)
  • 资源 (3)
  • 收藏
  • 关注

转载 Linux下的输入/输出重定向

1. 标准输入的控制 语法:命令例如: mail -s "mail lee” lee@lee.com 2. 标准输出的控制语法:命令> 文件将命令的执行结果送至指定的文件中。 例如: ls -l > lee.dat 将执行"ls -l"命令的结果写入文件 lee.dat 中。 语法:命令>! 文件将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。

2014-01-02 21:39:04 477

转载 大端与小端

何为大端序,小端序?简单点说,就是字节的存储顺序,如果数据都是单字节的,那怎么存储无所谓了,但是对于多字节数据,比如int,double等,就要考虑存储的顺序了。注意字节序是硬件层面的东西,对于软件来说通常是透明的。再说白一点,字节序通常只和你使用的处理器架构有关,而和编程语言无关,比如常见的Intel x86系列就是小端序。Big-endian(大端序):数据的高位字节存

2013-11-18 10:53:53 405

原创 E: Sub-process /usr/bin/dpkg returned an error code (1)

报错如下:Errors were encountered while processing: openssh-serverE: Sub-process /usr/bin/dpkg returned an error code (1)解决方法:cd /var/lib/dpkgsudo mv info info.baksudo mkdir info重新安装,在此

2013-10-17 21:53:27 530

原创 外排序

排序分为两类:内排序和外排序。内部排序是指待排序列完全存放在内存中所进行的排序过程,适合不太大的元素序列。外排序(External sorting)是指能够处理极大量数据的排序算法。通常来说,外排序处理的数据不能一次装入内存,只能放在读写较慢的外存储器(通常是硬盘)上。外排序通常采用的是一种“排序-归并”的策略。在排序阶段,先读入能放在内存中的数据量,将其排序输出到一个临时文件,依

2013-09-17 20:36:28 453

原创 xen虚拟机硬盘扩容

今天在虚拟机上安装软件的时候,提示空间不够,使用命令 df -h 看了下,原本镜像大小只有5G,利用率已经99%了,果断给虚拟机硬盘扩容。有两种方法:(首先关闭虚拟机)1.给虚拟机加一块硬盘1)在宿主里增加镜像大小,即需要添加硬盘大小的文件。dd if=/dev/zero of=/root/ubuntu2.img bs=1024k count=100002)在虚

2013-09-03 16:38:44 1539

原创 运用xdelta3更新软件

今天在运行SPECpower2008的时候,系统提示该软件已经超过6个月未更新,要想运行请先更新,参考http://www.spec.org/power/docs/SPECpower-Device_List.html。没办法,点开看了看,网页说了更新的步骤,先安装xdelta3,然后下载补丁文件,再用xdelta3工具打补丁。具体如下:(1)apt-get install

2013-07-25 09:40:48 785

原创 解压压缩包错误:gzip: stdin: invalid compressed data--crc error

今天在解压 PARSEC 3.0压缩包的时候,报错如下:网上搜索此错误根源是gzip软件包没有安装或者有问题,于是执行如下命令:apt-get install gzip再次解压,搞定~

2013-07-23 20:38:48 8143 1

转载 mount.nfs: access denied by server while mounting 一个解决办法

这两天在搭建嵌入式开发环境,配置好NFS服务器后,遇到了一个很纠结的错误使用 mount -t nfs 127.0.0.1:/home/lzgonline/rootfs /mnt 和 mount -t nfs 192.168.1.9:/home/lzgonline/rootfs /mnt 本机挂载nfs则没有问题,然而使用 mount -t nfs 192.168.3.12:/home/lzg

2013-07-10 16:10:42 3606

原创 关于apt-get install各种无穷无尽依赖包的问题

今天在配置nfs服务器时,先要安装nfs服务,使用命令:apt-get install nfs-kernel-server但是结果表示需要采用某三个依赖包。于是先安装依赖包,结果依赖包继续表示需要先安装其他的依赖包,最后神奇的发现,依赖包之间陷入了死循环。后来想用aptitude命令,因为它可以自动关联依赖包,结果发现apt-get install aptitude失败,也

2013-07-10 10:13:56 1804

转载 ssh中“Host key verification failed.“的解决方案

我们使用ssh链接linux主机时,可能出现“Host key verification failed.“的提示,ssh连接不成功。这个情况会在重装了机器,重新编译内核等情况后出现。可能的提示信息如下:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFIC

2013-07-09 20:06:15 1243 1

原创 /var/log/messages

Ubuntu的到了11.04版本后,突然找不到/ var / log / messages中,翻了一下资料,发现它改成存在/var/log/syslog 。通过以下方法可以恢复messages:编辑/etc/rsyslog.d/50-default.conf 其中有这么一段 *.=info;*.=notice;*.=warn;\    auth,authpriv

2013-07-04 09:51:59 894

原创 linux下安装jdk及ant

1.  安装jdk去oracle官网;http://www.oracle.com/technetwork/java/javase/downloads/index.html下载jdk文件:jdk-6u31-linux-i586.bin (需要确定机器是x86还是x64)$ sudo mkdir /usr/java$ sudo cp jdk-6u31-linux-i586.bi

2013-06-26 16:55:13 497

原创 pread()和pwrite()

1.pread()功能:带偏移量地从文件中读取数据函数原型:ssize_t pread(int fd, void *buf, size_tcount, off_toffset);返回值:成功,返回成功读取数据的字节数;失败,返回-1;参数:  (1) fd:要读取数据的文件描述符  (2) buf:数据缓存区指针,存放读取出来的数据  (3) count:读取数据的

2013-06-24 12:02:46 679

原创 open和fopen等函数

1.open()以下是 open 函数的简单描述#include         int open(const char *pathname, int oflag, mode_t mode);       返回值:成功则返回文件描述符,否则返回 -1.第三个参数mode仅当创建新文件时才使用,用于指定文件的访问权限位。pathname 是待打开/创建文件的路径名(如 C:/

2013-06-24 11:07:07 702

转载 linux下解压iso镜像文件方法

iso文件复制到linux机器上之后,我们可以按如下进行解压:  在linux下,当kernel支持iso9660时,可以 : mount -t iso9660 -o loop xxx.iso /mnt/iso ,然后再/mnt/iso下,就有iso文件里的所有内容

2013-06-20 10:42:17 2894

转载 Java中super的几种用法并与this的区别

1.     子类的构造函数如果要引用super的话,必须把super放在函数的首位.class Base {    Base() {       System.out.println("Base");    }} public class Checket extends Base {    Checket() {       super();//调用父类的构造

2013-06-17 16:49:06 378

原创 修改ubuntu启动时选择内核的时间

以linux-3.4.35为例,我总共修改了三处地方:/boot/grub/grub.cfgif [ "x${timeout}" != -1]; then if keystatus; then if keystatus --shift; then set timeout=-1 else set timeout=0 fi 将tim

2013-06-05 15:31:48 842

原创 Linux下僵尸进程的处理

什么是僵尸进程  僵尸进程是指它的父进程已经退出(父进程没有等待(调用wait/waitpid)它),而该进程dead之后没有进程接受,就成为僵尸进程,也就是(zombie)进程。      在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程。 但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程, 因为

2013-06-04 21:58:10 600

转载 堆排序

堆排序是利用堆的性质进行的一种选择排序。1.堆  堆实际上是一棵完全二叉树,其任何一非叶节点满足性质:  Key[i]=Key[2i+1]&&key>=key[2i+2]  即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。  堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>=key[2i+2]称为大顶堆,满足 Key[i]

2013-06-04 20:01:18 333

转载 assert用法总结

assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:

2013-06-04 16:07:19 365

原创 zfec用例

※要求:将一个视频文件分割成k个块,使用zfec库,编码出n个块,将这n个块当做n个文件记录在磁盘上。然后读取其中的n-2个文件,解码出新的视频文件,要能够顺利播放。提示:最后一个块剩余部分用全0补齐编写代码的时候,我实际采用(4,8)编码,先将文件分块,再将每一块分成4份大小相同的原始数据块,调用库函数zfec生成4份检验块。1.按4k大小分块#include

2013-06-03 17:05:12 535

原创 图解RS纠删码原理

※基本模型假如有n个存储设备(这里可以理解为磁盘或节点)D1、D2…..,Dn,其中每个存储设备的容量为k个字节,这n个设备称为数据设备。m个存储设备,C1、C2、…..,Cm,每个设备的容量也为k个字节,这m个设备称为校验设备。其中每个校验设备的数据是通过数据设备的内容计算而来。※下图给出纠删码在物理逻辑层次应用的一个场景: D 是Data Device ,用于保

2013-06-03 16:08:56 2028 2

原创 zfec纠删码分析

zfec是一种前向纠删码,用于给原始数据增加冗余信息,以提高数据的安全性。zfec提供了诸如c、python等语言的接口。在这里只介绍有关c语言的接口。zfec源代码的下载地址为:http://pypi.python.org/pypi/zfec1.fec_t结构1: typedef struct { unsigned long magic;

2013-06-03 15:30:38 670

原创 xshell传输文件

xshell传输文件其实很简单,首先安装lrzsz:apt-get install lrzsz1.下载文件如图所示,当下载zfec_test.c时,双击该文件,旁边出现一个黄色方形类似于文件夹的图标,点击该图标,选择用ZMODEM下载,然后出来熟悉的界面,选择下载位置,填上文件名,点确定即可。2.上传文件如图所示,先cd到所上传的目录处,比如我准备上传某文件到/ho

2013-05-31 16:47:57 1556 1

原创 chmod文件夹及安装vim

chmod一个文件夹下所有文件:chmod 755 *安装vim出现问题:  The following packages have unmet dependencies:  vim : Depends: vim-common (= 2:7.2.330-1ubuntu3.1) but 2:7.3.547-4ubuntu1 is to be installedE: Una

2013-05-31 16:29:57 666

原创 linux下pthread多线程编程简单示范

进程和线程的区别:进程是程序执行和资源管理的最小单位,子进程由其父进程创建,子进程会继承父进程的代码,数据,文件描述符等,但一旦创建了子进程,父子进程就相当于分别执行的两个程序,但二者可以通信;他们拥有各自的地址空间;执行时,他们之间需要不断切换,内核就要不断刷新cache和页表,系统开销较大;为减小系统开销,一个进程可创建多个线程,线程共享该进程的地址空间,有效避免了cache和也变的不

2013-05-28 15:39:09 555

原创 C语言中static的作用

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)第一个作用:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容#include增加这条语句char a = ‘A‘; // global variab

2013-05-28 15:31:26 295

原创 raid5之rmw和rcw

RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RA

2013-05-24 15:46:39 1280

原创 Linux时间函数之gettimeofday()函数

1.简介。使用C语言编写程序需要获得当前精确时间(UNIX到现在的时间),或者为执行计时,可以使用gettimeofday()函数,它的精度可以精确到微妙。2.函数原型。#include int gettimeofday(struct timeval*tv,struct timezone *tz )gettimeofday()会把目前的时间用tv 结构体返回,当地时区的信息

2013-05-23 10:23:46 482

原创 linux 编译内核[scripts/kconfig/dochecklxdialog] 错误

root@ubuntu:/usr/src/linux-3.4.35# make menuconfig *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Instal

2013-05-20 18:57:21 756

转载 内存管理之伙伴算法

内核要分配一组连续的页框,必须建立一种健壮、高效的分配策略。为此,必须解决著名的外部碎片(external fragmentation)问题。频繁地请求和释放不同大小的一组连续页框,必然导致在已分配页框的块内分散了许多小块的空闲页框。由此带来的问题是,即使有足够的空闲页框可以满足请求,但要分配一个大块的连续页框就可能无法满足。 Linux 采用伙伴系统(buddy system)算

2013-05-12 21:49:08 507

原创 llseek

一、用户空间的lseek函数要理解驱动中llseek函数的实现,必须先清楚对应的用户空间中lseek函数的用法,lseek函数函数原型如下:off_t lseek(int fd, off_t offset, int whence);第一个参数fd是要操作的文件描述符。第二个参数指定文件操作指针的偏移量。注意,文件的读和写使用的是同一个文件操作指针。第三个参数指定移动文件操作指针的参考点。这个参数通

2013-05-06 16:32:04 568

原创 缓存那些事

在linux内核的旧版本中,主要有两种不同的磁盘高速缓存:页高速缓存和缓冲区高速缓存,前者用来存放访问磁盘文件内容时生成的磁盘数据页,后者把通过VFS(磁盘管理文件)访问的块的内容保留在内存中。从2.4.10的稳定版本开始,缓冲区高速缓存其实就不存在了。事实上,由于效率的原因,不再单独分配块缓冲区;相反,把它们存放在叫做“缓冲区页”的专门页中,而缓冲区页保存在页高速缓存中。缓冲区页在形式上

2013-05-06 10:36:37 129

原创 字符设备和块设备的区别

设备文件分为Block Device Driver和Character Device Drive两类。Character Device Drive又被称为字符设备或裸设备raw devices; Block Device Driver通常成为块设备。而Block Device Driver是以固定大小长度来传送转移资料 ;Character Device Driver是以不定长度的字元传送资料

2013-05-05 15:34:49 426

原创 装机之新体验

因为项目需要,需要搭建hadoop集群,规模在40台左右,并且需要在机器上挂载另外一个盘,使得hadoop的数据盘放在第二快盘而不是在系统盘。对于部分已经装好系统以及hadoop但没有打补丁的机器,只需重新打补丁然后重新编译即可。具体的:进入2.6.28.10内核,然后打INCAST,然后make clean;make -j4;make modules_install;ma

2013-04-17 15:39:52 404

转载 显卡接口

显卡接口是指电脑的独立型显卡硬件的连接位置,显卡接口可分两种,一种是信号输入输出接口,另一种是总线接口。(一)信号输入输出接口显卡是主机与显示器的桥梁,当显卡将显示信号处理完毕之后,必然要相应的接口将信号传送给显示器,显卡信号输入输出接口担负着显卡输出的任务显卡接口近年来非常迅猛,从最初的D-SUB、S-Video到的DVI、HDMI以及DisplayPort也不外是短短的几年。

2013-04-08 16:10:21 767

原创 查看网卡型号

查看网卡型号命令:lspci | grep -i net我负责维护的6台服务器中:d125:Intel Corporation Device 1521d126,d128:BCM5716d127,d130:BCM5709d129:82574L

2013-04-02 18:23:18 575

原创 linux内核修改(1)

1.从已经打好补丁的机器上下载linux-2.6.28内核,与linux-3.4.35内核对照,做相应的修改。之前修改补丁之后编译内核一直未通过是因为没有修改3,原因在于我一开始source insight建立的工程只有内核下的net\,我天真的以为只需要修改net下的代码就够了。后来把整个内核代码都塞进去了后才看到还有另外一处调用的地方。修改内核最大的问题是修改之后每次编译都要20分钟左右,然后

2013-03-31 16:18:57 421

转载 Linux kernel基础知识

关于Linux kernel的介绍浩如烟海, 这里只介绍系统中相关的目录, 文件及命令./boot/boot/vmlinuz-        : 用于启动的压缩内核镜像, 它也就是/arch//boot中的压缩镜像./boot/system.map-  : 存储内核符号地址./boot/initrd.img-     : 初始化RAM硬盘时, 用来存储挂载根文件系统

2013-03-27 15:50:13 389

原创 Cannot run program "tr"

在window中用eclipse中编译hadoop时,会遇到以下错误:Execute failed: java.io.IOException: Cannot run program "tr": CreateProcess error=2,??????注释掉Build.xml以下代码就可以了:     outputproperty="nonspace.os">

2013-03-20 19:12:02 562

Windows下设备驱动程序的开发方法

Windows下设备驱动程序的开发方法,中文,高清

2013-03-13

lessfs安装和使用

lessfs安装和使用详解,中文高清,附下载链接

2013-03-13

Head First Java 中文高清版

Head First Java 中文高清版

2013-03-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除