interview
ghalcyon
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CPU位数和操作系统位数
CPU位数是指CPU一次能处理的二进制数的最大位数。这是体系结构决定的。 操作系统的位数是由字长决定(word size)。字长决定了指针的大小,指针的大小决定了操作系统中的虚拟空间的最大值。 故操作系统的位数可由sizeof(char *)决定。 值得注意的是,在64位系统下编译的程序,int类型通常也只有4个字节。(《深入理解计算机系统v3》P28)原创 2017-07-20 19:46:34 · 1841 阅读 · 0 评论 -
sizeof用法
简单来说,sizeof用于计算对象或者类型的大小。 举例:int a = 0; 可以是sizeof(int)或者sizeof(a)。 在计算结构体时,会涉及对齐的概念。 待续。原创 2017-07-20 19:57:28 · 288 阅读 · 0 评论 -
tcp超时重传
tcp是可靠传输的协议,当网络出现丢包时,需要有重传机制保证可靠传输。 1. 如何选择重传的时间才是合适的?过短的重传时间会导致网络状况更加拥塞,过长的重传时间则会导致对端的效率低下。 重传机制是这样的,发送方在RTO(retranmission timeout)时间内,没有接受到某个包的确认,则判断该报丢失。随后进行重传。 2. RTO的取值跟RTT(round trip time)有关。原创 2017-07-19 20:16:23 · 468 阅读 · 0 评论 -
非阻塞式connect
在使用connect的时候,假如对端没有响应,则需要等待较长的时间。对于实时性要求高的进程,这是不能满足需求的。 非阻塞connect(Unix网络编程卷1:套接字联网 P351) 1. 将套接字设置为非阻塞式 2. 调用connect函数,判断返回值 3. 设置超时时间,调用select函数 4. 判断select函数返回结果,是否可读可写 5. 再次调用connect函数,假如返回原创 2017-07-19 20:42:40 · 227 阅读 · 0 评论 -
tcp协议_mss
MSS就是maximum segement size。规定了tcp报文的最大长度。 MSS= MTU-IP头部-TCP头部原创 2017-07-24 11:09:33 · 393 阅读 · 0 评论 -
大小端判断
题目:如果是小端,返回1;如果是大端返回0 int is_little_endian() { int a = 0x01; char ret = *((char *)&a) return (int)ret; }原创 2017-07-26 14:22:21 · 289 阅读 · 0 评论 -
位移量k很大
CSAPP V2 P37 数据类型位数为w,位移量为k。假如k>=w时,会发生什么情况? 很多机器的移位指令只考虑位移量的低log2(w)位,即对k进行了取模运算,k = k mod w。 所以采用该规则的32位机器,w = 32, k = 32时, int x = 1; int k = 32; x 因为在C语言中,该行为没有保证,故移位数量应该小于数据大小。原创 2017-07-26 17:07:59 · 582 阅读 · 0 评论
分享