Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Protected mode
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== History == The first x86 processor, the [[Intel 8086]], had a 20-[[bit]] [[address bus]] for its [[computer memory|memory]], as did its [[Intel 8088]] variant.<ref name="Address bus">{{ cite web | url = http://www.brainbell.com/tutors/A+/Hardware/PC_Microprocessor_Developments_and_Features.htm | title = A+ - Hardware | work = PC Microprocessor Developments and Features Tutorials | access-date = 2007-07-24 | format = Tutorial/Guide | publisher = BrainBell.com }}</ref> This allowed them to access 2<sup>20</sup> [[byte]]s of memory, equivalent to 1 [[megabyte]].<ref name="Address bus" /> At the time, 1 megabyte was considered a relatively large amount of memory,<ref name="1 MB large">{{ cite web | url = http://www.pcmech.com/show/processors/35/ | title = A CPU History | access-date = 2007-07-24 | last = Risley | first = David | date = March 23, 2001 | format = Article | publisher = PCMechanic | quote = What is interesting is that the designers of the time never suspected anyone would ever need more than 1 MB of RAM. | archive-url = https://web.archive.org/web/20080829165311/http://www.pcmech.com/show/processors/35/ | archive-date=August 29, 2008}}</ref> so the designers of the [[IBM Personal Computer]] reserved the first 640 [[kilobyte]]s for use by applications and the operating system and [[upper memory area|the remaining 384 kilobytes]] for the [[BIOS]] (Basic Input/Output System) and memory for [[peripheral|add-on devices]].<ref name="Memory usage">{{ cite web | url = http://www.internals.com/articles/protmode/introduction.htm | title = Introduction to Protected-Mode | access-date = 2007-07-24 | last = Kaplan | first = Yariv | date = 1997 | format = Article | publisher = Internals.com | url-status = dead | archive-url = https://web.archive.org/web/20070622205752/http://www.internals.com/articles/protmode/introduction.htm | archive-date = 2007-06-22 }}</ref> As the cost of memory decreased and memory use increased, the 1 MB limitation became a significant problem. [[Intel]] intended to solve this limitation along with others with the release of the 286.<ref name="Memory usage" /> === The 286 === {{details|Intel 80286}} The initial protected mode, released with the 286, was not widely used;<ref name="Memory usage"/> for example, it was used by [[Coherent (operating system)|Coherent]] (from 1982),<ref>{{cite web |url=http://textfiles.com/internet/FAQ/coherent.faq |title=General Information FAQ for the Coherent Operating System |date=January 23, 1993}}</ref> Microsoft [[Xenix]] (around 1984)<ref>{{cite press release |url=http://www.tenox.net/docs/xenix/microsoft_xenix_30_286_press_release.pdf |title=Microsoft XENIX 286 Press Release |publisher=Microsoft |access-date=2015-08-17 |archive-date=2014-10-21 |archive-url=https://web.archive.org/web/20141021111609/http://www.tenox.net/docs/xenix/microsoft_xenix_30_286_press_release.pdf |url-status=dead }}</ref> and [[Minix]].<ref>{{cite web |url=http://minix.net/minix/minix.html |title=MINIX Information Sheet |archive-url=https://web.archive.org/web/20140107074722/http://minix.net/minix/minix.html |archive-date=January 7, 2014}}</ref> Several shortcomings such as the inability to make BIOS and DOS calls due to inability to switch back to real mode without resetting the processor prevented widespread usage.<ref name="286 failings">{{cite book | last = Mueller | first = Scott | title = Upgrading and Repairing PCs, 17th Edition | date = March 24, 2006 | url = https://archive.org/details/upgradingrepairi0000muel_17thedition | type = Book | access-date = 2017-07-11 | edition = 17 | publisher = Que | isbn = 0-7897-3404-4 | chapter = P2 (286) Second-Generation Processors | chapter-url = http://www.informit.com/articles/article.aspx?p=481859&seqNum=13 | url-access = registration }}</ref> Acceptance was additionally hampered by the fact that the 286 allowed memory access in 64 [[kilobyte]] segments, addressed by its four segment registers, meaning that only {{nobr|4 Γ 64 KB}}, equivalent to 256 KB, could be accessed at a time.<ref name="Memory usage"/> Because changing a segment register in protected mode caused a 6-byte segment descriptor to be loaded into the CPU from memory, the segment register load instruction took many tens of processor cycles, making it much slower than on the 8086 and 8088; therefore, the strategy of computing segment addresses on-the-fly in order to access data structures larger than 128 [[kilobyte]]s (the combined size of the two data segments) became impractical, even for those few programmers who had mastered it on the 8086 and 8088. The 286 maintained backward compatibility with the 8086 and 8088 by initially entering [[real mode]] on power up.<ref name="Real mode on powered on" /> Real mode functioned virtually identically to the 8086 and 8088, allowing the vast majority of existing [[software]] for those processors to run unmodified on the newer 286. Real mode also served as a more basic mode to set up and [[Bootstrapping#Software loading and execution|bootstrap]] into protected mode. To access the extended functionality of the 286, the operating system would set up some tables in memory that controlled memory access in protected mode, set the addresses of those tables into some special registers of the processor, and then set the processor into protected mode. This enabled 24-bit addressing, which allowed the processor to access 2<sup>24</sup> bytes of memory, equivalent to 16 [[megabyte]]s.<ref name="Address bus"/> === The 386 === [[File:Ic-photo-intel-A80386DX-33-IV-(386DX).png|thumb|An Intel 80386 microprocessor]] {{details|Intel 80386}} With the release of the 386 in 1985,<ref name="i386 release date" /> many of the issues preventing widespread adoption of the previous protected mode were addressed.<ref name="Memory usage" /> The 386 was released with an address bus size of 32 bits, which allows for 2<sup>32</sup> bytes of memory accessing, equivalent to 4 [[gigabytes]].<ref name="Memory increases">{{cite book | title = 80386 Programmer's Reference Manual | url = http://bitsavers.org/components/intel/80386/230985-001_80386_Programmers_Reference_Manual_1986.pdf | date = 1986 | publisher = Intel | location = Santa Clara, CA | at = Section 2.1 Memory Organization and Segmentation }}</ref> The segment sizes were also increased to 32 bits, meaning that the full address space of 4 gigabytes could be accessed without the need to switch between multiple segments.<ref name="Memory increases" /> In addition to the increased size of the address bus and segment registers, many other new features were added with the intention of increasing operational security and stability.<ref name="Enhancements">{{ cite book | title = Intel 64 and IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture | publisher = [[Intel]] | at = Section 3.1 Modes of Operation |date=May 2019 | url = https://software.intel.com/en-us/download/intel-64-and-ia-32-architectures-software-developers-manual-volume-1-basic-architecture }}</ref> Protected mode is now used in virtually all modern [[operating system]]s which run on the x86 architecture, such as [[Microsoft Windows]], [[Linux]], and many others.<ref name="Protected mode use">{{ cite book | title = Write Great Code | publisher = O'Reilly | first = Randall | last = Hyde | chapter = 12.10. Protected Mode Operation and Device Drivers |date=November 2004 | isbn = 1-59327-003-8 | chapter-url = http://safari.oreilly.com/1593270038/ns1593270038-CHP-12-SECT-10 }}</ref> Furthermore, learning from the failures of the 286 protected mode to satisfy the needs for [[multiuser DOS]], Intel added a separate [[virtual 8086 mode]],<ref>[[Charles Petzold]], Intel's 32-bit Wonder: The 80386 Microprocessor, ''[[PC Magazine]]'', November 25, 1986, pp. 150-152</ref> which allowed multiple virtualized 8086 processors to be emulated on the 386. [[x86 virtualization|Hardware x86 virtualization]] required for virtualizing the protected mode itself, however, had to wait for another 20 years.<ref>{{cite web|url=http://www.infoworld.com/article/2664741/computer-hardware/sending-software-to-do-hardware-s-job.html|title=Sending software to do hardware's job|author=Tom Yager|date=6 November 2004|work=InfoWorld|access-date=24 November 2014}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)