进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。
进程一般由程序,数据集合和进程控制块三部分组成。
程序用于描述进程要完成的功能,是控制进程执行的指令集;
数据集合是程序在执行时所需要的数据和工作区;
程序控制块包含进程的描述信息和控制信息是进程存在的唯一标志。
进程的特征
动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的;
并发性:任何进程都可以同其他进行一起并发执行;
独立性:进程是系统进行资源分配和调度的一个独立单位;
结构性:进程由程序,数据和进程控制块三部分组成
线程
线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。
一个进程可以有一个或多个线程,各个线程之间共享程序的内存空间(也就是所在进程的内存空间)。
进程与线程的区别
线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;
一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线
进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和信号等),某进程内的线程在其他进程不可见;
调度和切换:线程上下文切换比进程上下文切换要快得多
任务运行的三种状态(非阻塞态、阻塞态)
进行态
就绪态(长时间占用CPU或有优先级更高的任务时被抢走cpu权限)
阻塞态(IO操作时)
2、网络基础部分什么是网络
网络=物理连接介质+互联网通信协议
OSI七层协议
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
为何要有网络?
为了方便数据的传输/通信(信息高速公路)
以太网协议(数据链路层)
Ethernet规定
一组电信号构成一个数据包,叫做"帧"
每一组帧分为:报头head和数据data两部分
head(固定18个字节)
发送者/源地址:6个字节
接收者/目标地址:6个字节
数据类型:6个字节
data(46-1500字节)
数据包的具体内容
head长度+data长度=最少64字节,最多1518字节,超过最大限制就分片发送
mac地址
Ethernet规定接入Internet的设备必须具备网卡,发送端和接收端的地址便指的是网卡的地址,即mac地址
每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)
广播
有了mac地址,同一网络内的两台主机就可以通信了(一台主机通过arp协议获取另一台主机的mac地址)
Ethernet采用最原始的方式,广播的方式进行通信,即计算机通信基本靠吼。
IP协议(网络层)
IP协议
规定网络地址的协议叫IP协议,他定义的地址称为ip地址,广泛采用IP v4,规定网络地址由32位2进制表示
范围0.0.0.0-255.255.255.255
00000000.00000000.00000000.00000000——>0.0.0.0
11111111.11111111.11111111.11111111——>255.255.255.255
一个ip地址通常写成四段十进制数,例如172.16.0.1
ip地址的组成
网络部分:标识子网
主机部分:标识主机
单纯的ip地址只是标识了ip地址的种类,从网络部分或主机部分都无法辨识一个ip所处的子网
例如172.16.10.1与172.16.10.2不一定处于同一子网
子网掩码
子网掩码是表示子网特征的一个参数
形式上等同于IP地址,也是32位二进制数,网络部分全为1,主机部分全为0
知道子网掩码就能判断任意两个IP是否处于同一个子网络。方法是将两个IP地址与子网掩码分别进行AND运算(两个数位都为1,运算结果为1,否则0),然后比较结果是否相同,相同则在同一个子网中,否则不在
ip:172.16.10.4/24
10101100.00010000.00001010.00000100——>172.16.10.4
11111111.11111111.11111111.00000000——>255.255.255.0
10101100.00010000.00001010.00000000——>172.16.10.0子网地址
IP数据包
分为head和data部分,无需为ip包定义单独的栏位,直接放入以太网包的data部分
head:长度20-60字节
data:最长65515字节
以太网数据包的数据部分最长1500字节,如果IP数据包超过1500字节就需分割成几个以太网数据包分开发送
ARP协议