- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 mount概念
0, // cd to top dir $ mkdir -v {content, old, new0, new1} $ cd content $ touch {content0, content1, content2} $ cd old $ touch {old0, old1, old2} $ mkdir -v old-c
2012-07-13 15:59:42
1222
原创 手动安装linux kernel
1,编译内核,略2,将modules安装到指定路径,命令如下 make INSTALL_MOD_PATH=xxx modules_install 安装完毕后,在xxx/lib/modules下会出现新内核的modules目录 yyy。将xxx/lib/modules/yyy目录下两个链接文件删除3,将xxx/lib/modules/yyy拷贝到/boot/lib
2012-06-11 19:23:55
2422
原创 基于busybox制作自己的root filesystem
1,编译busybox 1)获得busybox-1.19.4源代码,并解压,进入源代码根目录busybox-1.19.4 2)$make O=busybox/build/dir menuconfig 选择编译static版本。取消ubi相关的选项,它会导致编译错误。确定安装目录为./_install 3)make O=busybo
2012-04-08 01:28:23
3704
原创 libvirt programming guide
1,如果要使用资源(cpu, memory等)资源查询API,如virDomainGetCPUStats,(), 需要挂载cgroup文件系统并在etc/libvirt/qemu.conf文件中配置 mkdir -v /dev/cgroup mount -t cgroup -o devices,cpu,memory,blkio,cpuset,cpuacct none /
2012-03-29 11:00:36
1734
原创 Building issues of open source projects
1,gdb 如果编译用版本控制工具从code repository获得的mainline代码,要确定安装texinfo, flex和bison包。 并给gdb/remote.c打上一下补丁。 buf_len = strlen (rs->buf); /* Further sanity checks, with knowledge of
2012-03-25 22:00:41
1376
转载 关于Virtualization和Cloud的链接
1)将qcow2镜像导入virt-manager后启动不成功,报no boot device,解决方案如下http://ubuntuforums.org/showthread.php?t=16387082)建立iSCSIhttps://fedoraproject.org/wiki/Scsi-target-utils_Quickstart_Guidehttp://www.cy
2012-02-17 13:31:49
1080
原创 例解gcc内嵌汇编(inline assembly)中&修饰符(modifier)的作用
被gcc内嵌汇编中的&修饰符困扰了好久,一直不知道在输出列表(output list)中,=与=&有什么区别。今天找到了答案。 例1: int output; int a, b, c, d, e, f; asm volatile ("mov %%cs, %0\n\t"
2011-12-01 03:12:28
2577
转载 关于通用编程和Linux内核的链接
一篇非常不错关于汇编编程的总结http://www.acsu.buffalo.edu/~charngda/x86assembly.html 一篇不错的关于C/C++中aliasing的分析http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasin
2011-11-01 01:50:13
1226
原创 Linux kernel boot process——从实模式(real mode)到保护模式(protected mode),再到分页(paging)
本文简要介绍X86-32架构下的Linux kernel被boot loader(如grub)加载到内存后,如何从最初的实模式,切换到保护模式,并开启分页机制。本文不涉及boot loader如何将内核加载到内存,因为这是boot loader的事,跟内核自己无关(当然他们之间一定要有种事先约定的协议来沟通)。因为启动代码并不经常变化,所以对这部分的分析基本适用于较早的2.6.24至现在的3.0.
2011-10-24 16:07:47
10920
原创 Linux Kernel源代码分析中的终极问题
吼吼,文章名字很唬人啊。这里只是记录我在研究Linux Kernel源代码时碰到的有意思的,而目前不知道为什么的问题。 * * * * * 1)为什么Interrupt handler不能睡眠,或者更严格的说,被调度(resc
2011-10-12 00:20:23
1850
1
原创 Memory Consistency Model for Shared-Memory Multiprocessors学习笔记(一)
最近纠结与linux kernel中关于memory barrier的语义和使用方法。遂进行深入阅读研究,所思所得记录如下。一,Sequential Consistency Model 对于程序员来说,在SMP系统中编程,最直观的内存一致性模型就是Sequential Consistency (SC,其实内存一致性模式可以扩展为分布式系统中的一致性模型)。因为它跟UP
2011-10-11 21:48:27
2013
原创 自己动手实现操作系统引导程序(OS bootloader)——借助QEMU/GDB/losetup/dd等工具
引导程序可以认为是PC加电启动后运行的第一段代码,它是一段长度为512字节的16位运行于实模式的代码。事实上,机器启动后会首先运行0xFFFF0处(也有的资料说是0xFFFFFFF0,BIOS这块我也不熟:-( )ROM中的BIOS代码,之后会跳转到0x07C00处执行引导程序。
2011-10-05 15:13:11
9818
原创 借助loop device与losetup命令制作硬盘镜像
1,创建镜像文件 用如下命令创建镜像文件sdb.img,bs指定block大小,镜像文件大小为bs*count dd if=/dev/zero of=sdb.img bs=512 count=163842,用losetup命令将生成的镜像文
2011-09-29 20:28:27
8480
原创 Makefile特殊语法的应用
1,FORCE 原理:一个没有prerequistes和recipe的target总是会被更新,导致每个以该target为prerequistes的rule总是会被执行。 示例: T1:P1 CMDXX P1:FORCE
2011-09-27 11:22:24
1013
转载 Installing GRUB on a Hard Disk Image File
IntroductionGRUB is the GRand Unified Bootloader. For those unfamiliar, a bootloader is a critical piece of software used when a compu
2011-09-06 00:19:13
1345
原创 memcached结构分析(一)——线程模型
题记: 最近在阅读memcached的源代码,打算将自己学习所得成文留念,更因为是第一次正式接触memcached,水平有限,希望大家多多交流。此系列文章按自己的理解将memcached分成几个模块分别分析。这里以memcached-1.4.6为例。
2011-08-08 20:51:34
6573
原创 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)
工欲善其事,必先利其器。一个强大的开发环境可以大大提高工作效率。好吧,我知道这是废话。。。不过,我想一定有很多跟我一样打算进入Linux平台开发的新手,一开始都为找不到一个像Windows下的VS那样可以一键安装并且功能几乎完美无缺的开发工具而郁闷不已,甚至打算收回刚刚迈出的脚步。所幸的是,通过几天努力,我总算配置出了一个功能完备的基于Vim的开发环境。这个开发环境除了基本的Vim外,还包括Cta
2011-07-25 23:38:25
142080
转载 手把手教你把Vim改装成一个IDE编程环境(图文)
By:吴垠Date:2007-09-07Version:0.5Email:lazy.fox.wu#gmail.comHomepage:http://blog.youkuaiyun.com/wooinCopyright:该文章版权由吴垠和他可爱的老婆小包子所有。可在非商业目的下任意传播和复制。
2011-07-23 17:54:14
13540
原创 Linux系统使用Tips
摘要:1, 设置Terminal提示符格式2, 挂载移动硬盘3, diff与patch命令4, 使用安装盘修复GRUB5, 快速返回上次cd操作的目录6, 编译VIM7, 设置环境变量8, 截屏命令scrot9, bunzip2解压.bz210, 用find命令搜索时,不搜索某子目录11, netstat命
2011-07-09 01:05:43
1553
原创 linux下编译安装gcc
最近研究网络编程,最后发现还是unix/linux下相关资源比较多,研究起来方便,所以最近在安装相关开发环境,第一步当然是安装gcc。用rpm包安装,我想很多人会,没什么好说的。这里介绍从源代码编译安装,我的安装平台为fedora11-x86_64。 首先当然是下载相关源代码了。我下载了gmp-4.3.2.tar.bz2,mpfr-2.4.2.tar.bz2,gcc-4.4.
2010-03-14 23:37:00
13358
3
原创 Windows中的时间(SYSTEMTIME和FILETIME)
上一篇中介绍了C运行库中的时间处理函数。这一篇介绍Windows SDk中提供的时间函数。两种时间系统之间没有本质区别(事实上CRT时间是用Windows时间实现的,当然这是说的VC实现),同样提供本地时间和UTC时间之间的转换。不过CRT中的tm时间在SDK中对应为系统时间(SYSTEMTIME),CRT中的time_t时间在SDK中对应的为文件时间(FILETIME),那个"特殊时刻"也变成1
2010-02-26 23:00:00
54941
5
原创 CRT中的时间(time_t和tm)
时间处理时实际项目中经常碰到的问题,这里介绍最常用的时间处理函数。 首先介绍基本的时间概念。时间一般分为两种,一种是本地时间(Local Time),一种是协调世界时间(Coordinated Universal Time ,UTC),也就是传说中的格林威治时间。本地时间与UTC时间之间的差即为时差,比如,北京时间(东八区)比UTC时间晚8个小时。 C运行库中处理时
2010-02-26 22:03:00
8812
1
原创 Windows异步IO (Asynchronous IO) (二)
前一篇文章我们知道如何向设备驱动发送异步IO请求。显然,仅仅知道这些肯定是不够的,用户线程必须在必要的时候收到设备驱动的完成通知(Completion Notification),以执行相关任务,不然异步IO没有任何意义。Windows提供四种方法来接受来自设备驱动的完成通知。 也许有朋友已经想到了一个方法。前一篇提到,我们可以通过Overlapped的Int
2010-01-30 13:23:00
4808
原创 Windows异步IO(Asynchronous IO) (一)
题记:最近在学习Windows SDK编程,打算在这里贴出自己的学习总结和心得与大家交流,主要参考资料来自和。我尽量用英文术语来表达技术概念,方便大家查找其它资料。第一篇从异步IO(Asynchronous IO)说起,以文件IO作为代表。 异步IO是现代操作系统必不可少的特性,它让宝贵的CPU计算资源不会浪费在等待慢速IO上。它的行为方式很直观,用户线程在发送IO请求(Iss
2010-01-29 13:14:00
7717
fix-qpid-link.patch
2012-03-30
fix-qpid-link-problem.patch
2012-03-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人