ToB企服应用市场:ToB评测及商务社交产业平台
标题:
操作系统实验——进程管理的算法实现
[打印本页]
作者:
王國慶
时间:
2023-12-1 17:27
标题:
操作系统实验——进程管理的算法实现
前言
笔者在大学下属的事业单位上班,最近去帮着带下操作系统的实验课,这里随手水点参考代码,欢迎各位领导老师莅临指正
实验目标
编写一个简单的进程调度器
实验内容
进程控制块(PCB)的定义与管理
进程调度算法的实现
进程创建、销毁和切换
给定一批进程对比3-4种调度算法的时间(自选算法)
实验参考答案
[code]#include #include #include using namespace std;// 进程控制块(PCB)struct ProcessControlBlock{ // 进程ID int processID; // 到达时间 int arrivalTime; // 执行时间 int burstTime; // 等待时间 int waitingTime; // 周转时间 int turnaroundTime;};// 先来先服务 (FCFS) 调度算法void FCFS(vector &processes){ int currentTime = 0; for (int i = 0; i < processes.size(); i++) { if (processes
.arrivalTime > currentTime) { currentTime = processes
.arrivalTime; } // 计算等待时间 processes
.waitingTime = currentTime - processes
.arrivalTime; // 执行进程 currentTime += processes
.burstTime; // 计算周转时间 processes
.turnaroundTime = currentTime - processes
.arrivalTime; }}// 最短作业优先 (SJF) 调度算法void SJF(vector &processes){ int currentTime = 0; vector remainingProcesses = processes; while (!remainingProcesses.empty()) { int shortestJobIndex = -1; int shortestJobTime = INT_MAX; for (int i = 0; i < remainingProcesses.size(); i++) { if (remainingProcesses
.arrivalTime
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4