一 .用图文描述组成进程的要素,并说明其作用
1.进程控制块用来存储进程的标识信息、现场信息和控制信息
2.进程程序块是被进程执行的程序,规定进程一次运行所应完成的功能
3.进程核心栈,每个进程捆绑一个,进程在内核态工作时使用,用来保存中断/异常现场,保存函数调用的参数、局部变量和返回地址等
4.进程数据块,是进程的私有地址空间,存放各种私有数据,用户栈也在数据块中开辟,用于在函数调用时存放栈
5.标识信息用于唯一地标识一个进程,分为用户使用的外部标识符和系统使用的内部标识符
6.现场信息用于保留进程在运行时存放在处理器现场中的各种信息。
7.控制信息用于管理和调度进程。
二.用图文描述什么是进程切换,为什么进行进程切换,进程切换的步骤?
进程切换步骤:保存被中断进程的处理器现场信息;修改被中断进程PCB的有关信息,如进程状态等;把被中断进程的PCB假如相关行列;选择占用处理器运行的另一个进程;修改被选中进程PCB的有关信息,如改为就绪态;设置被选中进程的地址空间,恢复存储管理信息;根据被选中进程的上下文信息来恢复处理器现场。
进程切换原因:使程序运行的更加顺畅,保证高优先级的进程优先进行。
三、用图文描述模式转换、进程切换、进程状态转换三者之间的关系
四、python练习:
观察父进程、子进程
import time for i in range(5): print(i) time.sleep(3)
观察进程运行状态
import psutil import os os.getpid() psutil.Process()
输入多个作业的作业编号,到达时间,所需CPU时间,形成列表,以备算法使用。
jobs=[] for i in range(3): job=input('请输入作业编号,到达时间,所需CPU时间:') jobs.append(job) for i in range(len(jobs)): print(jobs[i])