一、进程
1.进程的定义与组成
定义:一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。
组成:程序的代码、程序处理的数据、程序计数器中的值,指示下一条将运行的指令、 一组通用寄存器的当前值,堆、栈、一组系统资源。总之,进程包含了正在运行的一个程序的所有状态信息。
特点:动态性、并发性、独立性、制约性
2.进程与程序的联系
联系:
程序时产生进程的基础
程序的每次运行构成不同的进程
进程是程序功能的体现
通过多次执行,一个程序可对多个进程;通过调用关系,一个进程可以包括多个程序。
不同点:
进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行,进程有核心态\用户态。
进程是暂时的,程序是永久的;进程是一个状态变化的过程,程序可长久保存。
进程和程序的组成不同:进程包括程序、数据、和进程控制块。
3.进程控制块(PCB)
3.1.定义与组成
操作系统管理控制进程运行所用的信息集合。操作系统用PCB来描述进程的基本情况以及运行变化的过程,PCB是进程存在的唯一标识。
3.2PCB的组成方式
4.进程状态
4.1进程的生命周期:进程创建、进程执行、进程等待、进程抢占、进程唤醒、进程结束(不同的操作系统有一定的区别)
4.2 进程切换
进程1执行调用系统函数进入内核态,内核会调用函数设置定时器(IO设备)之后,执行调度把当前进程的状态保存到寄存器中,切换到第二个进程,当定时器的时间到了就会保存进程2的现场进入进程1的现场,知道进程1完成。
当进程处于运行态的时候,PCB既不在就绪队列也不再等待队列中
5.三状态进程模型
就绪、运行和等待
6.挂起进程模型(涉及到外存)
处在挂起状态的进程映象在磁盘上,目的是减少进程占用内存。
二、线程
1.线程的意义与定义
eg.一个MP3的运行过程
单进程的实现方法
多进程的实现方法
多线程的解决思路?
线程:线程是进程的一部分,描述指令执行状态,他是京城中的指令执行流的最小单元,是CPU调度的基本单位。
线程=进程-共享资源
2.线程与进程的比较(重要)
3.线程的实现 (用户线程、内核线程和轻量级进程)
3.1用户线程:内核空间并不感知
优缺点:
3.2内核线程(TCB:线程控制块)