处理器管理与进程调度

一 .用图文描述组成进程的要素,并说明其作用

处理器管理与进程调度

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])

处理器管理与进程调度

上一篇:处理器管理与进程管理


下一篇:Jenkins Job迁移