进程:
一个具有一定的独立功能的程序在一个数据集合上的一次动态执行过程!
程序与进程息息相关,一个程序可以有多个进程,一个进程包含多个程序
进程是程序功能的具体体现,程序每次运行构成不同的进程(相同的代码,不同的资源也是不同的程序)
每一个进程都有一个相互独立的进程控制块,存储着进程的信息
进程包含:
1,程序的代码,
2,程序的数据
3,程序计数器的值,指示下一条将运行的指令
4,一组通用的寄存器的当前值,堆,栈(保证进程切换能够恢复!)
5,一组系统资源(网络资源,内存资源,文件资源等等!)
进程的特点:
1,动态性,可以动态的创建和结束进程
2,并发性,可以独立的调度并占用处理机运行(并发,并行)
3,独立性,不同的进程工作互相不影响(页表来实现的,不同的进程不同的页表)
4,制约性,因访问数据或进程同步间进行制约!
进程控制块:存储着进程的信息,以及执行步骤!
进程的创建: 为该进程生成一个进程控制块(PCB)
进程的终止: 回收它的PCB
进程的组织管理: 通过对PCB 的组织管理来实现
从资源整合的角度来看:
进程是把资源组合起来,构成了一个资源平台(环境),包括地址空间(代码段,数据段),打开的文件等各种资源
线程:
1,代码在这个资源平台的一条执行流程,是进程的一条重要的组成单位
2,包含寄存器(保存执行的状态,就绪,阻塞和执行),所有的线程共享进程资源,进程之间只能够通过通信共享资源
3,安全需要代码来进行保证.
4,谷歌浏览器打开网页是通过进程来进行实现的!因为线程崩溃,那么就好导致所在的进程的崩溃
线程的上下文切换:
1,停止当前运行进程(运行状态改变成其他的状态),并且调用其他的进程(装换为运行状态)
2,需要使用寄存器来进行存储状态,例如cpu状态