保護模式

保護模式(英語:Protected Mode,或有時簡寫為 pmode)是一種80286系列和之後的x86兼容CPU的操作模式。保護模式有一些新的特性,如記憶體保護分頁系統以及硬體支援的虛擬記憶體,能夠增強多任务处理和系統穩定度。現今大部分的x86作業系統都在保護模式下運行,包含LinuxFreeBSD、以及微軟Windows 2.0和之後版本。

另外一種286和其之後CPU的操作模式是真實模式,這是一種向前相容且關閉了保护模式這些特性的CPU运行模式,用來讓新的晶片可以執行舊的軟體。所有的x86 CPU都是在真實模式下開機,來確保傳統作業系統的相容性。為了使用保護模式的特性,要由程式主動地切換到保護模式。在現今的電腦上,這種切換通常是作業系統在開機時候完成的第一件工作。當CPU在保護模式下運行時,可以使用虚拟86模式來執行為真實模式設計的程式碼。

儘管用軟體的方式也有某些可能在真實模式的系統下使用多工,但保護模式下記憶體保護的特色,可以避免有問題的程式破壞其他工作或是作業系統核心所擁有的記憶體。保護模式也有中斷正在執行程式的硬體支援,可以實現先佔式多工

大部分可以使用保護模式的CPU也擁有32位元暫存器的特性(例如80386系列和其後任何的晶片),導入了融合保護模式而成為32位元處理的概念。80286晶片雖有支援保護模式,但是仍然只有16位元暫存器。Windows 2.0和之後版本中的保護模式增強稱為"386增強模式",是因為他們除了保護模式外,還需要32位元的暫存器,並且無法在286上面執行(即使286支援保護模式)。

即使在32位元晶片上已經打開了保護模式,但是為了仿照IBM XT系統記憶體連續的設計特性,1 MiB以上的記憶體並無法存取。這種限制可以由打開A20总线來迴避。

在保護模式下,前面32個中斷都是保留給CPU例外處理用。例如,中斷0D(十進制13)是一般保護模式錯誤,而中斷00是除以零

286的保护模式寻址

286CPU在保护模式下的寻址

286出现之前,x86的地址总线为20位,使用16位的段基址(段首地址的高16位)与4位的段内偏移量,段基址左移4位后与段内偏移量相加形成20位的物理地址,来对220(即1MiB)的地址空间寻址。1982年问世的286 CPU首次使用了保护模式寻址。286 CPU的地址总线为24位,寻址空间为224(即16 MiB)。而286 CPU的寄存器仍为16位。[1]寻址时,段寄存器保存的数据不再是内存物理地址,而是称作选择器(selector),其中高13位指向描述符表(descriptor table)的条目;最低的两位数据定义了请求的权限,从0到3,0是最高权限,3是最低权限;剩下的一位表示是使用全局描述符表(GDT)还是局部描述符表英语Local Descriptor Table(LDT)。描述符表的条目为8字节长,包括24位长的段起始物理地址、16位长的段长(因此段的长度范围从1 B到216 B,即不超过64 KiB)。每次内存操作所要访问的物理地址为描述符表相应条目给出的24位段起始物理地址再加上16位的偏移量。可见,286保护模式下的应用程序能访问的内存线性地址空间仅为64 KB,非常有限。所以程序员编写使用大内存的应用程序时还必须使用远指针、近指针,相当繁琐。这影响了286保护模式的推广使用。

从386开始的IA32保护模式寻址

IA32 CPU保护模式下的4KiB分页寻址
IA32 CPU保护模式下的4 MiB分页寻址
应用程序的虚拟线性地址空间映射到分页管理的物理地址空间

1985年问世的80386开启了32位CPU时代。[2]地址总线为32比特,寻址空间为232(即4 GiB)。[3]386 CPU保护模式下有两种内存寻址方式:

  • 可以分页寻址,这是此后的x86上的Windows操作系统与Linux操作系统最广泛采用的方法;
  • 也可以非分页寻址而采取与286保护模式兼容的寻址方式,采用16位的选择器(selector)寄存器与32位的偏移量寄存器寻址,这时描述符表的条目中保存的段起始物理地址为32位,而段长的数据宽度为20位,但可以设置段长的粒度为1 B或4 KiB,所以段的最大长度可以是1 MiB或者4 GiB。

386 CPU开创的分页内存管理,比286保护模式寻址具有更多的优点:

  • 操作系统可以控制与限制进程对页面的访问权限
  • 为应用程序创造一个连续的、独立的、线性的虚拟内存空间
  • 页面可以移出主存,存入更慢速的次级外存硬盘。这使得操作系统可以使用比物理内存更大的存储空间。

IA32的CPU通过两级:页目(page directory)与页表(page table)实现4 KiB的分页管理,这是最常见的IA32分页寻址方式。CR3寄存器保存了进程的页目的物理地址。页目与页表中每4字节为一个单元,是一个32位的值,当页目项第0位为1时,表明页表已经在物理内存中;当页表项第0位为1时,表明访问的数据已经在内存中。另外,当页目项第7位为1时,表明这是一个4M的页面,这值已经是物理页地址,用虚拟地址的低22位作为偏移量。

从应用程序角度,不再使用段地址寄存器(或称选择器),仅使用32位的偏移量,为232(即4 GiB)的连续线性寻址空间。

进入保护模式

进入保护模式前,必须初始化全局描述符表,并最少包含三个描述符:空描述符、代码段描述符以及数据段描述符。并把(全局描述符表的所占用的字节数-1)和全局描述符表的物理内存地址保存到GDTR寄存器中。如果是IBM兼容的机器,则还需要打开A20总线

通过设置CR0寄存器的PE位进入保护模式。在设置完CR0寄存器的PE位后,需要进行远转移以清空PIQ。

; 设置CR0寄存器的PE位
mov eax, cr0       ; 必须通过其他寄存器来修改CR0寄存器
or eax, 1
mov cr0, eax

; 远转移 (cs = 代码段描述符)
jmp cs:@pmode

[bits 32]
@pmode:
; 现在已经进入了保护模式

参见

参考资料

  1. ^ A+ - Hardware. PC Microprocessor Developments and Features Tutorials. BrainBell.com. [2007-07-24]. (原始内容 (Tutorial/Guide)存档于2022-03-31). 
  2. ^ Intel Global Citizenship Report 2003. [2007-07-14]. (原始内容 (Timeline)存档于2008-03-22). 1985 Intel launches Intel386 processor 
  3. ^ 80386 Programmer's Reference Manual (PDF). Santa Clara, CA: Intel. 1986. Section 2.1 Memory Organization and Segmentation [2022-05-09]. (原始内容 (PDF)存档于2018-12-28). 

外部連結

Read other articles:

Repubblica Italiana (dettagli) (dettagli) Repubblica Italiana - Localizzazione Dati amministrativiLingue ufficialiitaliano Lingue parlatelombardo, emiliano CapitaleMilano Dipendente da Francia PoliticaForma di StatoRepubblica sorella Forma di governoRepubblica presidenziale PresidenteNapoleone Bonaparte VicepresidenteFrancesco Melzi d'Eril Organi deliberativiCorpo legislativo Nascita26 gennaio 1802 CausaTrattato di Lunéville Fine17 marzo 1805 con Napoleone Bonaparte CausaIncoronazione d...

 

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Oktober 2022. Papan tombol Colemak (AS) Colemak adalah tata letak papan tombol untuk huruf Latin, dibuat oleh dan dinamai Shai Coleman pada tahun 2006. Tata letak dirancang untuk membuat mengetik lebih efisien dan nyaman dengan menempatkan huruf paling sering di bar...

 

 

Island in Scotland For other places with the same name, see Berneray (disambiguation). Great BerneraScottish Gaelic nameBeàrnaraigh MòrPronunciation[ˈpjaːrˠn̪ˠəɾaj ˈmoːɾ] ⓘOld Norse namebjarnar-øyMeaning of nameBjørn's island from Norse[1]LocationGreat BerneraGreat Bernera shown within the Outer HebridesOS grid referenceNB162344Coordinates58°12′N 6°51′W / 58.2°N 6.85°W / 58.2; -6.85Physical geographyIsland groupLewis and HarrisAr...

كينمور     الإحداثيات 42°57′54″N 78°52′18″W / 42.965°N 78.8717°W / 42.965; -78.8717   [1] تقسيم إداري  البلد الولايات المتحدة[2]  التقسيم الأعلى مقاطعة إيري  خصائص جغرافية  المساحة 3.718716 كيلومتر مربع3.717608 كيلومتر مربع (1 أبريل 2010)  ارتفاع 187 متر  عدد السكان...

 

 

В Википедии есть статьи о других людях с фамилией Захарьина-Юрьева. Анастасия Романовна Царица Анастасия и новорожденный царевич Иван (миниатюра Лицевого летописного свода) 1-я русская царица 3 февраля 1547 — 7 августа 1560 Предшественник Елена Глинская Преемник Мария Тем...

 

 

Paris 2024 beralih ke halaman ini. Untuk Paralimpiade, lihat Paralimpiade Musim Panas 2024. Olimpiade XXXIIITuan rumahParis, PrancisMoto Ouvrons grand les Jeux (Acara terbuka lebar) Jumlah disiplin329 dari 32 olahragaPembukaan26 Juli 2024Penutupan11 Agustus 2024Dibuka olehPresiden Emmanuel Macron (diharapkan)StadionStade de FranceMusim Panas ← Tokyo 2020 Los Angeles 2028 → Musim Dingin ← Beijing 2022 Milano–Cortina 2026 → Olimpiade Musim Panas 2024 (Prancis: Jeux...

NickelodeonDiluncurkan5 November 1998PemilikParamount Networks EMEAABahasaBahasa InggrisMelayuIndonesiaThaiTaiwanKantonKantor pusatSingapuraSaluran seindukNick Jr.MTV LiveMTV 90sParamount NetworkSitus webwww.nick.com Nickelodeon adalah saluran televisi berbayar Asia yang dioperasikan oleh Paramount International Networks, menyiarkan dari Singapura ke pemirsa di seluruh Asia & beberapa daerah di Oseania seperti Polinesia. Saluran ini diluncurkan pada 16 Juli 1996, menyiarkan seri asli Nick...

 

 

  لمعانٍ أخرى، طالع الراعي (توضيح). الراعي   الإحداثيات 36°36′43″N 37°26′48″E / 36.611944444444°N 37.446666666667°E / 36.611944444444; 37.446666666667   تقسيم إداري  البلد سوريا  التقسيم الأعلى ناحية الراعي  عدد السكان  عدد السكان 4609   معلومات أخرى منطقة زمنية ت ع م+02:00  تعد�...

 

 

Italian footballer (born 1997) Filippo Romagna Romagna plays with Cagliari in 2017Personal informationDate of birth (1997-05-26) 26 May 1997 (age 26)Place of birth Fano, ItalyHeight 1.86 m (6 ft 1 in)[1]Position(s) Centre backTeam informationCurrent team Reggiana(on loan from Sassuolo)Number 19Youth career Fanella2007–2011 Rimini2011–2016 JuventusSenior career*Years Team Apps (Gls)2016–2017 Juventus 0 (0)2016–2017 → Novara (loan) 4 (0)2017 → Brescia (lo...

2nd-century BC Greek astronomer, geographer and mathematician This article is about the Greek astronomer. For other uses, see Hipparchus (disambiguation). Hipparchus19th century engraving based on an engraved amethyst from the Poniatowski gem collection[a]Bornc. 190 BCNicaea, Kingdom of Bithynia(modern-day İznik, Bursa, Turkey)Diedc. 120 BC (around age 70)Rhodes, Roman Republic(modern-day Greece)OccupationsAstronomerMathematicianGeographer Hipparchus (/hɪˈpɑ�...

 

 

United States Space Force military communications satellite constellation USA-204Artist's impression of a WGS-2 satellite in orbitNamesWGS-2WGS SV-2Wideband Global SATCOM-2Mission typeMilitary communicationsOperatorUnited States Air Force / United States Space ForceCOSPAR ID2009-017A SATCAT no.34713Websitehttps://www.spaceforce.mil/Mission duration14 years (planned)15 years and 1 month (in progress) Spacecraft propertiesSpacecraftWGS-2Spacecraft typeWGS Block IBusBSS-702Manufacturer...

 

 

Not to be confused with Diffeology. In mathematics, a diffiety (/dəˈfaɪəˌtiː/) is a geometrical object which plays the same role in the modern theory of partial differential equations that algebraic varieties play for algebraic equations, that is, to encode the space of solutions in a more conceptual way. The term was coined in 1984 by Alexandre Mikhailovich Vinogradov as portmanteau from differential variety.[1] Intuitive definition In algebraic geometry the main objects of stu...

Цю статтю потрібно повністю переписати відповідно до стандартів якості Вікіпедії. Ви можете допомогти, переробивши її. Можливо, сторінка обговорення містить зауваження щодо потрібних змін. Інциденти на території Росії під час російсько-української війни Російське вто...

 

 

Radar for the ionosphere Typical ionogram indicating an F2 layer critical frequency (foF2) of approximately 5.45 MHz. An example of an ionosonde system displaying an ionogram An ionosonde, or chirpsounder, is a special radar for the examination of the ionosphere. The basic ionosonde technology was invented in 1925 by Gregory Breit and Merle A. Tuve[1] and further developed in the late 1920s by a number of prominent physicists, including Edward Victor Appleton. The term ionosphere and ...

 

 

Mike ChangHarry Shum, Jr. sebagai Mike ChangPenampilanperdanaPreggersPenciptaRyan MurphyBrad FalchukIan BrennanPemeranHarry Shum, Jr.InformasiPekerjaanSiswa SMA Mike Chang adalah karakter fiksi dari serial drama Amerika produksi Fox,Glee. Karakternya diperankan oleh aktor dan penari Harry Shum, Jr., dan pertama kali tampil di Glee di episode keempatnya, Preggers. Sangat sedikit informasi yang bisa didapat mengenai Mike Chang, kecuali ia adalah anggota tim futbol sekolah fiksi William McKinley...

التجربة عما إذا كان الذائق يمكن أن يقرر ما إذا كان الحليب قد أضيف قبل الشاي او العكس عند إعداد كوب الشاي مع الحليب.هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (نوفمبر 2018) ذواقة الشاي هي تجربة عشوائية في مجال الإحص�...

 

 

此條目需要补充更多来源。 (2016年6月16日)请协助補充多方面可靠来源以改善这篇条目,无法查证的内容可能會因為异议提出而被移除。致使用者:请搜索一下条目的标题(来源搜索:天坛 — 网页、新闻、书籍、学术、图像),以检查网络上是否存在该主题的更多可靠来源(判定指引)。   关于与「天坛」標題相近或相同的条目页,請見「天坛 (消歧義)」。 北京�...

 

 

Species of fish Colorado pikeminnow Conservation status Vulnerable  (IUCN 3.1)[1] Critically Imperiled  (NatureServe)[2] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Actinopterygii Order: Cypriniformes Family: Cyprinidae Subfamily: Leuciscinae Clade: Laviniinae Genus: Ptychocheilus Species: P. lucius Binomial name Ptychocheilus luciusGirard, 1856 The Colorado pikeminnow (Ptychocheilus lucius, formerly squawfish) is the la...

Methodological basis for 3D CAD/CAM solid modeling and image rendering Ray-cast image of idealized universal joint with shadowRay casting is the methodological basis for 3D CAD/CAM solid modeling and image rendering. It is essentially the same as ray tracing for computer graphics where virtual light rays are cast or traced on their path from the focal point of a camera through each pixel in the camera sensor to determine what is visible along the ray in the 3D scene. The term Ray Casting was ...

 

 

Fuel burning cook stove A lò trấu rice-husk stove The lò trấu (rice husk stove) is a type of versatile fuel burning cook stove used in Vietnam since the 1950s. Lò trấu comes from lò (stove) and trấu (rice husk). A kitchen with this kind of stove is a bếp trấu, husk kitchen. History and design A portable lò trấu stove The timeline of the development of the lò trấu is unclear, however, it is known that the Lo Trau has been in use in Vietnam at least since the 1950s. The fi...