首页 > 其他分享 >Ucore_lab1 相关

Ucore_lab1 相关

时间:2023-01-02 10:23:30浏览次数:68  
标签:Ucore iret 用户 lab1 指令 内核 相关 特权 切换

第一点是一个博客,很优秀的文章,包含了很多内容,借以引用。再在此基础上写点自己的笔记。

第二点的内容是我认为需要仔细阅读和学习的,很有帮助。

(君子生非异也,善假于物也)

 

下面是一些笔记:特权级切换

iret指令是中断服务子程序的返回指令

程序执行这条 iret 指令时,首先会从内核栈里弹出先前保存的被打断的程序的现场信息,即 eflags,cs,eip 重新开始执行;  如果存在特权级转换(从内核态转换到用户态),则还需要从内核栈中弹出用户态栈的 ss 和 esp,这样也意味着栈也被切换回原先使用的用户态的栈了; - 如果此次处理的是带有错误码(errorCode)的异常,CPU 在恢复先前程序的现场时,并不会弹出 errorCode。这一步需要通过软件完成,即要求相关的中断服务例程在调用 iret 返回之前添加出栈代码主动弹出 errorCode。

 

 x86特权级 0to3 :

计算机启动的时候的代码都是在内核态运行,通过中断切换特权级。产生中断是从0特权级到0特权级,不会发生切换栈的动作,会在当前栈压入一些内容,我们要将内核栈模仿成一个用户栈,压入SS SP ,将CPL改成3,通过iret指令完成特权级的切换。

 

x86特权级 3to0:

一旦产生中断,就会产生栈的切换,在内核栈中会压入用户态的SS SP CS IP 等信息,通过iret 指令还是会返回到3特权级,我们想让其留在0特权级,我们将修改栈,丢掉用户的SS, SP ,修改CS中的CPL为0。然后通过iret指令返回就完成了特权级的切换。

 

标签:Ucore,iret,用户,lab1,指令,内核,相关,特权,切换
From: https://www.cnblogs.com/wuyun--wy/p/17018200.html

相关文章

  • Stata:变量名称 及相关操作
    变量名称基本规则:由英文字母、数字或者_组成;需以英文字母或者_作为开头,区分大小写。举例合理名称:a1,a_1,_a1注意事项:“_”一般不作为首字母(因许多内部变量由“_”加字......
  • 在线视频项目学习笔记(三)—前台登录相关
    一、短信验证码接口分析1.首先第一点需要注意的就是短信验证码接口和登录接口不是一个接口,短信验证码接口是前端界面一点击发送验证码调用的,登录接口是前端在填上验证码以......
  • 人工智能相关赛事分享贴汇总
    引言从他人比赛经验中,总是可以学到很多东西我也不知道这是谁说的,反正从我的角度来看,这的确是对的。参加一场比赛,最直接的收获是自己在参与过程中针对不同的问题,做出......
  • GitChat活动:MyBatis 通用 Mapper 实现原理及相关内容
    MyBatis通用Mapper是一个可以让开发人员更方便使用MyBatis的扩展,通过简单的配置,可以方便的直接获取单表的常见操作,提供如select,selectAll,selectCount,delete,up......
  • 基于局部直方图相关算法的近似优化和提速。
    基于局部直方图的算法有很多很多,比如中值模糊、表面模糊、选择性模糊等等,这类算法有个通病,就是即使选择使用SIMD指令加速,因为其内在的特性,速度还是不能很......
  • 基于局部直方图相关算法的近似优化和提速。
    基于局部直方图的算法有很多很多,比如中值模糊、表面模糊、选择性模糊等等,这类算法有个通病,就是即使选择使用SIMD指令加速,因为其内在的特性,速度还是不能很......
  • 【Azure Developer】开发模式下使用AAD账号访问Azure Blob的相关参考
    问题描述开发模式下使用AAD账号访问AzureBlob的流程参考文件 问题解答第一步:先在AAD中注册一个APP,步骤可参考:将应用程序注册到Microsoft标识平台:​​https://docs.azur......
  • C/C++中时钟相关函数操作
    clocktick:时钟计时单元,一个时钟计时单元的时间长短是由CPU控制的。一个clocktick不是CPU的一个时钟周期,而是C/C++的一个基本计时单位。C/C++中的计时函数是clock(),而与......
  • lightdb/postgresql中的表空间及相关注意点
    一般来说,现在为了各司其职,都把硬盘做成了san,raid,至少lvm。但是仍然有一些用户希望可以指定表空间和索引,当然也包括冷热数据。在lightdb里面也支持该特性。如下:lightdb@p......
  • 基于局部直方图相关算法的近似优化和提速。
    基于局部直方图的算法有很多很多,我们已经研究这类算法有以下一些:1、中值滤波2、表面模糊3、选择性模糊4、中值锐化5、图像局部熵   ......