资源简介
大学操作系统课程 综合实验 单处理器系统的时间片轮转进程调度 算法,使用python实现。带注释。
代码片段和文件信息
#coding=utf-8
N = 0 #进程的数目
finish = None
ready = None
tail = None
run = None
class PCB:
name = ‘‘
prio = 0 #进程优先级
q = 0 #时间片大小
time = 0 #剩余时间
count = 0 #循环论转法一个时间片内进程运行时间
state = ‘W‘ #状态标识:‘R‘:运行, ’W‘:等待, ‘F‘:结束
next = None #指向下一个进程
def insert(e): #插入元素到tail
global tail
tail.next = e
tail = e
e.next = None
def inQueue(): #调度就绪队列的第一个进程投入运行
global ready run
if ready is not None:
run = ready
ready = ready.next
run.state = ‘R‘
run.next = None
else:
run = None
def printtitle(chose): #打印表头
if chose in {‘p‘ ‘P‘}:
print ‘name time priority state‘
else:
print ‘name time count q state ‘
def printInfo(chose pcb): #打印每一行的状态信息
if chose in {‘p‘ ‘P‘}:
print ‘%s\t%d\t%d\t\t%c\n‘%(pcb.name pcb.time pcb.state)
else:
print ‘%s\t%d\t%d\t%d\t%c\n‘%(pcb.name pcb.time pcb.count pcb.q pcb.state)
def printAll(chose):#打印每一次执行完的所有进程状态
global run ready
printtitle(chose)
if run is not None:
printInfo(chose run)
pcb = ready
while pcb is not None:
printInfo(chose pcb)
pcb = pcb.next
pcb = finish
while pcb is not None:
printInfo(chose pcb)
pcb = pcb.next
def roundRunInit(chose):#队列初始化
global N run ready finish tail
print ‘>>>>>>>>
相关资源
- CpuMemSets在Linux操作系统中的实现
- python实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
评论
共有 条评论