自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux下的五种I/O模型

一、五种I/O模型1、阻塞I/O模型 应用程序调用一个I/O函数,导致应用程序阻塞,等待数据,如果数据没有准备好,则一直阻塞,直到数据准备好,将数据从内核空间拷贝到用户空间,I/O函数成功返回。 2、非阻塞I/O模型 将套接口设置为非阻塞形式就是告诉内核,当所请求的I/O函数还没有准备好时,直接返回错误,而不让进程进入睡眠状态,此后,I/O函数不断地测试数据有没有准备好,如果数据没有准备好,则

2017-06-30 16:14:23 401

原创 TCP定时器

一、常见的四种TCP定时器 1、超时重传计时器 2、坚持计时器 3、保活计时器 4、时间等待计时器 二、四个定时器的特点和应用场景 1、超时重传计时器(Retransmission Timer) 超时重传计时器:为了控制丢失的报文段,设置的一种定时器。发送端在将TCP报文发送出去之后会等待目标端对该报文的确认,此时等待的结果有两种:当超过定时器设置的时间还没有收到确认的话,则认为刚才发

2017-06-25 12:38:49 517

原创 TCP报头中的URG和PSH

一、URG 紧急URG(URGent)当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应该尽快传送,而不按照原来的排队序列来传送。 当URG=1时,发送应用进程告诉发送方的TCP有紧急数据要传送,于是发送方的TCP就将紧急数据插入到本报文数据段的最前面,而在紧急数据后面的数据仍是普通数据。 二、PSH 推送(PuSH),当两个应用进程进行交互式的通信时,有时一端的应用进

2017-06-24 21:42:05 712

原创 端口

一、端口的概念 端口是设备与外部通讯交流的接口,一般端口可以分为虚拟端口和物理端口,虚拟端口就是计算机或者交换机路由器内部的接口,一般不可见,而物理端口一般是可见的。 二、端口的类型 1、硬件端口 CPU通过接口寄存器与外部设备进行数据传送,这些硬件寄存器就称为端口或者接口。 2、软件端口 一般指网络中面向连接(TCP)和无连接(UDP)的通信协议端口,包括数据I/O和缓冲区。 (1)

2017-06-24 21:17:47 878 1

原创 路由算法

一、路由算法的基本概念 1、什么是路由算法 路由算法是提高路由协议功能,减少路由时开销的一种算法。它的目的是找到源路由器到目的路由器的最佳路径。 2、设计路由算法时应考虑的因素 (1)最优化 路由算法必须能够在源路由器和目的路由器之间找到最优路径。 (2)简洁性 由于计算机物理资源有限,因此路由算法必须保证简洁,以减少软件和应用的开销。 (3)坚固性 当出现任何非正常或者不可预料的

2017-06-24 16:19:13 1628

原创 NAT技术与代理服务器

一、背景知识之虚拟专用网VPN 1、VPN的基本概念 VPN(Virtual Private Network)是虚拟专用网,在介绍这个知识之前,先引入几个基础知识。 (1)全球地址 全球地址就是由因特网管理机构分配的全球唯一的IP地址。 (2)专用地址 基本概念:由于全球IP地址的短缺,再加上在同一机构内的主机很少需要和外部因特网上的主机进行通信,更多的是和同一机构内的主机进行通信,因此

2017-06-20 16:26:56 593

原创 ARP协议

一、理解ARP协议 1、ARP协议的基本概念 (1)ARP协议就是地址解析协议; (2)ARP协议是网络层的协议; (3)ARP协议的用途是从网络层的IP地址解析出在数据链路层的硬件地址; (4)每台主机都有一个ARP高速缓冲区,该缓冲区中存放了本局域网上各主机和路由器的IP地址到硬件地址的映射表。注意:该映射表经常动态更新。 2、ARP协议的格式 (1)格式如下图 说明: (

2017-06-19 17:17:51 513

原创 CRC循环冗余校验

一、背景知识 1、比特差错 现实的通信链路都不会是理想的,因为比特在传输过程中可能产生差错:1可能变成0,0可能变成1,这就叫做比特差错。 2、误码率 在一段时间内,传输错误的比特占所传输的比特总数的比率成为误码率。误码率和信噪比有很大的关系,如果设法提高信噪比,就可以使误码率减小。 3、为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用个中差错检测措施,目前使用最广泛的就是CRC

2017-06-19 16:19:39 1365

原创 子进程的异步等待方式

通过之前所学的知识,我们可以了解到,通过wait函数或者waitpid函数可以清理僵尸进程,父进程可以通过两种方式等待子进程,一种是阻塞方式,另一种是非阻塞方式,而不管是那种方式,父进程都做不到完全不理会子进程而去完成自己的动作,即子进程不能达到异步等待的目的。 一、SIGCHLD信号 1、关于SIGCHLD信号 子进程在终止时会给父进程发SIGCHLD信号,该信号的默认处理动作是忽略,父进程

2017-06-15 21:30:30 317

原创 线程安全和可重入函数

一、线程安全 1、什么是线程安全? 如果一个进程中有多个线程在同时运行,这些线程可能会同时运行同一段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就表示线程是安全的。 线程安全问题是由全局变量和静态变量引起的。 2、如何避免线程安全问题 (1)使用线程安全的类 (2)使用synchronized同步代码块,或者用Lock锁 (3)多线程并发

2017-06-15 19:15:22 354

原创 守护进程

一,守护进程的基本概念 守护进程又名精灵进程,该进程是一种运行在后台的特殊进程,它独立于控制终端并周期性的执行某种任务或等待处理某些发生的事件。 在理解守护进程之前,需要先了解一些基础知识,即进程组、作业、会话以及终端。 二、进程组、作业、会话 1、进程组(Proess Group) (1)进程组由一个或者多个进程组成; (2)每个进程组都有一个组长进程,而组长进程往往是该进程组中的第一

2017-06-15 16:10:40 344

原创 信号基本概念

一、信号的基本概念 通过一个普遍例子来引入信号这个基本概念 1、自己写一个前台进程,在client.c文件中写一个程序,然后运行该程序 2、用Ctrl+c组合键来使该进程中断 3、分析一下该中断的过程 (1)用户创建一个前台进程 (2)输入Ctrl+c组合键,产生硬件中断 (3)如果CPU正在执行该前台进程,则暂停执行用户空间代码,CPU从用户态切换到内核态去处理该硬件中断

2017-06-14 15:39:11 805

空空如也

空空如也

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

TA关注的人

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