一步步编写操作系统 61 任务状态段 TSS

时间:2019-07-31 来源: 文化新闻

0b688f4d81634960ac8d0e15d792949f

I/O位图位于TSS中。它可能存在也可能不存在。它仅用于设置对某些端口的访问权限。没有它,默认情况下禁用对所有端口的访问。因为它可用,TSS的TSS限制(即实际大小-1)不固定。当I/O位图未包含在TSS中时,TSS的大小仅为104字节。话虽如此,当处理器执行一些IO指令时,如果当前权限级别低于IOPL,处理器会认为它可能只是为当前任务释放一些端口,因此它会找到I/O位。 TSS。如图所示,如果I/O位图不存在,即所有端口都被禁止,那么处理器将抛出异常。

在这里阅读,有两个问题需要解决:

处理器在哪里去TSS找到I/O位图?如何证明I/O位图不存在?

在TSS结构中,一个项是“TSS中I/O位图的偏移地址”,在TSS中偏移102个字节,占用2个字节的空间,这是图5-47的左上角。这里,用于存储I/O位图的偏移地址,即地址是TSS中以0开始的I/O位图的偏移量。如果TSS具有I/O位图,则用于保存其偏移地址,如图

所示

7584c476024a4f29acf8e9dc11d89f5b

如图所示,如果TSS中有I/O位图,它将位于TSS的顶部。这就是为什么TSS的实际尺寸不固定的原因。当包含I/O位图时,大小为“I/O位图偏移地址为”+ 8192 + 1个字节。该1字节的结尾是I/O位图中的最后一个0xff。它很长,稍后会解释。如果未包含I/O位图,则其大小最小为104字节。由于I/O位图偏移地址不固定,因此可以大于或等于104,因此在102字节的偏移量与TSS中的I/O位图之间可能存在空闲区域。

你看,由于I/O位图在TSS中,它的地址必须在TSS的大小范围内,即地址范围在TSS偏移量(104~TSS段限制)之间,如果偏移则如果地址不是在此范围内,即大于或等于TSS段限制限制(TSS大小-1),没有I/O位图。

现在为什么在IO位图的末尾有一个0xff?

在计算机系统硬件中,IO端口以字节为单位进行寻址,这意味着端口只能读写1个字节的数据。如果为一个端口连续读取和写入多个字节,则实际上是从端口号开始的多个端口读取。例如,in命令可以读取16位端口数据,即一次读取2个字节,假设端口0x234是16位端口:

在ax,0x234

这相当于

在al,0x234

在啊,0x235

当处理器读写端口时,如果当前权限级别CPL低于IO权限级别IOPL,则如果存在I/O位图,则处理器检查I/O中端口的相应位是否为0位图。如果在端口中读取多个字节,则处理器将不可避免地检查I/O位图中的多个连续端口。这些位必须全为0才能访问它们。

多个连续位可以跨越字节。例如,对应端口0x234的位是前一个字节的最后一位,对应于0x235的位是下一个字节的第0位,因此处理器必须放置这两个字。阅读和处理这些部分。

在大多数情况下,跨字节没有问题,但是当第一位在位图的最后一个字节中时,有一个问题,处理器必须读取多个字节,所以第二位的字该部分是边界,字节不再位于位图范围内。

要解决此问题,处理器要求位图的最后一个字节必须为0xFF。该字节有两个功能:

首先,处理器允许在I/O位图中取消映射所有端口,即I/O位图长度可以小于8KB,但位图的最后一个字节必须是0xFF。如果端口位于位图范围之外,则处理器将始终禁用默认访问。这样,如果位图的最后一个字节的0xFF属于所有65536个端口范围,则每个位的所有字节都表示禁止访问该字节表示的所有端口,这不是故障。

其次,如果字节超出了所有端口的范围,则它不用于映射端口,而是用作位图的边界标记,用于在位图的最后一个字节上“浪涌字节”。避免穿过TSS外的内存。

这就是位图中的最后一个字节必须为0xFF的原因。

您会看到I/O位图。我说它很生动。实际上,我们不使用它。这里的介绍是关于让每个人都知道IO访问如何工作。这只会是有益的。

当我到这里时,特权级别已经完成。本章结束了。友情提醒,我知道这一章还有点多。你已经很累了。现在结束了,所以你可以在这里跳过它。

[续]

新闻排行
  1. 文:楚善君6月过后,市场可能会关注优秀或意外公司的半年度报告。我建议大家关注它,比如房地产。有关详细?

    文:楚善君6月过后,市场可能会关注优秀或意外公司的半年度报告。我建议大家关注它,比如房地产。有关详细?...

  2. 合掌的礼仪,我们几乎是天天要用的,如在圣像前要合掌示敬,与人见面也合掌示礼。合掌看似简单,实表深广的

    合掌的礼仪,我们几乎是天天要用的,如在圣像前要合掌示敬,与人见面也合掌示礼。合掌看似简单,实表深广的...

  3. 由于《长安十二时辰》爆发红色,“国家十二小时”也首次亮相。长安第十二小时在唐代展示了美丽的图画和各种

    由于《长安十二时辰》爆发红色,“国家十二小时”也首次亮相。长安第十二小时在唐代展示了美丽的图画和各种...

  4.     7月8日  在市公安局的直接指挥下  新城分局联合商务中心区分局  成功侦破多起跨区域盗窃车内

        7月8日  在市公安局的直接指挥下  新城分局联合商务中心区分局  成功侦破多起跨区域盗窃车内...

  5. 生肖羊黄道十二宫的人实际上是非常有心智的,他们比天空高,所以当他们想要做某事时,生肖羊将不可避免地让

    生肖羊黄道十二宫的人实际上是非常有心智的,他们比天空高,所以当他们想要做某事时,生肖羊将不可避免地让...

  6. 5月29日,高德地图与中国气象局中国气象网联合发布了全国90多个公安交通管理部门《2019端午节出游预测报告?

    5月29日,高德地图与中国气象局中国气象网联合发布了全国90多个公安交通管理部门《2019端午节出游预测报告?...

  7. 地铁站将支持微信,支付宝,充值和补货刷卡手机可以在年内通过公交车实现(记者金克)昨天,市轨道交通指挥

    地铁站将支持微信,支付宝,充值和补货刷卡手机可以在年内通过公交车实现(记者金克)昨天,市轨道交通指挥...

  8. 六月节。《说文》曰:夏天,热也。它分为热量大小,月初小,月中大,现在热量仍然很小。《月令七十二候集解

    六月节。《说文》曰:夏天,热也。它分为热量大小,月初小,月中大,现在热量仍然很小。《月令七十二候集解...

  9. OnJuly6,a15-year-oldgirlfromahighschoolinYibinCounty,SichuanProvincewasunfortunatelykilled.Inthepast

    OnJuly6,a15-year-oldgirlfromahighschoolinYibinCounty,SichuanProvincewasunfortunatelykilled.Inthepast...

  10.   

      ...

日期归档
友情链接