MIT6.828 HW5 CPU alarm

本文介绍如何在xv6操作系统中增加周期性警告功能,通过新增alarm系统调用,使得应用程序能够定期执行特定任务,限制进程CPU使用并确保执行周期性任务。

  在这次练习中,我们将为xv6增加1个特性支持周期性发警告给进程。这对计算敏感的进程很有帮助,限制他们CPU的使用时间,也让进程在计算的同时执行一些周期性任务。更通用地来说,我们将实现1个用户级别的中断异常处理。在这里会用到上次系统调用的实现机制。
  增加1个alarm(interval, handler)系统调用。当1个应用调用alarm(n, fn)时,那么每隔n个CPU时钟节拍,内核将使应用调用fn函数。当fn函数返回时,应用从调用处重新开始执行。
  用户测试的用户程序:

#include "types.h"
#include "stat.h"
#include "user.h"

void periodic();

int
main(int argc, char *argv[])
{
  int i;
  printf(1, "alarmtest starting\n");
  alarm(10, periodic);
  for(i = 0; i < 
MIT6.828的作业5是关于向xv6操作系统添加一项功能的练习。具体来说,这个功能是在使用CPU时间的情况下定期向进程发出警报。这对于限制消耗CPU时间的计算密集型进程或者对于想要占用CPU但还想采取一些定期操作的进程非常有用。此练习还涉及实现用户级中断/故障处理程序的原始形式。 作业5的主要目标是让学生熟悉操作系统的中断和异常处理机制,并通过实现定时器中断处理程序来实现进程间时间共享的功能。通过理解并修改操作系统内核的代码,学生可以学习操作系统的设计与实现。这是一项对计算机专业学生来说非常重要的课程任务,因为操作系统是计算机系统中至关重要的组成部分,对于理解计算机系统的原理和运行机制有着重要的影响。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [MIT6.828-2016-中文:MIT 6.828(操作系统)的中文版本](https://download.csdn.net/download/weixin_42098104/14998195)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [MIT6.828_HW5_ XV6 CPU Alarm](https://blog.csdn.net/userXKk/article/details/107871961)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值