一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Demo與操作系統(tǒng)介紹

jf_78858299 ? 來(lái)源:硬件底褲 ? 作者:酸奶蓋子 ? 2023-02-13 15:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、實(shí)模式與保護(hù)模式

X86 CPU保護(hù)模式是最值得深入研究的問(wèn)題。要搞清楚保護(hù)模式需要先了解實(shí)模式,實(shí)模式與保護(hù)模式有古代王權(quán)更替的味道。

實(shí)模式是8086時(shí)代的產(chǎn)物,8086的寄存器都是16位的,其中AX,BX,CX,DX又可以拆分為高8位,與低8位寄存器使用^[1]^。8086有20條地址線,換而言之8086尋址空間有1MB!

8086采用段加偏移的方式進(jìn)行內(nèi)存訪問(wèn),理論上可以尋遍1MB空間,而其在1MB的空間中沒(méi)有訪問(wèn)限制,不管是內(nèi)核程序還是用戶程序,這就給程序運(yùn)行留下了隱患。

若程序A在0x00000x0051空間儲(chǔ)存運(yùn)行,程序B在0x00800x00ff儲(chǔ)存運(yùn)行,在特定情況下,程序B向0x0031~0x0070寫(xiě)入數(shù)據(jù),那程序A數(shù)據(jù)便被覆蓋造成程序A執(zhí)行錯(cuò)誤。如果程序A是內(nèi)核的基礎(chǔ)性程序,那代價(jià)將是巨大的。

英特爾注意到了該問(wèn)題的嚴(yán)重性,在后續(xù)的80286便推出了保護(hù)模式。80286有24條地址線,在保護(hù)模式下CPU的段寄存器將不再保存段地址,轉(zhuǎn)而保存段選擇子,真實(shí)的段地址將保存在段寄存器描述符的高速緩存中(24位),當(dāng)80286進(jìn)入保護(hù)模式將獲得16MB尋址空間。

由于引入了段選擇子,段選擇子記錄了內(nèi)存的訪問(wèn)權(quán)限,低權(quán)限程序?qū)⑹ピL問(wèn)高權(quán)限內(nèi)存的資格,增加了系統(tǒng)的安全性與穩(wěn)定性。

80286還是16位處理器,雖然有24根地址線,但由于寄存器還是16位,即使運(yùn)行在保護(hù)模式下段長(zhǎng)度也無(wú)法超過(guò)64KB,加上不久后32位處理器時(shí)代來(lái)臨,16位保護(hù)模式就鮮為人知。

80386是Inter第一款32位產(chǎn)品,其完全兼容了8086處理器,在實(shí)模式下80386將寄存器低16位當(dāng)作8086寄存器使用,在實(shí)模式下80386相當(dāng)于一塊飛快的8086,同時(shí)386提供V86模式,在這種模式下可以模擬成多塊8086。80386尋址空間達(dá)到了4GB,加上保護(hù)模式的應(yīng)用,造就了386的劃時(shí)代意義^[2]^。

二、什么是操作系統(tǒng)

從8086的實(shí)模式到32位386的保護(hù)模式,從段加偏移的尋址方式到根據(jù)段選擇子尋址的過(guò)程,我們會(huì)愈發(fā)覺(jué)得操作系統(tǒng)就像一個(gè)廠長(zhǎng),而處理器如同一個(gè)智商不高的倉(cāng)庫(kù)管理員。

倉(cāng)庫(kù)管理員的日常工作就是出庫(kù)、入庫(kù)、貨物移庫(kù)、按照各種表格管理貨物,處理器的工作也是這樣的。他手下有AX,CX,DX,BX,SP,BP幾大倉(cāng)庫(kù),還有ES,CS,SS,DS,SI,DI工人,加上FS,GS兩個(gè)臨時(shí)工;倉(cāng)庫(kù)門(mén)口有一個(gè)大黑板,上面是各種標(biāo)志寄存器的值,管理員手上有張大表格叫GDT(全局描述符表),還有幾個(gè)記事本,叫LDT(局部描述符表),每種記事本只能使用特定的筆寫(xiě),GDT的筆GDTR,LDT的筆叫LDTR。

操作系統(tǒng)是廠長(zhǎng),現(xiàn)在有一個(gè)單子:要向屏幕省輸出一行文字。操作系統(tǒng)下令,將AX,BX等幾個(gè)倉(cāng)庫(kù)里面的貨物先挪到空地(棧)上,將一些新貨物(指令、數(shù)據(jù))放進(jìn)去。接著指示貨車(chē)將這些貨物運(yùn)到0x3d4,0x3d5市(屏幕省省會(huì))。貨物運(yùn)到后,隨車(chē)的管理員下來(lái)將貨物名單一個(gè)接著一個(gè)的讀,同時(shí)工人將讀出名字的貨物搬下來(lái)送給貨主,于是我們就會(huì)看到屏幕出現(xiàn)文字了。整個(gè)過(guò)程處理器只是按操作系統(tǒng)給的指令將貨物調(diào)度,至于這些指令、貨物的意義它是不知道的。加減乘除不過(guò)是貨物的累積與消除,兩件貨物疊加在一起就是加法,多件貨物疊加就是乘法;有些貨物出倉(cāng)就是減法;將貨物按5個(gè)歸堆,堆數(shù)就是商,5個(gè)是除數(shù),貨物總量是被除數(shù),如果有些貨物不足一堆,那就是余數(shù)。所有東西都是自然而然。

有時(shí)候一連來(lái)幾個(gè)單子(任務(wù))那處理器會(huì)拿出GDT和LDT分配每個(gè)單子的先后順序。在保護(hù)模式還引入了頁(yè)管理機(jī)制,其作用就是按照各個(gè)貨車(chē)的貨物大小多少給他們分配落貨地點(diǎn)。而大名鼎鼎的中斷機(jī)制不過(guò)是廠區(qū)或者廠區(qū)所在地出現(xiàn)意外操作系統(tǒng)根據(jù)預(yù)案采取處理方法的手段。

進(jìn)行完理論鋪墊,下一步就是揭開(kāi)保護(hù)模式的面紗!

參考文獻(xiàn):

[1] 徐建民.匯編語(yǔ)言程序設(shè)計(jì)[M].第2版.電子工業(yè)出版社, 2005.

[2] WilliamStallings著,王涌等譯. 操作系統(tǒng)--內(nèi)核與設(shè)計(jì)原理[M]. 第四版. 電子工業(yè)出版社, 2002.

[3]謝煥強(qiáng).精簡(jiǎn)32位Linux操作系統(tǒng)在X86上的設(shè)計(jì)與實(shí)現(xiàn)[D].2022.23-24.

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5430

    瀏覽量

    123969
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11063

    瀏覽量

    216506
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7122

    瀏覽量

    125291
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    實(shí)時(shí)操作系統(tǒng)和分時(shí)操作系統(tǒng)的區(qū)別

    操作系統(tǒng)能否滿足實(shí)時(shí)性要求來(lái)區(qū)分,可把操作系統(tǒng)分成分時(shí)操作系統(tǒng)和實(shí)時(shí)操作系統(tǒng),分時(shí)操作系統(tǒng)按照相等的時(shí)間片調(diào)度進(jìn)程輪流運(yùn)行,分時(shí)操作系統(tǒng)
    發(fā)表于 11-14 17:39 ?1.3w次閱讀

    如何選擇嵌入式系統(tǒng)操作系統(tǒng)操作系統(tǒng)特征

    Linux來(lái)幫助他們管理復(fù)雜性。不幸的是,如何在裸機(jī),RTOS或Linux之間進(jìn)行選擇并不總是明確的。每個(gè)選項(xiàng)都有其優(yōu)點(diǎn)和缺點(diǎn)。 這篇文章將探討選擇操作系統(tǒng)時(shí)應(yīng)考慮的系統(tǒng)特征。然后在下一篇文章中,我們將介紹使用每個(gè)
    的頭像 發(fā)表于 09-07 11:51 ?2246次閱讀

    【安富萊】【RTX操作系統(tǒng)教程】第2章 嵌入式實(shí)時(shí)操作系統(tǒng)介紹

    第2章嵌入式實(shí)時(shí)操作系統(tǒng)介紹 本章教程為大家介紹嵌入式實(shí)時(shí)操作系統(tǒng)基礎(chǔ)知識(shí),當(dāng)前流行的小型嵌入式系統(tǒng),STM32嵌入式實(shí)時(shí)
    發(fā)表于 01-15 15:35

    介紹ThreadX操作系統(tǒng)

    第3章 ThreadX操作系統(tǒng)介紹本章節(jié)介紹 ThreadX 操作系統(tǒng),讓大家對(duì) ThreadX 有一個(gè)整體的了解。目錄第3章 ThreadX操作系
    發(fā)表于 08-24 07:13

    ThreadX操作系統(tǒng)介紹

    第3章 ThreadX操作系統(tǒng)介紹本章節(jié)介紹 ThreadX 操作系統(tǒng),讓大家對(duì) ThreadX 有一個(gè)整體的了解。目錄第3章 ThreadX操作系
    發(fā)表于 08-24 07:37

    介紹14種主流的RTOS操作系統(tǒng)

    滿足實(shí)時(shí)控制要求的嵌入式操作系統(tǒng)(RTOS)操作系統(tǒng),以下介紹14種主流的RTOS,分別為μClinux、μC/OS-II、eCos、FreeRTOS、mbed OS、RTX、Vxworks、QNX
    發(fā)表于 10-27 07:28

    如何在 RT-Thread 操作系統(tǒng)上運(yùn)行 Mnist Demo

    上期回顧:(點(diǎn)此跳轉(zhuǎn)上一期)本期將介紹如何在 RT-Thread 操作系統(tǒng)上運(yùn)行 Mnist Demo(手寫(xiě)數(shù)字識(shí)別),可支持自己手寫(xiě)數(shù)字驗(yàn)證。準(zhǔn)備系統(tǒng):Windows | Ubunt
    發(fā)表于 12-14 06:12

    Linux操作系統(tǒng)原理及應(yīng)用

    Linux操作系統(tǒng)原理及應(yīng)用 1.1  操作系統(tǒng)的地位 1.2  操作系統(tǒng)的功能 1.3  操作系統(tǒng)的發(fā)展過(guò)程 1.4 
    發(fā)表于 04-28 14:53 ?0次下載

    LwIP|無(wú)操作系統(tǒng)

    LwIP無(wú)操作系統(tǒng)下的實(shí)驗(yàn) 本文詳細(xì)講述了LwIP在無(wú)操作系統(tǒng)支持環(huán)境下的API函數(shù)介紹及編程應(yīng)用。首先,介紹了RAW API的特點(diǎn)及優(yōu)缺點(diǎn),然后逐個(gè)
    發(fā)表于 04-07 16:39 ?111次下載

    嵌入式操作系統(tǒng)有哪些?

    嵌入式操作系統(tǒng)有哪些? 下面介紹國(guó)外和國(guó)內(nèi)常用的實(shí)時(shí)操作系統(tǒng)。1. 國(guó)外著名的實(shí)時(shí)操作系統(tǒng)國(guó)
    發(fā)表于 06-17 00:32 ?1.3w次閱讀

    RTOS操作系統(tǒng)

    RTOS操作系統(tǒng)RTOS操作系統(tǒng)RTOS操作系統(tǒng)RTOS操作系統(tǒng)RTOS操作系統(tǒng)
    發(fā)表于 12-28 15:30 ?0次下載

    RTEMS嵌入式操作系統(tǒng)的簡(jiǎn)單介紹

    RTEMS嵌入式操作系統(tǒng)的簡(jiǎn)單介紹
    發(fā)表于 10-24 14:48 ?7次下載
    RTEMS嵌入式<b class='flag-5'>操作系統(tǒng)</b>的簡(jiǎn)單<b class='flag-5'>介紹</b>

    簡(jiǎn)要介紹操作系統(tǒng)虛擬化的概念,以及實(shí)現(xiàn)操作系統(tǒng)虛擬化的技術(shù)

    本文簡(jiǎn)要介紹操作系統(tǒng)級(jí)虛擬化的概念,并簡(jiǎn)要闡述了實(shí)現(xiàn)操作系統(tǒng)虛擬化所用到的技術(shù)Namespace及cgroups的原理及使用方法。
    的頭像 發(fā)表于 01-10 15:00 ?1.4w次閱讀
    簡(jiǎn)要<b class='flag-5'>介紹</b>了<b class='flag-5'>操作系統(tǒng)</b>虛擬化的概念,以及實(shí)現(xiàn)<b class='flag-5'>操作系統(tǒng)</b>虛擬化的技術(shù)

    S32K144實(shí)時(shí)操作系統(tǒng)演示DEMO V1.05的詳細(xì)資料和函數(shù)免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是S32K144實(shí)時(shí)操作系統(tǒng)演示RTOS DEMO V1.05的詳細(xì)資料和函數(shù)免費(fèi)下載。
    發(fā)表于 09-19 08:00 ?62次下載
    S32K144實(shí)時(shí)<b class='flag-5'>操作系統(tǒng)</b>演示<b class='flag-5'>DEMO</b> V1.05的詳細(xì)資料和函數(shù)免費(fèi)下載

    嵌入式操作系統(tǒng)如何應(yīng)用_嵌入式操作系統(tǒng)的組成

    本文首先介紹了入式操作系統(tǒng)的特點(diǎn),其次闡述了嵌入式操作系統(tǒng)的應(yīng)用,最后介紹了嵌入式操作系統(tǒng)的組成。
    發(fā)表于 09-01 16:36 ?3730次閱讀