操作系统对系统任务和用户任务调度问题

本文探讨了操作系统如何管理系统任务和用户任务的调度,通过一个名为`scheduler`的函数接口进行实现,该接口接受系统任务和用户任务数组作为参数,用于在不同任务间切换,确保系统的高效运行。
摘要由CSDN通过智能技术生成
操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。其中,系统任务的优先级 < 50,用户任务的优先级 >= 50且 <= 255。优先级大于255的为非法任务,应予以剔除。现有一任务队列task[],长度为n,task中的元素值表示任务的优先级,数值越小,优先级越高。函数scheduler实现如下功能,将task[] 中的任务按照系统任务用户任务依次存放到 system_task[]数组和 user_task[] 数组中(数组中元素的值是任务在task[] 数组中的下标),并且优先级高的任务排在前面,优先级相同的任务按照入//队顺序排列(即先入队的任务排在前面),数组元素为-1表示结束。例如:
task[] = {0, 30, 155, 1, 80, 300, 170, 40, 99}           system_task[] = {0, 3, 1, 7, -1}          user_task[] = {4, 8, 2, 6, -1}

函数接口 void scheduler(int task[], int n, int system_task[], int user_task[])

#include <stdio.h>
#include <stdlib.h>

void printfdata(int data[], int n){
	int i;
	printf("\n");
	for(i = 0; i < n; i++){
		printf("%d\t", data[i]);
	}
	printf("\n");
}
/**
对数组排序,然后将在原来task中对应的下标(即index数组中的内容࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值