自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AderStep

紫夜阑珊-青伶巷草, 落花美眷-似水流年

原创 全网优秀IT博客导航

本篇博客是鄙人收录多年的别人比较好的博客。博客导航linuxlinux全线教程–提供了linux教程,服务器管理教程,BSD教程,还有编程语言(C/Java/Python/Perl),以及网络等全栈学习教程存储技术NoSQLFan–关注NoSQL相关的新闻与技术刘爱贵的专栏–中科院博士,长期从事存储领域研发工作,分式存储资深理论研究与实践者,GlusterFS 技术专家,当前专注于Server SA

2016-02-13 14:26:48 6695 4

转载 值得推荐的C/C++框架和库

http://www.cplusplus.me/2182.htmlC++资源大全关于 C++ 框架、库和资源的一些汇总列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。标准库C++标准库,包括了STL容器,算法和函数等。这里写链接内容C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。

2016-02-13 13:04:30 15101 4

原创 深入理解计算机系统-之-内存寻址(六)--linux中的分页机制

[注意] 如果您当前使用的系统并不是linux,或者您的系统中只有一份linux源码,而您又期待能够查看或者检索不同版本的linux源码 可以使用 http://lxr.free-electrons.com/ LXR (Linux Cross Reference)是比较流行的linux源代码查看工具,而这里集成了全版本的linux源码的索引1 linux的分页机制1.

2016-02-27 19:38:59 4554

原创 深入理解计算机系统-之-数值存储(六)--以不同的方式窥视内存

在前面的篇博文中,我们讲解整数和浮点数在内存中的存储结构 参见 深入理解计算机系统-之-数值存储(四)–整数在内存中的存储方式 深入理解计算机系统-之-数值存储(五)–浮点数在内存中的存储方式浮点数写,整数读好了知道了浮点数的存储方式,那么我们的问题来了,如果我们定义了一个浮点数,那么如果以整数的格式去读取它,会发生什么奇妙的现象代码示例我们对上一篇文章中修改main函数为如下

2016-02-26 12:10:06 1891

原创 深入理解计算机系统-之-数值存储(五)--浮点数在内存中的存储方式

前景回顾前面我们了解到依据CPU的端模式的架构不同,数据的存储的字节序也不同 BE big-endian 大端模式,最直观的字节序 地址低位存储值的高位,地址高位存储值的低位 ,数据填写时,不要考虑对应关系,只需要把内存地址从左到右按照由低到高的顺序写出,把值按照通常的高位到低位的顺序写出,两者对照,一个字节一个字节的填充进去。 LE little-endian 小端模式,则最符合人的

2016-02-21 17:19:14 5136

原创 深入理解计算机系统-之-数值存储(四)--整数在内存中的存储方式

前景回顾前面我们了解到依据CPU的端模式的架构不同,数据的存储的字节序也不同 BE big-endian 大端模式,最直观的字节序 地址低位存储值的高位,地址高位存储值的低位 ,数据填写时,不要考虑对应关系,只需要把内存地址从左到右按照由低到高的顺序写出,把值按照通常的高位到低位的顺序写出,两者对照,一个字节一个字节的填充进去。 LE little-endian 小端模式,则最符合人的

2016-02-21 16:04:16 7135

原创 深入理解计算机系统-之-数值存储(三)-- 原码、反码、补码和移码详解

原码 如果机器字长为n,那么一个数的原码就是用一个n位的二进制数,其中最高位为符号位:正数为0,负数为1。剩下的n-1位表示概数的绝对值。PS:正数的原、反、补码都一样:0的原码跟反码都有两个,因为这里0被分为+0和-0。 原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制: [+1]原 = 0000 0001 [-1]原 =

2016-02-21 15:19:30 2846

原创 深入理解计算机系统-之-数值存储(二)--C程序打印变量的每一字节或者位

大端与小端前面我们提到了依据CPU端模式的不同,数据的存储顺序也不一样。采用大小模式对数据进行存放的主要区别在于在存放的字节顺序,BE big-endian 大端模式 ,最直观的字节序 ,地址低位存储值的高位,地址高位存储值的低位 ,不需要考虑对应关系,只需要把内存地址从左到右按照由低到高的顺序写出 ,把值按照通常的高位到低位的顺序写出 ,两者对照,一个字节一个字节的填充进去LE little-en

2016-02-18 19:20:52 3846 1

原创 深入理解计算机系统-之-数值存储(一)-CPU大端和小端模式详解

大端与小端在嵌入式开发中,大端(Big-endian)和小端(Little-endian)是一个很重要的概念。MSB与LSB最高有效位(MSB)指二进制中最高值的比特。在16比特的数字音频中,其第1个比特便对16bit的字的数值有最大的影响。例如,在十进制的15,389这一数字中,相当于万数那1行(1)的数字便对数值的影响最大。比较与之相反的“最低有效位”(LSB)。LSB(Least Signif

2016-02-18 16:07:00 6650

原创 深入理解计算机系统-之-内存寻址(五)--页式存储管理

前景回顾前面我们讲解了操作系统段式存储管理的主要内容。32位,在保护方式下,其能够访问的线性地址空间可达4GB,而且允许几乎不受存储空间限制的虚拟存储器程序。虚拟存储器地址空间能够可达64TB。它还提供了复杂的存储管理和硬件辅助的保护机构和增加了支持多任务操作系统的特别优化的指令。实际上,64TB的虚拟地址空间是有磁盘等外部存储器的支持下实现的。在编写程序是可以放在磁盘存储器上,但在执行时,必须把

2016-02-12 20:36:15 4597

原创 深入理解计算机系统-之-内存寻址(四)--linux中分段机制的实现方式

linux中的分段机制前面说了那么多关于分段机制的实现,其实,Linux以非常有限的方式使用分段。因为,Linux基本不使用分段的机制(注:并不是不使用,使用分段方式还是必须的,会简化程序的编写和运行方式),或者说,Linux中的分段机制只是为了兼容IA32的硬件而设计的。实际上,分段和分页在某种程度上显得有些多余,因为它们都可以划分进程的物理地址空间,分段可以给每一个进程分配不同的线性地址,而分页

2016-02-11 15:22:43 2722

原创 深入理解计算机系统-之-内存寻址(三)--分段管理机制(段描述符,段选择子,描述符表)

逻辑地址-=>线性地址-=>物理地址前面我们提到了当使用80x86微处理器时,有三种不同的地址: 逻辑地址(logical address):包含在机器语言指令中用来指定一个操作数或一条指令的地址。这个寻址方式在80x86著名的分段结构中表现得尤为具体,它促使MS-DOS或Windows程序员把程序分成若干段。每一个逻辑地址都由一个段(segment)和偏移量(offset或dis

2016-02-11 11:42:04 6923 4

原创 深入理解计算机系统-之-内存寻址(二)--存储保护机制(CPU实模式与保护模式)

CPU实模式和保护模式cpu的保护模式由来分段机制8086的诞生,标志着Intel 正式进入了x86时代,这是个多么具有纪念意义的日子:1978-6-8。同时,8086的诞生也是处理器内存寻址技术的第一次飞跃。对于一根实际的、实实在在的、物理的、可看得见、摸得着的内存条而言,处理器把它当做8位一个字节的序列来管理和存取,每一个内存字节都有一个对应的地址,我们叫它物理

2016-02-09 16:12:56 7905 1

原创 深入理解计算机系统-之-内存寻址(一)--存储管理机制(虚拟地址,线性地址,物理地址)

参照 《深入理解计算机系统》 《深入理解linux内核》 《80x86汇编语言程序设计》 《操作系统的设计与实现》为了对存储器中的程序及数据实现保护和共享硬件支持,为了对实现虚拟存储器提供硬件支持,现代的CPU不仅采用了扩充的存储器段式管理机制,而且还提供了可选的存储器分页管理机制。段页式存储管理物理地址(physical address)用于内存芯片级的单元寻址,与处理器

2016-02-09 16:08:45 5185

原创 C语言中声明和定义详解

变量声明和变量定义变量定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。变量声明:用于向程序表明变量的类型和名字。定义也是声明,extern声明不是定义 定义也是声明:当定义变量时我们声明了它的类型和名字。 extern声明不是定义:通过使用extern关键字声明变量名而不定义它。 [注意] 变量在使用前就要被定义或者声

2016-02-06 16:56:05 24463 8

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