进程(process)
一个运行起来的程序就是进程
[everything.exe 是一个可执行的程序,当双击它运行的时候就形成了一个进程]
打开任务管理器,我们可以看到电脑中正在运行的进程
进程管理:
1.描述一个进程:使用结构体/类,把一个进程有哪些信息表示出来
2.组织这些进程:使用一定的数据结构,把这些结构体/对象放在一起
进程结构体(PCB)的核心属性
1.PID
每个进程需要有一个唯一的身份标识
2.内存指针
当前这个进程使用的内存是哪一部分,(进程的运行需要消耗一定的空间资源)
3.文件描述表
进程每次打开一个文件,就会产生一个“文件描述符”(标识这个被打开的文件),许多的文件描述符放到一个顺序表这样的结构中,就构成了 文件描述表
进程调度
程序的运行依靠CPU,其中含有一定的核心数
1.进程并行
同一时刻两个核心同时执行多个进程
2.进程并发
一个核心先执行进程1,再执行进程2,再执行进程3,当切换速度够快时看起来进程123在“同时进行”。
a.进程状态
就绪态:已准备好,可随时上CPU执行
阻塞态:暂时无法上CPU执行
b.进程间的优先级
进程间具有优先级
c.进程的上下文
程序未执行完离开CPU时会进行(记录信息)“存档”,当下次进程恢复在CPU上执行时会根据“存档”继续向后执行
d.进程的记账信息
统计进程在CPU上执行了多久了,可作为进程调度的参考依据