Chinaunix首页 | 论坛 | 博客
  • 博客访问: 263716
  • 博文数量: 38
  • 博客积分: 2208
  • 博客等级: 大尉
  • 技术积分: 374
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-22 13:50
个人简介

没有介绍

文章分类

全部博文(38)

文章存档

2017年(2)

2014年(1)

2012年(2)

2011年(5)

2008年(28)

分类: LINUX

2008-08-10 09:22:43

只要想切换CPU的运行状态,即其优先级别,就要通过一道门。而从用户态进入系统态的途径也并不限于中断(或异常,或陷阱),还可以通过子程序调用指令CALL/JMP来达到目的。而且当中断发生时还可以安排一次任务切换,叫中断服务进程(任务)。

任务门包含有一个TSS段(必须在GDT中)选择码。当CPU因中断而穿过一个任务门,就会将任务门中的段选择码自动装入TR,使TR指向新的TSS,并 完成任务切换。CGP还可以通过JMP/CALL指令实行任务切换,当跳转或调用目标段实际上指向GDT表中的一个TSS描述符时,就会引起一次任务切 换。

         触发方式            效果
         CALL/JMP  直接到GDT表的一个TSS描述符      任务切换(装载TR)
任务门   CALL/JMP  硬件中断 任务切换(装载TR)
中断门   CALL/JMP  硬件中断            切换运行级
陷阱门   CALL/JMP  int 指令 调试                      切换运行级
调用门   CALL/JMP                                  任务切换(装载TR)
阅读(1396) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~