- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个结构 vector ,结构看起来像这样:
struct myData{
int ID;
int arrivalTime;
int burstTime;
};
用这些数据填充我的 vector 后:
1 5 16
4 7 12
3 12 4
2 7 8
其中每一行都是一个单独的结构 ID(任意,不表示到达顺序)、arrivalTime 和 burstTime,我将如何使用“for”或“while”循环遍历我的 vector 索引并计算数据我可以打印出这样的东西的方法吗?
Time 0 Processor is Idle
Time 5 Process 1 starts running
Time 21 Process 2 is running
Time 29 Process 4 is running
Time 41 Process 3 is running
我认为我可以做到的方法是让一个整数跟踪当前时间(当前时间是已经运行的进程的突发时间的总和)但我似乎无法弄清楚一种计算空闲时间(当处理器没有做任何事情并且新任务尚未到达时)以及跟踪其他数字的算法。为了简单起见,我只是决定当两个进程同时到达时,我将处理 ID 号较小的进程。我知道我没有在这里放太多代码来演示我想做什么,但我希望我已经解释得很清楚了。我正在寻找解决此问题的伪代码算法,但我不会拒绝已编码的内容(在 C++ 中?)。
作为附加说明,如果我无法清楚地表达我如何访问我的数据,则:
cout << structVector[0].ID << "\n";
cout << structVector[0].arrivalTime << "\n";
cout << structVector[0].burstTime << "\n";
打印出来
1
5
16
如果您对伪代码或实际代码有任何帮助,我们将不胜感激!!!多次阅读这篇文章后,我意识到我对这个问题的回答非常笼统,但我希望得到一些帮助,只是了解如何计算这些数据。
最佳答案
首先,根据到达时间对 vector 进行排序。然后下面的代码将完成您正在寻找的东西。
int i = 0, time = 0;
while (i < vec.size())
{
if (vec[i]. arrivalTime > time)
cout << "Time " << time << "process is idle";
time += vec[i].arrivalTime;
cout << "Time " << time << " Process " << vec[i].ID << " is running" << endl;
time += vec[i].burstTime;
i++;
}
关于c++ - 我将如何实现 FCFS 处理器调度模拟器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12767924/
我正在为 FCFS 调度编写这段代码。但在 Linux 中,这是给“段错误”。如何纠正这样的错误? #include #include float fxn(); int main() { float
我正在尝试模拟 FCFS 调度程序,我这样做的方式是,当线程进入其中时,如果它不在队列中,我将其推送到队列中,但如果是,则检查是否有线程位于队列的头部(第一个),并且作业的剩余时间> 0。我的问题是如
为什么 fcfs 从 0 99 到 99 到 198 而对于Round robin,我不明白为什么第一个作业完成时间是500。 解释和示例会有所帮助,谢谢 最佳答案 在 FCFS 下,作业 1 的等待
我有一个结构 vector ,结构看起来像这样: struct myData{ int ID; int arrivalTime; int burstTime; }; 用这些数据
这是我对 FCFS(先来先服务 - CPU 调度算法)的定义: Process CPU Burst Arrival Time p1 4
在基层队列的多级反馈调度中,进程以循环方式循环,直到它们完成并离开系统。基级队列中的进程也可以按照先到先得的原则进行调度。为什么不能使用最短作业优先 (SJF) 算法而不是先来先服务 (FCFS) 算
我有6个进程如下: -- P0 -- arrival time = 0 burst time = 10 -- P1 -- arrival time = 110 burst time
这是我的 C 代码。我正在尝试模拟 FCFS 调度程序。通过读取命令行参数,我创建了一个计时器来模拟时间。每次它增加时,我都会检查进程是否到达(使用数组),如果到达,我将其放入 LinkedList
在 C 语言中,假设为每个算法提供了完全相同的一组进程,先到先得、最短作业优先和循环法之间的周转时间是否相等?或者调度算法之间会有所不同吗? 最佳答案 通常,实现先来先服务 (FCFS) 和最短作业优
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
有人可以检查并修复我的代码吗,我面临以下错误: main.cs(80,10):错误 CS1525:意外符号 =', expecting ,' main.cs(80,25):错误 CS1525:意外符号
是否有任何可能 2 进程 拥有 到货时间相同在 FCFS调度在操作系统中。 最佳答案 在具有多个处理器的机器上,两个处理器可能同时发出请求。然而,假设核心 FCFS 的队列是一个单一的共享数据结构,那
我卡在了我目前的任务上,主要是因为我在很长一段时间没有使用 C 后不太精通。 我们需要制作一个 FCFS(先到先得)调度算法模拟器,它可以简单地遍历并遍历每个进程将发生的所有时间事件,并在它们完成进程
我是一名优秀的程序员,十分优秀!