摘要:
内存管理分为对连续物理内存区管理和非连续内存区管理,本文主要讲解连续的物理内存区管理的技术中所涉及到的内核线性地址空间映射的相关知识。涉及到的东西有:页框,管理区(高端内存,低端内存),高端内存映射等,这些知识是掌握伙伴系统算法和slab分配器的基础。 阅读全文
2013年7月27日
2013年7月17日
摘要:
计算机管理内存的基本方式有两种:段式管理和页式管理。而在使用80x86微处理器时,内存地址分为三个不同的地址:逻辑地址,线性地址,物理地址。他们之间有什么关系,内存是如何寻址,本文主要介绍的就是内存寻址。 阅读全文
2013年4月27日
摘要:
本文主要讲述的是
1、TCP/IP三次握手原理,以及为什么要三次握手,两次握手带来的不利后果。
2、TCP/IP四次挥手原理,为什么要四次挥手。 阅读全文
2013年4月21日
摘要:
去北京出差了5个月。忙得不亦乐乎,前天回来,昨天去参加了腾讯的笔试,惨淡收场。。。感觉得好好的复习下,才能做好。所以,从现在起,记录每一次笔试,每一个用到的知识点,好好准备,加油加油。 阅读全文
2012年8月18日
摘要:
本文主要总结自己看完《C陷阱与缺陷》这本书后的感想。 阅读全文
摘要:
本文主要讲解《C陷阱与缺陷》第六章中宏的使用。
预处理器工作有:
(1) 文件包含:可以把源程序中的#include 扩展为文件正文,即把包含的.h文件找到并展开到#include 所在处。
(2) 条件编译:预处理器根据#if和#ifdef等编译命令及其后的条件,将源程序中的某部分包含进来或排除在外。
(3) 宏展开:预处理器将源程序文件中出现的对宏的引用展开成相应的宏定义。
预处理中宏的作用:
(1)方便程序的修正:将某个特定数量在程序中出现的所有实例统统加以修改;
(2)提高程序的运行效率:C语言在实现函数调用时会带来重大系统开销,宏可以实现一种这样的程序块:它看上去像函数,但却没有函数调用的开销。 阅读全文
2012年8月15日
摘要:
本文主要记录《C陷阱与缺陷》第三章中的一些知识。 阅读全文
摘要:
问题:当计算机启动时,硬件将调用首地址为0的子例程,为了模拟开机启动时的情形,如何设计出一个C语句,以显示调用该子例程。
换个问法:有一段程序存储在起始地址为 0的一段内存上,如果我们想要调用这段程序,请问该如何去做?
《C陷阱与缺陷》给出答案:(*(void(*)())0)(); 阅读全文
2012年8月13日
摘要:
这篇文章主要讲的是《C陷阱与缺陷》中第一章习题1-3与1-4。
习题1-3:为什么n-->0的含义是n-- > 0,而不是n- -> 0 ?
习题1-4:a+++++b的含义是什么? 阅读全文