- 博客(15)
- 收藏
- 关注
转载 进程间通信以及线程同步
进程间通信:进程之间不共享数据,因此进程间通信需要特殊方式进行通信#管道 pipe 半双工通信方式,数据单向流动 ,父子进程中使用#命名管道 非亲缘关系之间的通信#信号量 (同步手段)#消息队列:消息的链表,存放在内核中并有消息队列标识符标识#信号 :信号是一种比较复杂的通信方式,通知接收进程某个事件发生#共享内存:映射一段能被其他进程访问的内存,(ipc)方式#套接字 :套接字也是一种进程间通信...
2018-07-03 16:07:14
134
原创 进程和线程区别
进程和线程的区别:1,进程是资源的分配与调度的独立单元,线程是cpu调度的基本单元2,进程包含多个线程,线程可以同时运行,共享整个进程资源(寄存器,堆栈,上下文)3,线程是轻量级进程4,线程之间共享全局变量,静态变量等数据。通信较为方便,但需要考虑同步和互斥的问题。进程之间需要通过IPC通信。5,进程有自己的PCB,私有属性不共享,进程之间独立性更高,也就更加安全。多线程程序中某一个线程死掉,整个...
2018-06-27 15:57:16
120
原创 进程调度算法
进程调度:无论是批处理系统还是分时系统中,用户进程数一般多于处理机数、这将导致他们互相争夺处理机。另外,系统进程也需要使用处理机。这就要求进程调度需要按照一定的策略,动态的把处理机分配给处于就绪队列中的某一个进程,以使之执行。进程的几种状态: 1.等待态:等待某个事件的完成; 2.就绪态:等待系统分配处理器以便运行; 3.运行态:占有处理器正在运行。 运行态→等待态 往往是由于...
2018-06-27 14:42:41
176
原创 页面置换算法
当DRAM缓存不命中时会产生缺页中断,此时操作系统会选择一个页面作为牺牲页面调出内存,然后将需要使用的页面调入内存。如何选择牺牲页面至关重要要,因此有几种页面置换算法。1,最优页面置换算法(理论可行)最优置换算法将需要指令最多的被置换,但是程序执行时,无法知道后面的指令需要用到那个页面,因此不好实现该算法。2,最近未使用页面置换算法(NRU)每个页面设置两个硬件位-访问位和修改为访问位:0 未访问...
2018-06-26 22:07:27
170
原创 TCP是如何保证可靠传输的
1:确认和重传:接受方在收到报文就会确认,发送方发送一段时间后没收到确认就重传。2:数据校验,3:数据的合理分片和排序4:流量控制:接收方来不及处理时,提示发送方降低发送速率,防止包丢失。5:拥塞控制:网络拥塞时,减少数据的发送。滑动窗口机制:发送窗口(SWND)和接受窗口(RWND)通过窗口机制能够提高信道利用率并且维护已经发送但未接收到确认的报文重传和确认:超时重传:选用一种自适应算法,报文段...
2018-06-21 22:00:34
531
原创 DNS解析过程
DNS是一套分布式的域名服务系统。在每台服务器上存放着大量的机器名和IP地址的映射,并且是动态更新的。网络客户端使用DNS协议向DNS服务器查询目标主机的IP。域名结构级别低的域名在左边,级别高的域名在右边。域名服务器不同级别的域名服务器分别存放下级域名对应的服务器的地址。解析域名时通过逐渐向下寻找找到目的域名的IP地址域名解析过程两个步骤:一:本机向本地域名发送DNS请求报文。(递归查询)二:本...
2018-06-21 20:52:03
262
原创 IP地址子网划分
A类IP段 1.0.0.0 到126.255.255.255 (0段和127段不使用)B类IP段 128.0.0.0 到191.255.255.255C类IP段 192.0.0.0 到223.255.255.255XP默认分配的子网掩码每段只有255或0A类的默认子网掩码 255.0.0.0 一个子网最多可以容纳1658万多台电脑B类的默认子网掩码 255.255.0.0 一个子网最多可以容纳6万...
2018-06-21 19:55:21
197
原创 TCP三次握手四次挥手
三次握手四次挥手连接过程状态转换图TIME_WAIT状态时间一般为2MSL(报文段最大生存时间),作用为:可靠的终止TCP连接,保证让迟来的TCP报文段有足够的时间被识别和丢失当连接断开时,该服务端口不能立即重新连接,但是可以通过端口复用技术解决该问题,利用socket中的SO_REUSEADDR来设置,在后序讨论select,poll,epoll时会详细讨论。半关闭状态:通信一段发送结束报文给对...
2018-06-21 19:31:02
98
原创 OSI七层模型和TCP/IP模型
应用层协议:FTP,HTTP,SMTP, TELNET, DNS, TFTP,SNMP等传输层:TCP,UDP,网络层:IP,ICMP。数据链路层:ARP,RARP
2018-06-21 18:57:26
105
原创 HTTP协议
*HTTP协议,(超文本传输协议)属于TCP/IP中的应用层协议。*HTTP的端口号为80,HTTPS的端口号为443。*HTTP是一个无状态协议,且该协议是由客户端发起请求,服务器端响应请求。*HTTP的工作流程一次HTTP操作称为一个事务,其工作过程可分为四步:1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。2)建立连接后,客户机发送一个请求给服务器,请求方式的格...
2018-06-21 18:37:10
152
原创 TCP与UDP的区别
**TCP:是面向连接的(发送数据前需要建立连接(三次握手,四次挥手)) ; UDP:不需要建立连接的,发送数据前不需要连接的**TCP:安全可靠的传输,(确认机制,重传机制)确保TCP传送的数据无差错,不丢失,不重复; UDP:尽最大可能完成交付,不保证可靠性**TCP:面向字节流传输,将上层传输下来的报文数据当做字节流进行处理,无边界约束,可以拆分合并 UDP:面向报文传输,...
2018-06-21 16:38:51
297
原创 TCP,UDP报头格式
TCP报头格式如上所示源端口:16位,指定报文的来源目的端口:16位,指定报文传给哪个上层协议或者应用程序。序号:32位,seq,发送的第一个报文序号初始化为随机值(ISN),后序的序号为ISN加上报文第一个字节在整个字节流中的偏移,能够确保数据在接受后能够恢复原有的顺序(重排,整理),保证了TCP传输的可靠性确认序号:对接收到的TCP报文段的响应。值为接收的TCP报文序号值加1;头部长度:4位。...
2018-06-21 16:19:42
365
原创 C++基础学习(2)
类与类的关系类是C++区别C的最大特性,有了类我们就能够实现封装,继承,和多态这三大特性,同时类与类之间的关系我们分为三种:复合(composition) ,委托(Delegation),继承(inheritance)一:Composition复合指的是类A包含类B,也就是A has B;代码示例:class B;
2018-01-04 09:58:42
112
原创 C++学习笔记基础(1)
1,C++与C最大的区别以前学过一些c语言,现在开始学习C++,我感觉最大的区别就是c++多了一个class的关键词,也就使得c++成为了面向对象的语言,而c语言是面向过程的语言。面向对象的三大特性:封装,继承,和多态。封装:主要是利用class里面的访问级别关键字,有public,private和protect。private和protect就能能够将数据封装起来。不被外界访问,publ
2017-12-23 10:32:38
103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人