软中断指令int $0x80的执行过程

它是陷阱类(编程异常)事件,因此它与异常响应过程一样。

将IDTi(i=128)中段选择符(0x60,内核代码就是这个表项)所指GDT中的内核代码段描述符取出,其DPL=0,此时CPL=3,因为int $0x80指令在用户进程中执行,因而CPL>DPL且IDTi的DPL=CPL,故未发生13号异常。这里是系统门

读TR寄存器,以访问TSS,从TSS中将内核栈的段寄存器内容和栈指针装入SS和ESP。从用户栈切换到内核栈,TSS有内核栈指针,得到内核栈栈顶,可以把用户的栈push到内核栈顶,这样就保护起来了。

依次将执行完指令int $0x80时的SS、ESP、EFLAGS、CS、EIP的内容(即断点和程序状态)保存到内核栈中,即当前SS∶ESP所指之处;

将IDTi(i=128)中段选择符(0x60)装入CS,偏移地址装入EIP。这里,CS:EIP即是系统调用处理程序system_call(所有系统调用的入口程序)第一条指令的逻辑地址。

执行int $0x80需一连串的一致性和安全性检查,因而速度较慢。从Pentium II开始,Intel引入了指令sysenter和sysexit,分别用于从用户态到内核态、从用户态到内核态的快速切换。

软中断指令int $0x80的执行过程相关推荐

  1. 大学计算机一条指令的执行过程实验,实验四 一条指令的执行过程

    <实验四 一条指令的执行过程>由会员分享,可在线阅读,更多相关<实验四 一条指令的执行过程(2页珍藏版)>请在人人文库网上搜索. 1.实验四 一条指令的执行过程学号:11201 ...

  2. 通过分析一个C程序的汇编指令执行过程,理解计算机的工作。

    郑德伦 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 首先创建一个C程序的文 ...

  3. 1.2.4 计算机的工作过程(从源程序到可执行文件、指令执行过程的描述)

    文章目录 1.计算机工作过程分为三步骤 2.从源程序到可执行文件 (1)预处理阶段 (2)编译阶段 (3)汇编阶段 (4)链接阶段 3.指令执行过程的描述 举个例子 (1)取指令:PC->MAR ...

  4. CPU结构与指令执行过程简介

    CPU(Central Processing Unit)是计算机中进行算术和逻辑计算处理指令的主要部件. CPU结构 CPU由通用寄存器组,运算器,控制器和数据通路等部件组成. 寄存器包括 数据寄存器 ...

  5. 6 计算机组成原理第五章 中央处理器 CPU功能和结构 指令执行过程

    文章目录 1 CPU功能和基本结构 1.1 CPU的功能 1.2 运算器的基本结构 1.3 控制器的基本结构 1.4 CPU基本结构 1.5 CPU的功能和基本结构小结 2 指令周期和数据流 2.1 ...

  6. push指令的执行过程

    push指令的执行过程 转载于:https://www.cnblogs.com/LoveFishC/archive/2012/07/25/3845609.html

  7. 大学计算机一条指令的执行过程实验,实验4 一条指令的执行过程 实验报告(4页)-原创力文档...

    实验4??一条指令的执行过程??实验报告 学号????????????姓名??????????? ???????班级:??? ?????????实验时间:? ????年??月??日? ? 实验报告表4 ...

  8. CPU内部组成结构及指令执行过程

    计算机的基本硬件系统由运算器.控制器.存储器和输入.输出设备五大部件组成.运算器和控制器等部件被集成在一起统称为中央处理单元(Central Processing Unit,CPU). CPU的功能 ...

  9. 1.3.3 系统调用(执行过程、访管指令、库函数与系统调用)

    文章目录 1.系统调用知识框架图 2.系统调用和库函数的区别 3.系统调用的执行过程 1.系统调用知识框架图 2.系统调用和库函数的区别 3.系统调用的执行过程 参考:<2021王道操作系统考研 ...

最新文章

  1. rails 3 使用 cucumber 和rspec 進行 測試
  2. go get 获取被墙依赖包解决方法
  3. lora终端连接云服务器_腾讯云服务器上安装mysql,并用navicat连接
  4. 基于以太坊网络的智能合约开发、部署和测试(入门)
  5. mvc2 mvc_每个人都知道MVC…
  6. python打印多个变量_在Python中打印多个变量
  7. iOS:UIWebView scrollView 的分页滑动问题
  8. scala zip--拉链操作入门
  9. triz矛盾矩阵_TRIZ—创新性问题解决理论与实务培训
  10. Atitit 软件项目的一整套解决方案(gui界面,中间,存储数据库,图像处理,全文搜索)attilax总结
  11. ansible自动运维
  12. 计算机毕业设计ssm图书管理系统
  13. Quartus下软硬核固化到EPCS中(JTAG)延续上篇
  14. 智慧能源管控系统在钢铁企业的设计与应用
  15. 信息数据管理思维导图(Xmind)
  16. MySQL-7 DDL约束 标识列 TCL事务控制语言 视图view
  17. MATLAB | 那些你不得不知道的MATLAB小技巧(四)
  18. 【转】Python之获取每日涨停板股票数据并绘制K线图!
  19. python练习题——for循环之“一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?”
  20. 哪些网站需要做icp备案申请?

热门文章

  1. 【学习】关于 postman与国产apipost的区别
  2. 计算机 游戏13关,优秀游戏盘点:22款PC平台玩家必玩游戏 大作齐聚
  3. 第十届“图灵杯”NEUQ-ACM程序设计竞赛个人赛解题报告
  4. linux YUM 源 —— 网络源的配置 包教包会~ 详解
  5. 牛客小白月赛10 D-饥饿
  6. HTML+CSS+JS实现 ❤️飞行人物图标动画特效❤️
  7. perl学习—文本比对程序
  8. mongodb remove.deletemany批量删除效率比较
  9. 2023年教资证件照是几寸的?如何制作二寸证件照?
  10. VBA Word ParagraphFormat.FirstLineIndent