# Scheduling-algorithms-sjf-and-hrrn **Repository Path**: fzr123/Scheduling-algorithms-sjf-and-hrrn ## Basic Information - **Project Name**: Scheduling-algorithms-sjf-and-hrrn - **Description**: You can learn to implement a Scheduling algorithms sjf and hrrn algorithm using C language. - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-12-25 - **Last Updated**: 2024-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 调度算法实验:SJF与HRRN 在本实验中,学习如何实现两种非抢占式(Non-preemptive)调度算法:短作业优先(SJF)调度算法和最高响应比优先(HRRN)调度算法。 ## 实验内容 ### 题目一:SJF调度算法 假设系统中有10个进程,每个进程的到达时间(介于1到20之间的整数)和需要的运行时间(介于10到50之间的整数)都是通过随机数生成的。你的任务是模拟实现短作业优先(SJF)调度算法。实验结果应包括: - 这10个进程的执行顺序。 - 每个进程的等待时间。 - 所有进程的总平均等待时间。 ### 题目二:HRRN调度算法 同样假设有10个进程,每个进程的到达时间和需要的运行时间也是随机生成的。你需要模拟实现最高响应比优先(HRRN)调度算法。实验结果应包括: - 这10个进程的执行顺序。 - 每个进程的等待时间。 - 所有进程的总平均等待时间。 ## 实验提示 - 本次实验不需要使用线程。 - 两种调度算法都是非抢占式的,即一旦进程获得CPU,它将一直执行直到结束。 - 实现一个排队器函数,用于确定下一个获得CPU的进程。 - 首先,生成10个进程,包括它们的到达时间、需要运行的时间以及优先级(由随机数产生)。 - 然后,使用排队器来决定进程获得CPU的顺序。 - 对于HRRN算法,需要为每个进程设置一个变量,用来记录其动态优先级。