【发布时间】:2015-03-21 04:15:02
【问题描述】:
我有一个任务,我需要开发一个流程调度程序的模拟。我已经完成了大部分设置,但我一直在弄清楚实际安排流程的逻辑。现在,我创建了一个结构,其中包含进程的 pid、循环计数和内存需求。而且我使用了一个向量来保存所有 100 个进程,因此如果我愿意,我可以对它们进行排序,并在我安排它们时删除它们。
对于 5 个处理器,我刚刚创建了一个 int 数组,但我猜处理器应该有循环计数和内存限制?在那种情况下,可能是另一个结构?
我如何将进程实际分配给这 5 个处理器?有人可以帮我弄清楚吗?我只需要实现一个简单的FCFS算法。
void init_process_list(vector<process> &p_list) {
generator generate; // Random number generator class
process p;
for(int i = 0; i < process_count; i++) {
p.process_id = i;
p.cpu_cycles = generate.rand_num_between(cycle_lbound, cycle_ubound);
p.mem_footprint = generate.rand_num_between(mem_lbound, mem_ubound);
p_list.push_back(p);
}
}
// Initialize processor array
void init_processor_list(int *processor_list) {
for(int i = 0; i < processor_count; i++)
processor_list[i] = 0;
}
void schedule_processes(vector<process> &p_list, int *processor) {
}
int main() {
vector<process> process_list;
int cpu[processor_count];
init_process_list(process_list);
init_processor_list(cpu);
schedule_processes(process_list, cpu);
}
【问题讨论】:
-
快速浏览一下你的作业,他们可能希望你实现this
-
@Mints97 我其实需要实现一个简单的FCFS算法
-
好吧,听起来你走在了正确的轨道上 - 做的很简单,向 Google FCFS 了解一些示例伪代码或实际代码 - 你为什么在这里?我们帮助那些陷入困境而不是暂停的人......
-
FCFS 如何算作开发一种算法以最小化总时间?
标签: c++ algorithm scheduling