最近忙于交换机的学习,所以没能分享一些新的东西。不过我已经准备好了一些交换机的学习笔记,有助于刚学交换机的童鞋们学习,这个灯月底时再发布,有些内容还待完善!
下面所讲的都是一些小知识.
1、中断与轮询的区别:对于中断密集型的事件一般都是采用轮询机制的,比如网卡(应该说是网卡最主要的实现还是轮询,虽然有中断参与)。具体怎么实现呢?这就得自己去看驱动代码了。
对于中断不密集型的事件就采用中断机制,因为这样效率就提高了!
2、内存池的概念:http://blog.csdn.net/rabbit729/article/details/3927979,看一下这篇!
3、静态变量,临时变量,局部临时变量在编译(还未运行)时放在哪个区?BSS、TEXT、DATA等区?参考我转载的博文《C++内存到底分几个区》。另外再附加几点:
一般工程编译完成后会生成.o 文件 然后通过link 成一个完整的镜像
ELF 文件一般包含 一下几个代码段 :
file header字段里存放了描述整个文件的基本属性信息的内容,如程序入口地址,其他各段信息(偏移量和范围)
.text section:主要是编译后的源码指令,是只读字段。
.data section :初始化后的非const的全局变量变量或者局部static变量。
.bss:未初始化后的非const全局变量和局部static变量。
rodata字段 是存放只读数据
common 存放注释的
堆(heap):堆是用于存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减。当进程调用malloc等函数分配内存时,新分配的内存就被动态添加到堆上(堆被扩张);当利用free等函数释放内存时,被释放的内存从堆中被剔除(堆被缩减)
栈(stack):栈又称堆栈, 是用户存放程序临时创建的局部变量,也就是说我们函数括弧“{}”中定义的变量(但不包括static声明的变量,static意味着在数据段中存放变量)。除此以外,在函数被调用时,其参数也会被压入发起调用的进程栈中,并且待到调用结束后,函数的返回值也会被存放回栈中。由于栈的先进先出特点,所以栈特别方便用来保存/恢复调用现场。从这个意义上讲,我们可以把堆栈看成一个寄存、交换临时数据的内存区。
4、在TCP/IP协议中分段机制与分片机制的区别?
1,MTU(Maximum Transmission Unit,MTU),最大传输单元
2,MSS(Maxitum Segment Size)最大分段大小的缩写,是TCP协议里面的一个概念
本段来自CSDN博客:http://blog.csdn.net/keyouan2008/archive/2010/08/27/5843388.aspx