0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入了解Demo与操作系统

jf_78858299 来源: 酸奶盖子 硬件底裤 作者: 酸奶盖子 硬件底 2023-02-01 16:01 次阅读

序:本文将简述实模式、保护模式与笔者对操作系统的形象化了解

一、实模式与保护模式

X86 CPU保护模式是最值得深入研究的问题。要搞清楚保护模式需要先了解实模式,实模式与保护模式有古代王权更替的味道。

实模式是8086时代的产物,8086的寄存器都是16位的,其中AX,BX,CX,DX又可以拆分为高8位,与低8位寄存器使用^[1]^。8086有20条地址线,换而言之8086寻址空间有1MB!

8086采用段加偏移的方式进行内存访问,理论上可以寻遍1MB空间,而其在1MB的空间中没有访问限制,不管是内核程序还是用户程序,这就给程序运行留下了隐患。

若程序A在0x00000x0051空间储存运行,程序B在0x00800x00ff储存运行,在特定情况下,程序B向0x0031~0x0070写入数据,那程序A数据便被覆盖造成程序A执行错误。如果程序A是内核的基础性程序,那代价将是巨大的。

英特尔注意到了该问题的严重性,在后续的80286便推出了保护模式。80286有24条地址线,在保护模式下CPU的段寄存器将不再保存段地址,转而保存段选择子,真实的段地址将保存在段寄存器描述符的高速缓存中(24位),当80286进入保护模式将获得16MB寻址空间。

由于引入了段选择子,段选择子记录了内存的访问权限,低权限程序将失去访问高权限内存的资格,增加了系统的安全性与稳定性。

80286还是16位处理器,虽然有24根地址线,但由于寄存器还是16位,即使运行在保护模式下段长度也无法超过64KB,加上不久后32位处理器时代来临,16位保护模式就鲜为人知。

80386是Inter第一款32位产品,其完全兼容了8086处理器,在实模式下80386将寄存器低16位当作8086寄存器使用,在实模式下80386相当于一块飞快的8086,同时386提供V86模式,在这种模式下可以模拟成多块8086。80386寻址空间达到了4GB,加上保护模式的应用,造就了386的划时代意义^[2]^。

二、什么是操作系统

从8086的实模式到32位386的保护模式,从段加偏移的寻址方式到根据段选择子寻址的过程,我们会愈发觉得操作系统就像一个厂长,而处理器如同一个智商不高的仓库管理员。

仓库管理员的日常工作就是出库、入库、货物移库、按照各种表格管理货物,处理器的工作也是这样的。他手下有AX,CX,DX,BX,SP,BP几大仓库,还有ES,CS,SS,DS,SI,DI工人,加上FS,GS两个临时工;仓库门口有一个大黑板,上面是各种标志寄存器的值,管理员手上有张大表格叫GDT(全局描述符表),还有几个记事本,叫LDT(局部描述符表),每种记事本只能使用特定的笔写,GDT的笔GDTR,LDT的笔叫LDTR。

操作系统是厂长,现在有一个单子:要向屏幕省输出一行文字。操作系统下令,将AX,BX等几个仓库里面的货物先挪到空地(栈)上,将一些新货物(指令、数据)放进去。接着指示货车将这些货物运到0x3d4,0x3d5市(屏幕省省会)。货物运到后,随车的管理员下来将货物名单一个接着一个的读,同时工人将读出名字的货物搬下来送给货主,于是我们就会看到屏幕出现文字了。整个过程处理器只是按操作系统给的指令将货物调度,至于这些指令、货物的意义它是不知道的。加减乘除不过是货物的累积与消除,两件货物叠加在一起就是加法,多件货物叠加就是乘法;有些货物出仓就是减法;将货物按5个归堆,堆数就是商,5个是除数,货物总量是被除数,如果有些货物不足一堆,那就是余数。所有东西都是自然而然。

有时候一连来几个单子(任务)那处理器会拿出GDT和LDT分配每个单子的先后顺序。在保护模式还引入了页管理机制,其作用就是按照各个货车的货物大小多少给他们分配落货地点。而大名鼎鼎的中断机制不过是厂区或者厂区所在地出现意外操作系统根据预案采取处理方法的手段。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5037

    浏览量

    117765
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10451

    浏览量

    206583
  • 操作系统
    +关注

    关注

    37

    文章

    6290

    浏览量

    121901
收藏 人收藏

    评论

    相关推荐

    深入了解示波器

    深入了解示波器
    发表于 11-14 22:32

    专家开讲:深入了解电池技术 ──Part 1

    。笔者不会一一详细介绍所有的电池技术,只选择一些常见或是值得认识的;而在接下来的专栏里,笔者将开始介绍电池分类、常见规格以及专业术语,如果你有特别想知道的电池技术,欢迎留言!扩展阅读:专家开讲:深入了解
    发表于 08-18 09:33

    专家开讲:深入了解电池技术──Part 3

    资深工程师 Ivan Cowie 的「深入了解电池技术」专栏Part 3来啰!这次要介绍的是铅酸电池(lead-acidbatteries)技术。铅酸电池是在1859年由法国物理学家Gaston
    发表于 08-18 09:37

    单片机的深入了解

    项目名称:单片机的深入了解!项目是否开源:否申请开发板数量:1 块申请人团队介绍:我们团队由五个人组成,我们打算开始着手单片机的程序改编,设计一些比较特殊新颖的东西!希望给以支持!
    发表于 10-12 20:00

    深入了解LabVIEW FPGA资料分享

    深入了解LabVIEW FPGA
    发表于 05-27 08:35

    深入了解独立式数据采集系统CompactDAQ

    深入了解独立式数据采集系统CompactDAQ
    发表于 05-11 07:10

    深入了解主动电扫描阵列(AESA)雷达系统

    深入了解主动电扫描阵列(AESA)雷达系统
    发表于 05-24 06:51

    了解Android操作系统和Chrome操作系统

    了解Android操作系统和Chrome操作系统等嵌入式Linux,华为更新向导仅用于更新华为模块固件的工具。该工具符合华为设备的接口,禁止应用于任何其他制造商的设备。升级华为模块必须遵守以下规则
    发表于 11-04 08:37

    示波器的深入了解

    示波器的深入了解 引言自然界运行着各种形式的正弦波,比如海浪、地震、声波、爆破、空气中传播的声音,或者身体运转的自然节律。物理世界里,能
    发表于 11-04 11:53 52次下载
    示波器的<b class='flag-5'>深入了解</b>

    带你深入了解光耦

    电子发烧友网带你深入了解光耦相关知识,讲述光耦的作用,光耦原理及各种光耦型号和替代型号,让大家全面了解光电耦合器
    发表于 03-16 16:43
    带你<b class='flag-5'>深入了解</b>光耦

    深入了解示波器入门手册

    深入了解示波器入门手册
    发表于 03-27 17:43 240次下载
    <b class='flag-5'>深入了解</b>示波器入门手册

    深入了解电感与磁珠的异同

    模拟电子的相关知识学习教材资料——深入了解电感与磁珠的异同
    发表于 09-27 15:19 0次下载

    带你深入了解示波器

    带你深入了解示波器
    发表于 02-07 14:26 18次下载

    深入了解安全光栅

    深入了解安全光栅
    的头像 发表于 06-25 13:53 761次阅读
    <b class='flag-5'>深入了解</b>安全光栅

    深入了解 GaN 技术

    深入了解 GaN 技术
    的头像 发表于 12-06 17:28 4453次阅读
    <b class='flag-5'>深入了解</b> GaN 技术