TCP的特点
TCP的全称是指传输控制协议(Transmission Control Protocol)。它是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
- 具备的特点
- TCP是面向连接的传输层协议。
- TCP连接是点对点的(套接字–IP:Port到套接字)。
- TCP提供可靠交付的服务。
- TCP提供全双工通信。
- 面向字节流。
TCP的全称是指传输控制协议(Transmission Control Protocol)。它是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
计算机系统由硬件(Hardware)系统和软件系统两大部分组成。
计算机发展历史:
第一代计算机(1946-1957):电子管时代
第二代计算机(1958-1964):晶体管时代
第三代计算机(1965-1970):集成电路时代
第四代计算机(1871以后):大规模继承电路时代
多核CPU里的每一个CPU核,都有独立的属于自己的L1 Cache和L2 Cache。多个CPU之间,只是共用L3 Cache和主内存。
我们说,CPU Cache解决的是内存访问速度和CPU的速度差距太大的问题。而多核CPU提供的是,在主频难以提升的时候,通过增加CPU核心来提升CPU的吞吐率的办法。我们把多核和CPU Cache两者一结合,就给我们带来了一个新的挑战。因为CPU的每个核各有各的缓存,互相之间的操作又是各自独立的,就会带来缓存一致性(Cache Coherence)的问题。
虚拟内存的目的是为了让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存。
为了更好的管理内存,操作系统将内存抽象成地址空间。每个程序拥有自己的地址空间,这个地址空间被分割成多个块,每一块称为一页。这些页被映射到物理内存,但不需要映射到连续的物理内存,也不需要所有页都必须在物理内存中。当程序引用到不在物理内存中的页时,由硬件执行必要的映射,将缺失的部分装入物理内存并重新执行失败的指令。
从上面的描述中可以看出,虚拟内存允许程序不用将地址空间中的每一页都映射到物理内存,也就是说一个程序不需要全部调入内存就可以运行,这使得有限的内存运行大程序成为可能。例如有一台计算机可以产生 16 位地址,那么一个程序的地址空间范围是 0~64K。该计算机只有 32KB 的物理内存,虚拟内存技术允许该计算机运行一个 64K 大小的程序。
进程是资源分配的基本单位。
进程控制块 (Process Control Block, PCB) 描述进程的基本信息和运行状态,所谓的创建进程和撤销进程,都是指对 PCB 的操作。
下图显示了 4 个程序创建了 4 个进程,这 4 个进程可以并发地执行。