文章目录
多任务编程
可以有效的利用计算机资源,同时执行多个任务
进程
进程就是程序在计算机中一次执行的过程
进程和程序的区别:
程序是一个静态文件的描述,不占计算机的系统资源
进程是一个动态的过程,占有CPU、内存等资源,有一定的生命周期
同一个程序的不同执行过程即为不同的进程
问题1:什么决定了进程的创建
1)用户通过应用层程序进行进程的创建申请
2)调用操作系统接口进行进程创建
3)告知系统内核创建新的进程提供给应用层使用
问题2:进程如何占有CPU
1)同一个内核同一时刻只能运行一个进程
2)多个进程对内核资源进行抢占,由操作系统内核进行分配
3)哪个进程占有计算机内核,我们称为该进程占有CPU的时间片
问题3:进程在运行过程中的形态和附带内容
1)PCB(进程控制块):在linux和unix操作系统中,进程创建后会在内存中开辟一块空间存放进程的相关信息,这个空间称之为PCB
2)PID:在操作系统中进程的唯一标识,是一个大于0的正整数,由系统自动分配
ps -aux 查看进程信息
虚拟内存:每个进程占有4G内存地址空间,这里的内存指的是虚拟内存
进程状态:
三态
就绪态: 进程具备运行条件,等待系统分配处理器以便运行
运行态:进程占有cpu处于运行状态
等待态:又称为阻塞态或者睡眠态,指进程不具备运行条件,正在等待某些条件的达成
五态
就绪态: 进程具备运行条件,等待系统分配处理器以便运行
运行态:进程占有cpu处于运行状态
等待态:又称为阻塞态或者睡眠态,指进程不具备运行条件,正在等待某些条件的达成
新建:创建一个进程的过程,直接表现为执行某个程序或者在程序中创建新的进程
终止:进程执行结束,完成回收的过程
D: 等待态,不可中断等待态
S: 等待态,可中断等待态
T: 等待态,暂停状态
R: 运行态
Z: 僵尸态
+: