1.进程的概念
我们编写的代码只是存储在硬盘的静态文件,通过编译链接后会生成二进制可执行目标文件,当我们运行这个可执行目标文件后,它会被装载到内存中,接着CPU会执行程序中的每一条指令,那么这个运行中的程序,就被称为进程。
2.进程的状态
(1)创建状态
(2)就绪状态
(3)运行状态
(4)结束状态
(5)阻塞状态
(6)就绪挂起状态
(7)就绪阻塞状态
(8)阻塞挂起状态
3.进程的控制结构
(1)组成
进程描述信息:包含进程标识符与用户标识符
进程控制和管理信息:包含进程当前状态与进程优先级
资源分配清单:包含内存地址空间等
CPU相关信息:包含各个寄存器的值等
(2)组织方式
将所有处于就绪状态的进程链在一起,所有因等待时间的进程也链接在一起。
4.进程的上下文的切换
把交换的信息保存在进程的PCB中,我们需要从这个进程的PCB取出上下文,然后恢复到CPU中,使得这个进程可以继续执行。
5.线程的概念
进程的一条执行流程称为线程。
6.线程的优缺点
优点:
一个进程可以执行多个线程。
各个线程之间可以并发执行。
各个线程之间共享地址空间和文件等资源。
缺点:
对于C++来说,一个进程崩溃,其他线程全玩完。