gpt4 book ai didi

c - 如何在 xv6 中实现优先级调度程序?

转载 作者:行者123 更新时间:2023-12-04 21:49:57 27 4
gpt4 key购买 nike

在xv6中实现一个优先级调度算法?

但是我无法理解如何处理这个调度。我可以使用此代码设置优先级。

int
set_priority(int pid,int priority)
{
struct proc *p;
//acquire(&ptable.lock);
//cprintf("Set Priority - %d \n",priority);
for(p = ptable.proc; p < &ptable.proc[NPROC]; p++){
if((p->pid == pid) || (p->parent->pid == pid)){
p->priority = priority;
return 0;
}
}
//release(&ptable.lock);
return -1;
}

最佳答案

首先需要在struct proc中添加一个字段(priority)

struct proc{
//
....
int priority; // priority of the process
}

其次,您现在可以在 proc.c 中编写自己的调度程序。

void scheduler(void){
for(;;){
//add your own priority scheduler here.
}
}

关于c - 如何在 xv6 中实现优先级调度程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28972542/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com