本片笔记将会从基本概念,进程结构,区分进程线程这三个方面解释什么是进程(process)
概念:
process是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度的独立单位,是资源分配的最小单位。
要点:
- 进程是程序的一次执行
- 进程是一个程序及其数据在**处理机**上顺序执行时所发生的活动
- 进程是程序在一个数据集合上运行的过程
- 进程是系统进行资源分配和调度的一个独立单位
结构(进程究竟长什么样子)
- 控制块(PCB):进程唯一标识process control block(头)
- 数据段:存放原始数据中间数据(躯干)
- 程序段: 存放在文本区域,可能被多个进程共享(手脚)
进程和线程
- 线程的概念:Thread是进程的轻型实体,是一系列活动是先按照设计好的顺序依次执行的过程,是一系列指令的集合,是一条执行的路径,不能单独存在,必须包含在进程当中。线程是OS中运算调度的最小单位。
- 与进程的比较,线程是由进程分出来的,他们是包含关系。线程相对于进程,大大降低了创建撤销和切换可执行实体的成本和难度
- 线程是操作系统调度的基本单位,进程是资源分配的基本单位
- 进程拥有资源,线程不拥有资源(I/o,内存,寄存器等等),线程向进程申请资源,线程只拥有使用权
- 两者都有并发性
- 为什么要引入线程?为了提高os的并发性。
- 线程的属性:轻型实体,独立调度和分派的基本单位,可并发执行,共享进程资源。
- 线程的实现方式:
- 用户级线程ULT(user level thread)
- 内核级线程KLT (kernel level thread)