自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 TCP协议-----《第二篇》重传机制

我们都知道TCP的可靠传输是确认号来实现的,那么TCP的确认机制是怎样的呢?是收到一个包就马上确认,还是可以稍等一下在确认呢?所以我们就要先说一下TCP的延迟确认机制:按照TCP协议,确认机制是累积的,也就是确认号X的确认指示的是所有X之前但不包括X的数据已经收到了。确认号(ACK)本身就是不含数据的分段,因此大量的确认号消耗了大量的带宽,虽然大多数情况下,ACK还是可以和数据一起捎带传输的,...

2018-07-30 20:03:59 931

原创 TCP协议-----《第一篇》

 首先,我们需要知道TCP在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP在第二层——Data Link层,在第二层上的数据,我们叫Frame,在第三层上的数据叫Packet,第四层的数据叫Segment。首先,我们需要知道,我们程序的数据首先会打到TCP的Segment中,然后TCP的Segment会打到IP的Packet中,然后再打到以太网E...

2018-07-30 18:59:44 248

原创 进程间的通讯-----------信号量

《一》概念:访问临界资源的一个计数器。            当信号量的值 > 0代表临界资源的剩余个数。            当信号量的值 < 0, 代表等待使用临界资源的进程个数            临界资源: 同一时刻只允许一个进程使用的资源。            临界区: 访问临界资源的代码区域            原子操作: 不可再分的, 不可被打...

2018-07-26 10:29:27 135

原创 进程间的通讯---------消息队列

《一》概念:消息队列是消息的链接表,存放在内核中,一个消息队列由一个标识符(队列ID)来标识《二》特点:消息队列是面向记录的,其中消息具有特定的格式以及特定的优先级,消息队列独立于发送与接收的进程,进程终止时消息队列及其内容并不会被删除。消息队列可以实现消息的随机查询,消息不一定一先进先出的次序读取,也可以按消息的类型读取(同类型的消息是按先进先出的次序读取)《三》消息队列的操作:创建...

2018-07-26 10:20:38 412

原创 进程间的通讯---------共享内存

《一》共享内存的实现原理:共享内存区域是多个进程共享的一部分物理内存,如果多个进程都把该内存区域映射到自己的虚拟内存地址空间,则这些进程就都可以直接访问这篇共享内存区域,从而可以通过该区域进行进程间的通讯 ,一个进程向共享内存中写入了数据,共享这个内存区域的所有进程都可以立刻获取到其中的数据,这块共享虚拟内存的页面出现在每一个共享该页面的进程的页表中,但是它不需要再所有进程的虚拟内存中都有相同...

2018-07-26 10:12:06 243

原创 进程间的通讯---------信号

信号是一种进程间消息通知机制,传递指定能够的信号值,接收信号的进程需要提前注册信号的相应方式(默认 忽略  自定义)《一》发送信号:int kill(pid_t pid ,int sigtype); Pid:指定信号发送的对象 Sigtype:信号类型 发送的是哪个信号《二》修改信号的响应方式:sa_handle signal(int sigtype, sa_handle ...

2018-07-26 10:04:32 171

原创 linux I/O复用-------select

select系统调用的用途是:在一段时间内,监听当用户感兴趣的文件描述符上的可读,可写,可异常等事件。《一》select系统调用原型:Int select(int nfds,fd_set* readfds,fd_set* writefds,fd_set* exceptfds,struct timeval* time out);成功将返回就绪文件描述符的个数,失败返回-1nfds:监...

2018-07-24 09:49:14 125

原创 linux I/O复用---------poll

poll系统调用和select类似,也是在指定的事件内轮询一定数量的文件描述符,以测试其中是否有就绪的文件描述符,不过poll聪明的地方就是它把事件和文件描述符绑定了起来(后面大家就会知道这个操作的优点了!!!!!!)《一》poll的函数原型如下:#include<poll.h>Int poll(struct pollfd*  fds,nfds_t  nfds,int  t...

2018-07-24 09:21:04 143

原创 linux I/O复用--------epoll

epoll是linux特有的I/O复用函数。它在实现和使用上与select,poll有很大的差异。首先,epoll使用一组函数来完成任务,而不只是单个函数,其次,epoll把用户关心的文件描述符上的事件都放在内核里的一个时间表中,而无需像select和epoll那样每次调用都要重复传入文件描述符集或事件集,但epoll需要使用一个额外的文件描述符来唯一标识内核中的这个时间表,这个文件描述符使用如下...

2018-07-23 17:21:05 137

原创 进程间的通讯-----管道

进程间的通讯:两个以上的进程相互传递数据管道就是进程通讯方式的一种。管道分为有名管道和无名管道管道:在进程之间建立数据传输的桥梁, 已完成数据的流通。注意: 管道是一种半双工通讯<一>有名管道概念:有名管道在磁盘上会占据一个 inode 节点, 但是不开辟 block。 有名管道会有一个文件名。有名管道的操作:创建有名管道文件:               1、 m...

2018-07-23 14:02:02 209

原创 fork()详解

<一>: fork()函数用来创建新的进程,它的特点是调用一次返回两次( 在原来的进程中返回新进程的 PID(新进程的 PID 肯定不等于 0), 在新进程中返回为 0.)函数原型:pid_t fork(void);pid_t getpid(); 获取当前进程的 pid 值。pid_t getppid(); 获取当前进程的父进程 pid 值。    图一如图一所...

2018-07-22 23:56:34 15040

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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