geekos-project3

2024-04-14 10:20
文章标签 project3 geekos

本文主要是介绍geekos-project3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、设计目标

        研究进程调度算法,掌握用信号量实现进程间同步的方法。为GeekOS扩充进程调度算法——基于时间片轮转的进程多级反馈调度算法,并能用信号量实现进程协作。

二、项目设计要求

    1实现src/geekos/syscall.c文件中的Sys_SetSchedulingPolicy系统调用,它的功能是设置系统采用的何种进程调度策略

    2、实现src/geekos/syscall.c文件中的Sys_GetTimeOfDay系统调用,它的功能是获取全局变量g_numTicks的值

    3、在kthread.c添加函数Change_Scheduling_Policy(),具体实现不同调度算法的转换

    4实现syscall.c中信号量有关的四个系统调用:sys_createsemaphore( )、sys_P( )、sys_V( )和sys_destroysemaphore( )。

三、 项目设计提示

(1)kthread.c添加函数Chang_Scheduling_Policy(int policy, int quantum),

        policy设置的调度策略quantum设置的时间片

        例如policy为 说明设置的是多级反馈队列调度算法,此时若g_SchedPolicy(为系统添加的标识算法的变量,初始化为0)为 ,说明当前的调度算法为轮转调度,要变成MLF(多级反馈队列调度算法)就必须把空闲线程放入3队列,若g_SchedPolicy为 ,说明当前是多级反馈队列调度算法,则返回;

        如果policy为 ,则说明设置的是轮转调度,此时若g_SchedPolicy为 ,则必须把4个队列变成一个队列,即所有的线程都在队列0上了。若g_SchedPolicy0,则返回


(2)在系统调用Sys_GetTi

这篇关于geekos-project3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/902765

相关文章

c++opencv Project3 - License Plate Detector

俄罗斯车牌识别案例:实时识别车牌,并且读取到指定文件夹中。 惯例先展示结果图: 对于摄像头读取图片进行车牌匹配,原理和人脸识别其实是一致的。 利用训练好的模型进行匹配即可。可参考: 对视频实现人脸识别-CSDN博客 具体代码: #include <opencv2/imgcodecs.hpp>#include <opencv2/highgui.hpp>#include <op

cmu15445 2023fall project3 详细过程(上)QUERY EXECUTION

首先,虽然会粘代码,但代码不全。 其次,文章基本没有一个字是我自己写的,代码都是粘的同门的,文字都是粘的网上的,可以看看我下面的参考文章。 QUERY EXECUTION task1/task2 一、SQL语句执行流程1 总体2 例子 二、bustub 表结构1 图的解读2 结合代码解读 Task #1 - Access Method Executors1 SeqScan1.1 思路1.

Project3 基于A*搜索算法迷宫游戏开发

Day1 实验要求: 1)迷宫游戏是非常经典的游戏,在该题中要求随机生成一个迷宫,并求解迷宫; 2)要求查找并理解迷宫生成的算法,并尝试用两种不同的算法来生成随机的迷宫。 3)要求游戏支持玩家走迷宫,和系统走迷宫路径两种模式。玩家走迷宫,通过键盘 方向键控制,并在行走路径上留下痕迹;系统走迷宫路径要求基于A*算法实现,输 出走迷宫的最优路径并显示。设计交互友好的游戏图形界面。 相关知识: