自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 OpenStack块存储nova-volume工作机制和相关问题

最近有点忙,收到不少邮件或者留言,有些没有回复,在此致歉。在OpenStack中,出现问题比较多的除了网络部分,还有存储部分。对于swift对象存储的研究和相关技术资料已经有很多,而块存储nova-volume相关的介绍还少见,其中也有很多问题出现。下面将对这一部分的一些问题给予介绍,希望大家有好的经验都分享出来,社区的力量需要每一分子的贡献。最近这几篇文章的目录贴在这里,相关问题可以直接去查

2012-07-25 12:54:40 35436 5

原创 OpenStack安装部署管理中常见问题解决方法(OpenStack-Lite-FAQ)

说明:由于本人的OneStack项目和博客上分享的几篇技术文章,收到很多邮件。有些问题是共通的,有些是可以限定范围进行调试的。下面将一些还记得的tips记录下来,供大家参考,希望少把时间浪费在安装和部署上。还有很多问题没有一一记录,就不再去探究了,读者如有问题请指出或者下面跟帖补充,希望对入门者有帮助。由于只是涵盖了部分问题,起名为OpenStack-Lite-FAQ。本人精力有限,如果有知道问题

2012-07-14 14:11:55 53391 23

原创 OpenStack云平台的网络模式及其工作机制

网络,是OpenStack的部署中最容易出问题的,也是其结构中难以理清的部分。经常收到关于OneStack部署网络方面问题和OpenStack网络结构问题的邮件。下面根据自己的理解,谈一谈OpenStack的虚拟网络、网络拓扑和网络流。个人理解有限,仅抛砖引玉,有问题请指正,谢谢。一、相关概念和要点(可跳过)1、OpenStack中nova-network的作用OpenStac

2012-07-07 15:59:05 68408 22

原创 构建OpenStack的高可用性(HA,High Availability)

1、CAP理论1) CAP 理论给出了3个基本要素:一致性 ( Consistency) :任何一个读操作总是能读取到之前完成的写操作结果;可用性 ( Availability) :每一个操作总是能够在确定的时间内返回;分区可容忍性 (Tolerance of network Partition) :在出现网络分区的情况下,仍然能够满足一致性和可用性;

2012-06-30 19:27:32 55201 5

原创 到底什么是云计算:云计算的5-3-2原理与实践

经常有人问我:“到底什么是云计算,它的核心是什么?”自从某次的思考后,我每次都会回答:云计算的5-3-2原理,也就是具备5大核心特点,3种服务模式和2种部署方式。一、引子由于云计算的广泛热炒,很多东西都牵强附会地被”云“了。于是,”人云亦云“、“新瓶换旧酒”、“假大空”等各种帽子被扣在了云计算上。各种厂商和机构也纷纷给出了自己的云计算的定义,纷纷扰扰,混乱不堪。这种情形,所有的努力

2012-06-28 11:25:32 23057 5

原创 OneStack:Ubuntu 12.04 (或11.10) 一键部署安装OpenStack云计算平台

OneStack:在Ubuntu12.04(precise)上一键安装部署Opentack Essex提醒:如果你喜欢折腾,喜欢自己一步一步安装各个功能组件和配置conf文件,你可以略过此文。本文工具可以在裸机和虚拟机一键部署真实的OpenStack云计算平台,主要步骤是配置网络、数据库、keystone、glance、nova、dashboard、创建镜像和启动实例等,代码内有详细注释。

2012-06-27 14:47:04 59952 56

原创 C++的编程范式

”c++三人谈“中看到恶魔曾经指出c++的编程范式可以分为ADT+PP,GP,OO三个方向。1、ADT+PPADT:abstract data type; 抽象数据类型 PP:procedure programme; 面向过程的编程范式 ADT+PP 就是说面向过程的编程范式+抽象数据类型,你可以理解为c++的前身:带类的C。2、GPGP:泛型编程,GP(Gener

2009-09-24 23:15:00 16677

原创 《程序员面试宝典3》大量错误(50+)纠正表

《程序员面试宝典》第3版大量错误纠正表       以前随手翻了翻,想写这篇文章没有写,现在完整看了下就记录下来了。找工作的同学大部分都会看《程序员面试宝典》,本来看过去就可以了。但我还是要把自己记录的大量错误指出来,以免误人子弟。这本书错误漏洞百出,编辑质量太差。虽然它一版再版,一再流传,却没有一个勘误表,错误改了很多,还有很多依然存在。       因此提醒读者一定要自己动脑筋,否

2009-08-20 15:43:00 24482 9

原创 不能太依赖Google

最近发现自己太依赖Google了,一遇到什么问题,Google一下。诚然,搜索是除直接请教别人外的最快捷的方法。但是,这样不利于自己思考,不利于知识体系的形成,不利于基本功的学习。一般情况下,查到的知识是很狭窄的一部分。如果目的仅仅是应一时之急,当然很好。但是,在不是很紧紧的时候,驱使自己查阅相关的较权威的书籍,可能收获更多。毕竟知识是有体系的,知其一不知其二对于基本功的掌

2009-08-20 13:15:00 8554

原创 C语言之struct参数传递与结构匹配

1、结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同:首先结构体可以在一个结构中声明不同的数据类型,;第二相同结构的结构体变量是可以相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,它本身不是数据类型(而结构体是),数组名称可看作常量指针,所以不可以做为左值进行运算,所以数组之间就不能通过数组名称相互复制了,即使数据类

2009-08-19 23:25:00 17928

原创 C语言之struct大小、首地址与内存对齐

被问到如下问题:给定一个结构体中某个变量地址,可否得到结构体变量的地址?答案是可以,但是对不同的场合有不同的结果;这与微处理器平台、编译器的处理不可分割。首先,对于处理器,大尾端、小尾端的因素必须考虑;其次:一、ANSIC标准中并没有规定,相邻声明的变量在内存中一定要相邻。为了程序的高效性,内存对齐问题由编译器自行灵活处理,这样导致相邻的变量之间可能会有一些填充

2009-08-19 22:32:00 12632 1

原创 称球、快排、找最大最小数的信息量分析

1、给你N个人,你通过问是不是的问题查到某个人。前提:所有人都有可能是,即等概率。站成一排,你一个一个问“这个?”,每次只能判断出1/N是或者(N-1)/N不是,最坏情况要比较所有;站成两排,你问“这排?”,每次能判断出1/2是或者1/2不是,再继续将上面是的那一对分成两队,又可以判断出哪1/2是……于是,你每次使用了已知信息,可以在log^2{N!}次比较后得出结果;而朴素的

2009-08-18 08:43:00 8668

原创 经典书籍的阅读建议

最近读了不少启发性的技术和非技术博客,感想不少。不过,看的信息量太大,很多也忘了。于是,想到了阅读的效率和效果。对于比较深刻的发人深省的文章,思考和读时理解切不可忽视,不要想到加入收藏夹,以后再看。一旦走马观花一遍,以后真的有时间看,会失去现在的这种良好的好奇心和系统性。以后再看会觉得看过,似曾相识,也不会再从头到尾认真看一遍,于是不管看过多少次,每次都没有达到最好的效果。

2009-08-17 19:37:00 9449

原创 网络数据包发送接收全过程

Linux的网络接口分为四部分:网络设备接口,网络接口核心,网络协议族,网络接口socket层。可参考:http://lxr.linux.no/linux+v2.6.30.4/net/  网络设备接口部分主要负责从物理介质接收和发送数据,实现的文件在linu/driver/net目录下面。  网络接口核心部分是整个网络接口的关键部位,它为网络协议提供统一的发送接口,屏蔽各种各样

2009-08-17 13:15:00 20023 5

原创 C语言之memcpy()函数

昨天被问了个很基础的C语言的问题。写出u8 * memcpy(u8 * src, u8 * dst, size_t len)的定义。比较紧张,以为要考虑很多东西;于是,将很多乱七八糟的情况考虑了下。一般写成void *,强制转换成8bit的类型。事实上,由于这里使用unsigned char型,不再需要强制转换了。src和dst是否为空,我用if判断。如果src空,则出错;

2009-08-17 13:13:00 10146

公告说明

本人永久有效博客:www.cnblogs.com/hilyhoo  本地仅作备份。

2009-08-15 23:11:11 255

原创 数据结构与算法设计思路和考察点

网上摘录,想分专题放到一起。数据结构常见的问题包括字符串方面、链表的各种操作、树的各种操作,以及各种变形和与其它数据结构的结合使用。面试题目 字符串专题1.将字符串转换成整数,将整数转换为字符串,浮点数与字符串的转换(atoi itoa)int atoi(const char *str){    int res = 0;    int sign;

2009-08-14 22:42:00 16844 1

龙心飞扬

每天,上午和下午,经过了一段时间的工作,身心开始有些疲惫。这时,在空旷的楼层,由远及近飘来了一种深沉而又鼓舞人心的声音。她,是那样别样。似乎历经沧桑,又执著前程的光明。总是情不自禁放下双手,依靠在椅背,默默跟随歌声,思绪上升到另一个世界。总想打听这首歌的具体信息,似乎知道的人不多。。现在,终于知道了。 歌名:龙心飞扬 策划:胡伟武 演唱:索...

2009-08-14 22:42:00 247

原创 经典面试智力题200+题和解答

招聘时期到了,总少不了需要准备智力题。考来考去大多是各种旧题,本来是考智力的事情,现在几乎已经变成了题海战术的考试,所以我们也不能在这一块落后。学习各种奇巧淫技,扩展一下思路,同时免得笔试面试吃亏。搜集了大量智力题,有些还挺有意思,顺便活跃大脑思维,有些益处。网上题目很多,眼花缭乱,大量重复的转载。现在集中搜集贴在这里,免得后来人自己到处查浪费时间,有问题或者解法可以在下面跟帖给出。欢迎讨

2009-08-14 11:26:00 116821 14

DNS请求流程

1、PC1要访问www.google.com,需要先知道对应IP地址。域名只起助记作用,互联网访问通过IP进行。比方,DNS是公民身份信息库,ip是身份证号,域名是该身份证号对应的人名。当然,这个比方不是很恰当,域名也必须唯一的,与ip对应。2、于是,PC1需要像DNS请求,查找www.google.com对应的ip,即发送dns请求:PC1查找dns,发现不在同一个网络,不同...

2009-08-14 11:26:00 667

原创 C语言之尾递归

昨天被问到了尾递归及编译器对它的处理相关,一直对它没有研究过,解释得很含糊。回来查了下,记录如下:递归有线性递归(普通的递归)和尾递归。由于尾递归的特殊性,一般的编译器会做些特殊处理。因此,在效率和开销上,比普通递归好。举个例子,计算n!1)线性递归:type recurve(long n){      return  (n == 1) ? 1 : n * re

2009-08-14 10:13:00 13220 1

C语言之尾递归

昨天被问到了尾递归及编译器对它的处理相关,一直对它没有研究过,解释得很含糊。回来查了下,记录如下:递归有线性递归(普通的递归)和尾递归。由于尾递归的特殊性,一般的编译器会做些特殊处理。因此,在效率和开销上,比普通递归好。举个例子,计算n!1)线性递归:type recurve(long n){ return (n == 1) ? 1 : n * recurve(n...

2009-08-14 10:13:00 89

原创 C语言之IP排序

看到一个比较初级的问题,4个字段的ip,如何排序?分析:排序是按每个字段的整数值进行,而整个ip地址是字符串型,故需要逐个字段读取。注意到每个字段0~255,可以用一个字节表示,而要比较大小,故用unsigned char型。读取后,最自然的想法是逐个字段比较,依次比较4个字段,这个可以分别对每个字段调用排序。想到基数排序的原理,不妨以256作为基数实施基数排序

2009-08-14 09:35:00 8003

C语言之IP排序

看到一个比较初级的问题,4个字段的ip,如何排序?分析:排序是按每个字段的整数值进行,而整个ip地址是字符串型,故需要逐个字段读取。注意到每个字段0~255,可以用一个字节表示,而要比较大小,故用unsigned char型。读取后,最自然的想法是逐个字段比较,依次比较4个字段,这个可以分别对每个字段调用排序。想到基数排序的原理,不妨以256作为基数实施基数排序。想到这里,...

2009-08-14 09:35:00 272

原创 操作系统基于多核平台的优化

一、多核多线程技术的发展1)内存与处理器速度的差距导致cpu浪费时间等待访存获取数据,两种基本的方法可以从物理上进行一定的改进:增大缓存;提高时钟频率。但是,缓存成本较大,在物理上也有一定限制;时频的提高,可以在相同时间完成更多的操作,但随之也带来问题:程序间的相关性和延迟的影响随之增加。2)于是,人们想到,不只有突破物理上的限制来提高性能,在空间和时间上并行,增加吞吐量也是一

2009-08-13 21:28:00 9325

操作系统基于多核平台的优化

一、多核多线程技术的发展1)内存与处理器速度的差距导致cpu浪费时间等待访存获取数据,两种基本的方法可以从物理上进行一定的改进:增大缓存;提高时钟频率。但是,缓存成本较大,在物理上也有一定限制;时频的提高,可以在相同时间完成更多的操作,但随之也带来问题:程序间的相关性和延迟的影响随之增加。2)于是,人们想到,不只有突破物理上的限制来提高性能,在空间和时间上并行,增加吞吐量也...

2009-08-13 21:28:00 227

原创 内涵、修养

今天,又遇到了李Guojie所长,他正与另一位老师谈论某个人物,还谈论着牛顿、爱因斯坦。上次遇到他,是在出大门时。很早,他拎着一个大包,稍带疲惫。有人说,他是中科院头脑最清醒的所长之一。浏览过他著作的创新报告(遗憾,书名忘了),的确,站在国家的高度进行了论证分析。惭愧我愚钝肤浅,又没时间阅读,未能了解更深。 平时,我坐在靠近走廊,胡Weiwu老师会时不时绕着工作区踱步。凝神,深思,

2009-08-11 12:58:00 1042

内涵、修养

今天,又遇到了李Guojie所长,他正与另一位老师谈论某个人物,还谈论着牛顿、爱因斯坦。上次遇到他,是在出大门时。很早,他拎着一个大包,稍带疲惫。有人说,他是中科院头脑最清醒的所长之一。浏览过他著作的创新报告(遗憾,书名忘了),的确,站在国家的高度进行了论证分析。惭愧我愚钝肤浅,又没时间阅读,未能了解更深。平时,我坐在靠近走廊,胡Weiwu老师会时不时绕着工作区踱步。凝神,深思,他...

2009-08-11 12:58:00 77

原创 Linux内核模拟浮点运算

最近在阅读Linux内核的龙芯改进版时,发现内核中有模拟浮点运算的模块,略作记录。 在arch/mips/math-emu/目录,内核用整数运算对浮点运算进行了模拟实现。这是为什么? 原来,很多嵌入式芯片是没有浮点运算的。这又是为什么?浮点运算的功耗和成本是很大的,对于嵌入式芯片,这有时值得通过牺牲效率节约成本。 但是,这些运算在内核中实现,普通应用程序如何使用?用户进

2009-08-10 23:05:00 3361

Linux内核模拟浮点运算

最近在阅读Linux内核的龙芯改进版时,发现内核中有模拟浮点运算的模块,略作记录。在arch/mips/math-emu/目录,内核用整数运算对浮点运算进行了模拟实现。这是为什么?原来,很多嵌入式芯片是没有浮点运算的。这又是为什么?浮点运算的功耗和成本是很大的,对于嵌入式芯片,这有时值得通过牺牲效率节约成本。但是,这些运算在内核中实现,普通应用程序如何使用?用户进程...

2009-08-10 23:05:00 288

原创 由对与错想到的

 近来,想得比较多,文章也以这类为主。刚才写完了《现实本没有对与错》,余了,思绪未完,接着记下些许思想片断。 总记得,小时候,课本里,老师的亲切教导里,到处充斥着“对”、“错”、“好人”、“坏人”这样的词汇。现在看来,委实幼稚,确实是“哄小朋友的”。但是,作为课本,作为老师,这样做也是有一定道理的。毕竟,他们(这里所有曾经教育、指引、关怀过我们的人)都是有一定生活经历的,有自己的或者心

2009-08-10 13:23:00 972

由对与错想到的

近来,想得比较多,文章也以这类为主。刚才写完了《现实本没有对与错》,余了,思绪未完,接着记下些许思想片断。总记得,小时候,课本里,老师的亲切教导里,到处充斥着“对”、“错”、“好人”、“坏人”这样的词汇。现在看来,委实幼稚,确实是“哄小朋友的”。但是,作为课本,作为老师,这样做也是有一定道理的。毕竟,他们(这里所有曾经教育、指引、关怀过我们的人)都是有一定生活经历的,有自己的或者心酸或...

2009-08-10 13:23:00 89

原创 现实本没有对与错

年龄在增长,知识在充盈,思想在迁移,思维在改变。 随着心理的日趋成熟,人的大脑更加复杂,但也更加感觉到对与错并不是那么的明显,也没有所谓的界限。要寻找它们的界限,这本身便是错,这是事实。 但是,对与错是可以平衡的。当然,这需要自己的人生观、价值观、世界观来驱动、支撑。没有理论的支撑,一切都会是虚无缥缈的,也就没有自己的信念。 曾经,看完电影《霸王别姬》,陷入了沉思。思维很混

2009-08-10 12:48:00 1213

现实本没有对与错

年龄在增长,知识在充盈,思想在迁移,思维在改变。随着心理的日趋成熟,人的大脑更加复杂,但也更加感觉到对与错并不是那么的明显,也没有所谓的界限。要寻找它们的界限,这本身便是错,这是事实。但是,对与错是可以平衡的。当然,这需要自己的人生观、价值观、世界观来驱动、支撑。没有理论的支撑,一切都会是虚无缥缈的,也就没有自己的信念。曾经,看完电影《霸王别姬》,陷入了沉思。思维很混乱,太...

2009-08-10 12:48:00 115

原创 多核、多线程的引入

引言:对应着处理器从单核到多处理器及多核,操作系统的发展历程中,从进程演化到线程、多线程。于是,我们会想到这些问题:1、为什么微处理要从单核转向多核?功耗问题限制了单核处理器不断提高性能的发展途径:作为计算机核心,影响计算机性能高低的核心部件就是处理器。反映在指令上就是处理器执行指令的效率。   处理器性能   =   主频   x   IPC 可以看出,衡量处理器性能

2009-08-09 00:00:00 1392

多核、多线程的引入

引言:对应着处理器从单核到多处理器及多核,操作系统的发展历程中,从进程演化到线程、多线程。于是,我们会想到这些问题:1、为什么微处理要从单核转向多核?功耗问题限制了单核处理器不断提高性能的发展途径:作为计算机核心,影响计算机性能高低的核心部件就是处理器。反映在指令上就是处理器执行指令的效率。   处理器性能 = 主频 x IPC 可以看出,衡量处理器性...

2009-08-09 00:00:00 103

原创 C语言之extern作用于指针、数组

以下为测试环境:gcc 4.3.2-1-1GNU/Linux Debian 5.0(刚开始使用csdn博客,没经验。由于中间调试时间较长,忘了备份,刚写完,赶紧发了。一看,没有;再看,还是没有。挥去愤怒,重写一篇。望读者以此为鉴,及时备份。:-)1、extern与staticextern 对变量、函数声明;编译时可见,即告诉编译器:“老兄,虽然这个文件里,我没有定义,但在别

2009-08-08 13:54:00 7247 4

C语言之extern作用于指针、数组

以下为测试环境:gcc 4.3.2-1-1GNU/Linux Debian 5.0(刚开始使用csdn博客,没经验。由于中间调试时间较长,忘了备份,刚写完,赶紧发了。一看,没有;再看,还是没有。挥去愤怒,重写一篇。望读者以此为鉴,及时备份。:-)1、extern与staticextern 对变量、函数声明;编译时可见,即告诉编译器:“老兄,虽然这个文件里,...

2009-08-08 13:54:00 250

原创 路是一步一步走出来的

进京一段时间了,走过,路过,看过,也想过。 今天下午终于打点了一下身心,理了个清爽的发型。价格确实不菲,天子脚下果然非同一般。这里的楼要高出很多,人们的生活节奏也快一些。 慢慢的觉得自己长大了,真的。一群孩子天真地嬉戏,那么无忧无虑。离我那么近,又那么远;曾经我也热血沸腾,我也雄心万里;但很多事情过去了,就过去了;就像发生在别人身上一样,仿佛是遥远的记忆。 年龄在增长,知识

2009-08-06 22:29:00 2419 2

路是一步一步走出来的

进京一段时间了,走过,路过,看过,也想过。今天下午终于打点了一下身心,理了个清爽的发型。价格确实不菲,天子脚下果然非同一般。这里的楼要高出很多,人们的生活节奏也快一些。慢慢的觉得自己长大了,真的。一群孩子天真地嬉戏,那么无忧无虑。离我那么近,又那么远;曾经我也热血沸腾,我也雄心万里;但很多事情过去了,就过去了;就像发生在别人身上一样,仿佛是遥远的记忆。年龄在增长,知识在充盈...

2009-08-06 22:29:00 98

空空如也

空空如也

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

TA关注的人

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