PA3 - 穿越时空的旅程: 批处理系统

PA3 - 穿越时空的旅程: 批处理系统

穿越时空的旅程

概览

需求

程序内部的执行流切换:函数A和函数B可以简单地通过call/jal指令实现;

程序之间的执行流切换:因为安全问题,程序Prog1和程序Prog2的执行流切换只能交给操作系统和硬件来共同实现。

为了满足程序之间的执行流切换,需要硬件和操作系统(或AM)共同协作。

实现目标

通过软硬件协作,实现程序的执行流切换

下面本节具体例子来帮助理解:通过am-tests中的yield test测试触发一次自陷操作!yield test流程

实现的功能概览

  • 实现“硬件响应机制”
  • 实现CTE的异常处理功能

注意

本节中的描述中,“操作系统”其实就是一个管理各种硬件资源和软件资源的软件。在本节“穿越时空的旅程”中,硬件就是NEMU本身,而与硬件直接交互的“操作系统”软件就是库函数AM。所以实现最终目标的方法,就是通过实现NEMU和AM的相关指令和函数,来实现程序的执行流切换.

硬件的异常响应机制

为满足程序之间的执行流切换,硬件提供了名为“异常响应机制”的功能。

  • 扩充寄存器
  • 添加指令

CTE的异常处理功能

异常入口地址是硬件和操作系统(或AM)约定好的, 接下来的处理过程将会由操作系统来接管

初始化CTE环境

cte_init()

异常处理

__am_asm_trap

  • 保存上下文
  • 异常处理函数__am_irq_handle()
  • 回复上下文
  • 异常返回指令

自陷操作举例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/828374.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

更快更强 | HP15加热台新品78折!Max温度350度,200度只需60秒!30~150W功率可调,恒温加热和回流焊双模式!

【新品优惠】正点原子HP15加热台更快更强!新品首发78折!最高温度可达350度,200度只需60秒!30~150W功率可调,恒温加热和回流焊双模式!HP15是正点原子全新推出的迷你恒温加热台,设备支持30~150W功率可调,在150W功率下从室温升至200度仅需60秒,可控温度高达350度,同时支…

MySQL登录报socket错误

现象 MySQL本地无法登录报错如下# mysql -uroot -p ERROR 2002 (HY000): Cant connect to local MySQL server through socket /tmp/mysql.sock修复方法 查看my.cnf配置文件确认mysql.sock位置带socket登录# mysql -uroot -p --socket=/var/lib/mysql/mysql.sock

Linxu 安装 Redis

1、下载redis 官网地址:https://redis.io/downloads/#redis-stack-downloads 或wget直接获取:wget https://download.redis.io/redis-stable.tar.gz 2、安装(不清楚linux命令的可以自行查询,make编译源文件,make install安装)1 # mkdir /usr/local/redis 2 # tar xf redis-…

调度算法的评价指标

调度算法的评价指标 ‍ ​​ ‍一、CPU利用率 CPU工作的时间占总时间的比例。 $$ CPU利用率=\frac{CPU工作时间}{总时间} $$ 计算某种设备的利用率类似。 ​​ ‍ 二、系统吞吐量 单位时间内完成作业的数量 $$ 系统吞吐量=\frac{总共完成的作业数}{总时间} $$ ​​ ‍ 三、周转…

进程调度的时机、方式、切换与过程

进程调度的时机、方式、切换与过程 (理解) ​​ ‍一、进程调度的时机 ​​ 有的系统中,只允许进程主动放弃处理机。 有的系统中,进程可以主动放弃处理机,当有更紧急的任务需要处理时,也会强行剥夺处理机(被动放弃)。 ‍ ​​ 对2.的补充: ——临界资源: 一个时间段内…

Acunetix v24.9 发布下载,新增功能概览

Acunetix v24.9 (Linux, Windows) - Web 应用程序安全测试Acunetix v24.9 (Linux, Windows) - Web 应用程序安全测试 Acunetix | Web Application Security Scanner 请访问原文链接:https://sysin.org/blog/acunetix/,查看最新版。原创作品,转载请保留出处。 作者主页:sysi…

线程的实现方式和多线程模型

线程的实现方式和多线程模型 ‍ ​​ ‍一、线程的实现方式 (一)用户级线程 ​​ ‍ (二)内核级线程 ​​ ‍ 二、多线程模型 在支持内核级线程的系统中,根据用户级线程和内核级线程的映射关系,可以划分不同的多线程模型 (一)一对一模型 ​​ ‍ (二)多对一模型 和上…

分享一个替代ping的小工具Hping3

在网络故障排查中,ping 命令是最基础也是最常用的工具,然而,它的功能相对简单,局限性明显。对于复杂的网络环境,使用更强大的工具显得尤为重要。在这方面,Hping3无疑是一个出色的选择。本文将详细介绍Hping3的功能、应用场景以及与Ping的对比,帮助网络工程师更有效地排查…

进程的状态与转换、进程的组织

进程的状态与转换、进程的组织 一、进程的状态与转换 理解: 某项进程的运行一方面需要CPU处理器的资源,一方面可能还需要其他系统资源。 拥有其他系统资源,仅等待CPU的时间片分配,此状态为就绪态。 进程运行过程中使用“系统调用”的方式获取其他系统资源,但并未马上获得,…

GoPro 语音命令 All In One

GoPro 语音命令 All In One 什么是语音控制指令? 使用语音控制功能,您可以在不靠近摄像机的情况下更改摄像机拍摄模式、拍摄照片、开始录像、停止录像等。向摄像机发出一个语音指令,它就会执行相应的操作,就这么简单。GoPro 语音命令 All In One 什么是语音控制指令? 使用…

【Semantic Kernel】RAG(检索增强生成)

RAG(Retrieval-Augmented Generation)是一种结合信息检索和生成模型的自然语言处理方法。它通过检索相关文档片段作为生成模型的上下文,提高生成文本的准确性和相关性。RAG广泛应用于问答系统、对话系统和文本摘要等领域,兼具高效性和灵活性。公司的客户机器人都特别适合。…