Java如何动态模拟操作系统进程调度算法
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"Java如何动态模拟操作系统进程调度算法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java如何动态模拟操作系统进程调度算法"吧!实验
千家信息网最后更新 2025年01月19日Java如何动态模拟操作系统进程调度算法
本篇内容主要讲解"Java如何动态模拟操作系统进程调度算法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java如何动态模拟操作系统进程调度算法"吧!
实验目的
通过对进程调度算法的模拟,进一步理解进程的基本概念,加深对进程运行状态和进程调度过程、调度算法的理解。
设备与环境
硬件设备:PC机一台
软件环境:安装Windows操作系统,并安装相关的程序开发环境,如C \C++\Java 等编程语言环境。
实验内容
实验采用了java语言编程模拟N个进程采用动态高优先权优先进程调度算法。该算法就是按照优先权的大小运行进程,如果一个时间片内未运行完,则将优先权数减3后再插入到链表中按priority的顺序进行排序找到最大的priority作为下一个运行进程且在就绪队列里面的进程priority会加1。
主模块:
动态priority排序模块:
用来保证头部永远最大
到达时间进入就绪状态模块:
计算周转时间和带权周转时间:
实验结果及分析
输入的信息
初始权值都为100,needtime为还需要的时间
进程 到达时刻 服务时间
A03
B26
C44
D65
E82
以A为例:
最后结束时:
部分代码展示
//创建结构class PCB{ String ID; int priority=-1; int cputime;//服务的时间 int needtime;//进程还需的时间 String state="wait"; int arrivetime; PCB next; public PCB(String ID,int priority,int cputime,int arrivetime){ this.ID=ID; this.priority=priority; this.cputime=cputime; this.arrivetime=arrivetime; }}
判断是否到达,进程进入时间for(int i=0;i //将进程转为就绪态并排序public static void sort(PCB pcb){PCB tmp=null; if(ready==null){//当头结点为空 ready=pcb; tail=pcb;} else {if(pcb.priority>ready.priority){//如果这个结点priority大于头priority pcb.next=ready; ready=pcb;} else { boolean m=false; tmp=ready;//q while (m==false){ if(tail.priority>=pcb.priority){//插入尾端 tail.next=pcb; tail=pcb; pcb.next=null; m=true; } else { if(tmp.priority>=pcb.priority&&pcb.priority>tail.priority){//逐渐遍历插到tmp前 pcb.next=tmp.next; tmp.next=pcb; m=true; } else { tmp=tmp.next;到此,相信大家对"Java如何动态模拟操作系统进程调度算法"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
进程
时间
算法
调度
动态
操作系统
系统
环境
实验
运行
内容
模块
排序
最大
优先权
状态
结点
设备
语言
周转
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
杭州项目软件开发机构
网络安全法六个重要事项
电信网络安全法第二十二条
ionic重复加载数据库
河南电商外贸软件开发公司
关键信息基础设施与网络安全
自考软件开发与设计
优点服务器插硬盘
靠谱的进销存软件开发定制公司
超玩先锋为什么选不了服务器
深圳海德堡网络技术有限公司
网络安全七条底线的要求
电信恢复流量数据库
软件开发五年什么都不会
数据库不采集数据
FTP服务器如何启动项目
三层交换网络安全吗
国产化服务器
数据库cpu占用总是100
sql数据库维护需要掌握什么
服务器那家好
全省网络安全责任制
长航局网络安全
数据库双精度数据
天津市软件开发岗位
常用数据库语言学什么
穿越火线连接服务器时间长
开福区软件开发工程师培训
csgo查看服务器列表
网络技术中心部门职责