![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机基础知识
文章平均质量分 57
码农SW
这个作者很懒,什么都没留下…
展开
-
内存地址(逻辑地址、线性地址、物理地址)概念
逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel 保护模式下程序执行代码段限长内的偏转载 2010-05-04 20:37:00 · 1261 阅读 · 0 评论 -
提升磁盘IO性能的几个技巧
目前磁盘都是机械方式运作的,主要体现在磁盘读写前寻找磁道的过程。磁盘自带的读写缓存大小,对于磁盘读写速度至关重要。读写速度快的磁盘,通常都带有较大的读写缓存。磁盘的寻道过程是机械方式,决定了其随机读写速度将明显低于顺序读写。在我们做系统设计和实现时,需要考虑到磁盘的这一特性。 FastDFS是一个开源的高效分布式文件系统,它最初的实现,文件是按hash方式随机分布到多个目录中的,后来增加转载 2012-03-15 11:13:28 · 912 阅读 · 0 评论 -
浮点数的表达
float 为4个字节,表示为:一个符号位,8个指数位,23个尾数,所以有效位数由尾数来决定,即2^23=8388608为7-8位,指数的范围是2^(-127~127) double为8个字节:表示为:一个符号位,11个指数位,52个尾数来表示,所以有效位数为2^52=4原创 2011-07-31 11:23:13 · 667 阅读 · 0 评论 -
同一进程中的线程究竟共享哪些资源
<br /> 线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才能实现并发性。这些个性包括:<br /> 1.线程ID<br /> 每个线程都有自己的线程ID,这个ID在本进程中是唯一的。进程用此来标 识线程。 2.寄存器组的值<br /> 由于线程间是并发运行的,每个线程有转载 2010-10-02 16:43:00 · 458 阅读 · 0 评论 -
优先级翻转与优先级继承
优先级翻转与优先级继承田海立2006-3-7摘要本文描述操作系统中的优先级翻转(Priority Inversion,也有翻译为反转,逆转或倒置的)现象以及如何用优先级继承来解决此类问题的方法,并阐述了 Microsoft Platform Builder for Windows CE 环境下,如何查看此种现象。 目 录摘要1 优先级翻转(Priority Inversion)2 优先级继承(Priority Inheritance) 2.1 优先级继承 2.2 WinCE中优先级转载 2010-10-01 10:49:00 · 631 阅读 · 0 评论 -
存储层次结构、cache、编译
<br /><br />先给出计算机存储层次结构一组数据:<br />存储层级<br />1<br />2<br />3<br />4<br />名称<br />寄存器<br />高速缓存(cache)<br />主存<br />硬盘<br />一般容量<br /><1KB<br /><16M<br /><512GB<br />>1TB<br />实现技术<br />CMOS,<br />CMOS/SRAM<br />CMOS/DRAM<br />磁盘<br />访问时间(ns)<br />0.25-0.5转载 2010-09-29 19:35:00 · 1253 阅读 · 0 评论 -
内存管理中一些算法
<br />在内存管理中存在这两类算法:一类是内存分配算法,一类是页面置换算法<br /> <br />内存分配算法:是指怎么从连续的逻辑地址空间上分配内存地址给进程。<br />常见内存分配算法及优缺点如下:<br /> (1)首次适应算法。使用该算法进行内存分配时,从空闲分区链首开始查找,直至找到一个能满足其大小要求的空闲分区为止。然后再按照作业的大小,从该分区中划出一块内存分配给请求者,余下的空闲分区仍留在空闲分区链中。<br /> 该算法倾向于使用内存中低地址部分的空闲分区,在高地址部分的空闲原创 2010-09-23 17:38:00 · 7098 阅读 · 0 评论 -
正则表达式和上下文无关文法
<br /><br />对于文法G=(V, T, S, P),如果产生式的形式如下:<br />A -> xB<br />A -> x<br />其中A, B属于V,x属于T*,则称为右线性文法;相似的,如果产生式的形式如下:<br />A -> Bx<br />A -> x<br />则称为左线性文法。右线性文法和左线性文法统称为正则文法。<br />正则表达式的表达能力等价于正则文法,正则表达式的定义如下:<br />字母表中的任意字母是正则表达式,空串和空集也是正则表达式;<br />如果r, s是正转载 2010-09-20 16:18:00 · 5975 阅读 · 0 评论 -
基本知识学习:时钟周期 机器周期 总线周期 指令周期
<br />时钟周期 <br /><br /> 时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。 <br /><br /> 在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算转载 2010-08-19 20:42:00 · 1561 阅读 · 1 评论 -
Linux进程间通信总结
<br />下面是IBM developerworks上的关于进程间通信的好文章,拿出来分享:<br />序言:<br />http://www.ibm.com/developerworks/cn/linux/l-ipc/index.html<br />1,管道和命名管道:<br />http://www.ibm.com/developerworks/cn/linux/l-ipc/part1/index.html#listing1<br />2,信号机制:<br />http://www.ibm.com/d转载 2010-08-07 15:44:00 · 673 阅读 · 0 评论 -
OSI七层网络模型与TCP/IP四层网络模型
网络协议设计者不应当设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议。这样做使得每个协议的设计、分析、时限和测试比较容易。协议划分的一个主要原则是确保目标系统有效且效率高。为了提高效率,每个协议只应该注意没有被其他协议处理过的那部分通信问题;为了主协议的实现更加有效,协议之间应该能够共享特定的数据结构;同时这些协议的组合转载 2010-05-06 20:32:00 · 552 阅读 · 0 评论 -
(int&)a和(int)a的区别
view plaincopy to clipboardprint?#include #include #include using namespace std; int main() { float a = 1.0f; cout int)a cout int&)a cout int)a == (int&)a ) // 输出什么?转载 2010-10-02 20:25:00 · 639 阅读 · 0 评论