1854:
391:
777:
1862:
818:. The next bit (bit 2) specifies whether the operation is used with the GDT or the LDT. The lowest two bits (bit 1 and bit 0) of the selector are combined to define the privilege of the request, where the values of 0 and 3 represent the highest and the lowest privilege, respectively. This means that the byte offset of descriptors in the descriptor table is the same as the 16-bit selector, provided the lower three bits are zeroed.
362:, equivalent to 256 KB, could be accessed at a time. 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; therefore, the strategy of computing segment addresses on-the-fly in order to access data structures larger than 128
4169:
4159:
4149:
4139:
4129:
409:. 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. 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. Protected mode is now used in virtually all modern
622:
270:(386) in 1985. Due to the enhancements added by protected mode, it has become widely adopted and has become the foundation for all subsequent enhancements to the x86 (IA-32) architecture, although many of those enhancements, such as added instructions and new registers, also brought benefits to the real mode.
1974:
series. If a
Windows 1.x or 2.x program is written properly and avoids segment arithmetic, it will run the same way in both real and protected modes. Windows programs generally avoid segment arithmetic because Windows implements a software virtual memory scheme, moving program code and data in memory
3135:
The reason why software task switching is so popular is that it can be faster than hardware task switching. Intel never actually developed the hardware task switching, they implemented it, saw that it worked, and just left it there. Advances in multitasking using software have made this form of task
377:
to run unmodified on the newer 286. Real mode also served as a more basic mode in which protected mode could be set up, solving a sort of chicken-and-egg problem. To access the extended functionality of the 286, the operating system would set up some tables in memory that controlled memory access in
1979:
to memory blocks when not running. Starting an old program while
Windows 3.0 is running in protected mode triggers a warning dialog, suggesting to either run Windows in real mode or to obtain an updated version of the application. Updating well-behaved programs using the MARK utility with the
789:
In real mode each logical address points directly into a physical memory location, every logical address consists of two 16-bit parts: The segment part of the logical address contains the base address of a segment with a granularity of 16 bytes, i.e. a segment may start at physical address 0, 16,
1969:
was able to run real mode programs in 16-bit protected mode; when switching to protected mode, it decided to preserve the single privilege level model that was used in real mode, which is why
Windows applications and DLLs can hook interrupts and do direct hardware access. That lasted through the
1869:
In addition to adding virtual 8086 mode, the 386 also added paging to protected mode. Through paging, system software can restrict and control a task's access to pages, which are sections of memory. In many operating systems, paging is used to create an independent virtual address space for each
1897:
to a page table. A page table was also originally four kilobytes in size and contained 1,024 page table entries (PTE). Each PTE contained a pointer to the actual page's physical address and are only used when the four-kilobyte pages are used. At any given time, only one page directory may be in
833:
The segment address inside the descriptor table entry has a length of 24 bits so every byte of the physical memory can be defined as bound of the segment. The limit value inside the descriptor table entry has a length of 16 bits so segment length can be between 1 byte and 2 byte. The calculated
606:
Protected mode has a number of features designed to enhance an operating system's control over application software, in order to increase security and system stability. These additions allow the operating system to function in a way that would be significantly more difficult or even impossible
858:
For maintaining compatibility with 286 protected mode a new default flag (D-bit, for short) was added. If the D-bit of a code segment is off (0) all commands inside this segment will be interpreted as 16-bit commands by default; if it is on (1), they will be interpreted as 32-bit commands.
1924:
was made possible on the x86 architecture. The TSS allows general-purpose registers, segment selector fields, and stacks to all be modified without affecting those of another task. The TSS also allows a task's privilege level, and I/O port permissions to be independent of another task's.
1928:
In many operating systems, the full features of the TSS are not used. This is commonly due to portability concerns or due to the performance issues created with hardware task switches. As a result, many operating systems use both hardware and software to create a multitasking system.
842:
The segment address inside the descriptor table entry is expanded to 32 bits so every byte of the physical memory can be defined as bound of the segment. The limit value inside the descriptor table entry is expanded to 20 bits and completed with a granularity flag (G-bit, for short):
354:. 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. Acceptance was additionally hampered by the fact that the 286 only allowed memory access in 64
515:(21st address line) also must be enabled to allow the use of all the address lines so that the CPU can access beyond 1 megabyte of memory (Only the first 20 are allowed to be used after power-up, to guarantee compatibility with older software written for the Intel 8088-based
850:
If G-bit is one limit has a granularity of 2 bytes, i.e. segment size may be 1 × 2, 2 × 2, ..., 2 × 2 bytes. If paging is off, the calculated linear address equals the physical memory address. If paging is on, the calculated linear address is used as input of
378:
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 bytes of memory, equivalent to 16
597:
With the release of the 386, protected mode could be exited by loading the segment registers with real mode values, disabling the A20 line and clearing the PE bit in the CR0 register, without the need to perform the initial setup steps required with the 286.
404:
With the release of the 386 in 1985, many of the issues preventing widespread adoption of the previous protected mode were addressed. The 386 was released with an address bus size of 32 bits, which allows for 2 bytes of memory accessing, equivalent to 4
1893:. Originally, a page directory was the size of one page, four kilobytes, and contained 1,024 page directory entries (PDE), although subsequent enhancements to the x86 architecture have added the ability to use larger page sizes. Each PDE contained a
753:
Due to these limitations, some programs originally designed to run on the 8086 cannot be run in virtual 8086 mode. As a result, system software is forced to either compromise system security or backward compatibility when dealing with
790:
32, ..., 2 − 16. The offset part of the logical address contains an offset inside the segment, i.e. the physical address can be calculated as physical_address = segment_part × 16 + offset, if the address
3063:
The paging process allows the operating system to overcome the real physical memory limits. However, it also has a direct impact on performance because of the time necessary to write or retrieve data from
504:
was used to reset the 286 CPU, which was a lot faster and cleaner than the keyboard controller method (and does not depend on IBM AT-compatible hardware, but will work on any 80286 CPU in any system).
657:
the 80286 remains upwardly compatible with most 8086 and 80186 application programs. Most 8086 application programs can be re-compiled or re-assembled and executed on the 80286 in
Protected Mode.
3044:
665:, were the most apparent changes to application programmers. This was not without its limitations. If an application utilized or relied on any of the techniques below, it would not run:
734:
Virtual 8086 mode, however, is not completely backward compatible with all programs. Programs that require segment manipulation, privileged instructions, direct hardware access, or use
731:. Virtual 8086 mode is designed to allow code previously written for the 8086 to run unmodified and concurrently with other tasks, without compromising security or system stability.
500:
and often the interrupt mask in the real-time clock chip's RAM. This allowed the BIOS to restore the CPU to a similar state and begin executing code before the reset. Later, a
2094:
The memory access control system according to claim 4, wherein said first address mode is a real address mode, and said second address mode is a protected virtual address mode.
2922:
2902:
2693:
2675:
2657:
2639:
511:(GDT) must first be created with a minimum of three entries: a null descriptor, a code segment descriptor and data segment descriptor. In an IBM-compatible machine, the
2962:
A downside to using V86 mode is speed: every IOPL-sensitive instruction will cause the CPU to trap to kernel mode, as will I/O to ports which are masked out in the TSS.
633:, numbered from 0 to 3, with ring 0 being the most privileged and 3 being the least. The use of rings allows for system software to restrict tasks from accessing data,
3296:
2733:
2519:
2272:
2218:
2166:
2109:
1980:
MEMORY parameter avoids this dialog. It is not possible to have some GUI programs running in 16-bit protected mode and other GUI programs running in real mode. In
179:
243:
with earlier x86 processors. Protected mode may only be entered after the system software sets up one descriptor table and enables the
Protection Enable (PE)
4193:
4109:
3770:
3243:
2194:
2187:
2151:
The purpose of protected mode is not to protect your program. The purpose is to protect everyone else (including the operating system) from your program.
3136:
switching faster (some say up to 3 times faster) than the hardware method. Another reason is that the Intel way of switching tasks isn't portable at all
2829:
This has been impossible to-date and has forced BIOS development teams to add support into the BIOS for 32 bit function calls from 32 bit applications.
2409:
3818:
2241:
3048:
2791:
2772:
2753:
4162:
3966:
3790:
3572:
3543:
4152:
1853:
488:
Until the release of the 386, protected mode did not offer a direct method to switch back into real mode once protected mode was entered.
3191:
2367:
4172:
2587:
1941:
1.x try to switch the processor between protected and real modes. This is both slow and unsafe, because a real mode program can easily
366:(the combined size of the two data segments) became impractical, even for those few programmers who had mastered it on the 8086/8088.
2711:
2500:
2983:
2552:
2475:
172:
2071:
661:
For the most part, the binary compatibility with real-mode code, the ability to access up to 16 MB of physical memory, and 1 GB of
3347:
3291:
3989:
3763:
3266:
3236:
523:
models). After performing those two steps, the PE bit must be set in the CR0 register and a far jump must be made to clear the
3149:
3112:
2297:
4114:
3459:
3357:
1894:
2694:"Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes 3A, 3B, 3C, and 3D: System Programming Guide"
2676:"Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes 3A, 3B, 3C, and 3D: System Programming Guide"
2658:"Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes 3A, 3B, 3C, and 3D: System Programming Guide"
2640:"Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes 3A, 3B, 3C, and 3D: System Programming Guide"
3737:
3286:
3271:
2924:
Intel 64 and IA-32 Architectures
Software Developer's Manual Combined Volumes 3A, 3B, 3C, and 3D: System Programming Guide
2904:
Intel 64 and IA-32 Architectures
Software Developer's Manual Combined Volumes 3A, 3B, 3C, and 3D: System Programming Guide
2627:
80386SX — low cost version of the 80386. This processor had 16 bit external data bus and 24-bit external address bus.
4198:
3974:
3812:
3332:
3317:
3276:
1992:
165:
2326:
3951:
3498:
3445:
343:
31:
4009:
3077:
4132:
4019:
3999:
3852:
3756:
3513:
3352:
3229:
2345:
What is interesting is that the designers of the time never suspected anyone would ever need more than 1 MB of RAM.
1870:
task, preventing one task from manipulating the memory of another. Paging also allows for pages to be moved out of
2861:... secondly, protected mode was also incompatible with the vast amount of real-mode code around at the time.
4078:
3548:
3367:
3327:
3322:
3281:
373:
on power up. Real mode functioned virtually identically to the 8086, allowing the vast majority of existing 8086
143:
3938:
3591:
3478:
3342:
2440:
2047:
742:
that must be served by the operating system. In addition, applications running in virtual 8086 mode generate a
630:
616:
520:
493:
2943:
2874:
2842:
4142:
4004:
3979:
3885:
3337:
1921:
1693:
bit, and determines which privilege levels can far-jump to this segment (without changing privilege level):
794:
is enabled, or (segment_part × 16 + offset) mod 2, if A20 is off. Every segment has a size of 2 bytes.
771:
508:
324:
As the cost of memory decreased and memory use increased, the 1 MB limitation became a significant problem.
205:
3956:
2416:
390:
3908:
3806:
3725:
3664:
3553:
3533:
3482:
3440:
3201:
1975:
when programs are not running, so manipulating absolute addresses is dangerous; programs should only keep
705:
and its successors can take advantage of the binary compatibility with real mode to run many
Windows 2.x (
240:
109:
3508:
3474:
3376:
3312:
2052:
1907:
516:
302:
225:
3984:
2459:
3172:... both rely on the Intel processors ability to switch tasks, they rely on it in different ways.
2245:
301:. At the time, 1 megabyte was considered a relatively large amount of memory, so the designers of the
3705:
3679:
1886:
524:
235:
When a processor that supports x86 protected mode is powered on, it begins executing instructions in
229:
342:
The initial protected mode, released with the 286, was not widely used; for example, it was used by
3862:
3674:
3626:
3503:
2540:
2464:
2000:
735:
678:
213:
4104:
4088:
4014:
3611:
3518:
2004:
1917:
739:
433:
129:
847:
If G-bit is zero limit has a granularity of 1 byte, i.e. segment size may be 1, 2, ..., 2 bytes.
776:
496:) which involved resetting the CPU via the keyboard controller and saving the system registers,
436:
required for virtualizing the protected mode itself, however, had to wait for another 20 years.
3880:
3779:
3720:
3669:
3601:
3558:
3399:
3186:
2979:
2548:
2471:
2371:
2037:
1988:
1942:
1875:
1861:
722:
698:
477:
429:
414:
369:
The 286 maintained backward compatibility with its precursor (the 8086) by initially entering
310:
99:
825:
address of the segment, a limit value for the segment size, and some attribute bits (flags).
444:
With the release of the 386, the following additional features were added to protected mode:
4057:
4052:
3895:
3700:
3252:
2140:
2133:
743:
410:
248:
3004:
424:
Furthermore, learning from the failures of the 286 protected mode to satisfy the needs for
4047:
3946:
3644:
3606:
3577:
2799:. Santa Clara, California: Intel. 1987. Appendix C 8086/8088 Compatibility Considerations.
2567:
1879:
1871:
637:
or executing privileged instructions. In most environments, the operating system and some
290:
209:
133:
2735:
Intel 64 and IA-32 Architectures
Software Developer's Manual Volume 1: Basic Architecture
2521:
Intel 64 and IA-32 Architectures
Software Developer's Manual Volume 1: Basic Architecture
2274:
Intel 64 and IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture
2220:
Intel 64 and IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture
2168:
Intel 64 and IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture
2111:
Intel 64 and IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture
3196:
2079:
2019:, all under control of a 32-bit kernel. However, 64-bit operating systems (which run in
30:
This article is about the x86 processor mode. For Internet Explorer Protected Mode, see
4062:
4029:
4024:
3829:
3730:
3654:
3616:
3488:
3206:
1882:. This allows for more memory to be used than physically available in primary storage.
662:
468:
217:
45:
4187:
4039:
3842:
3837:
3596:
3435:
3389:
2008:
1976:
755:
638:
457:
425:
137:
123:
3523:
3157:
3120:
1996:
747:
710:
501:
2613:
2508:. Santa Clara, CA: Intel. 1986. Section 2.1 Memory Organization and Segmentation.
2395:
328:
intended to solve this limitation along with others with the release of the 286.
4083:
3649:
3631:
3414:
3404:
3394:
3211:
2810:
2572:
1981:
1966:
706:
702:
432:, which allowed multiple virtualized 8086 processors to be emulated on the 386.
399:
337:
286:
113:
103:
93:
89:
83:
3096:
Only one page directory may be active at a time, indicated by the CR3 register.
2023:) no longer use this, since virtual 8086 mode has been removed from long mode.
727:
With the release of the 386, protected mode offers what the Intel manuals call
3847:
2016:
1971:
1947:
1890:
759:
497:
318:
279:
69:
63:
17:
3994:
3875:
3586:
3493:
3419:
3384:
3018:
2330:
2032:
2020:
1913:
634:
406:
370:
236:
119:
59:
3216:
762:, which dropped backward compatibility for "ill-behaved" DOS applications.
3081:
3928:
3923:
3913:
3903:
3715:
2281:. May 2019. Section 2.1 Brief History of Intel 64 and IA-32 Architecture.
791:
713:) applications in protected mode, which ran in real mode in Windows 2.x.
689:
Use of BIOS functions, due to the BIOS interrupts being reserved by Intel
512:
379:
374:
363:
355:
306:
298:
2780:. Santa Clara, California: Intel. 1987. Section 1.3.1 Memory Management.
3918:
3710:
3639:
3409:
810:, in which the 13 upper bits (bit 3 to bit 15) contain the index of an
621:
461:
73:
2011:(e.g. for changing the screen-resolution using BIOS functionality) in
1945:
a computer. OS/2 1.x defines restrictive programming rules allowing a
625:
Example of privilege ring usage in an operating system using all rings
1848:
697:
application programs violated these rules. Due to these limitations,
453:
448:
221:
147:
3748:
3221:
2444:
358:
segments, addresed by its four segment registers, meaning that only
3197:
Overview of the Protected Mode Operations of the Intel Architecture
2947:
2878:
2846:
1711:= 1 then code with the same or a lower privilege level relative to
3659:
2928:
2908:
2739:
2697:
2679:
2661:
2643:
2525:
2278:
2224:
2172:
2115:
2042:
1860:
1852:
855:
The 386 processor also uses 32 bit values for the address offset.
775:
758:. An example of such a compromise can be seen with the release of
620:
418:
389:
351:
347:
325:
267:
263:
259:
2811:"Memory access control method and system for realizing the same"
2072:"Memory access control method and system for realizing the same"
2012:
1960:
1956:
1938:
464:, and other 386 processor variants which use the older 286 bus.)
314:
294:
3752:
3225:
2761:. Santa Clara, CA: Intel. 1987. Section 1.2 Modes of Operation.
2700:. Section 9.9.2 Switching Back to Real-Address Mode, page 9-14.
1984:, real mode was no longer supported and could not be accessed.
1857:
Common method of using paging to create a virtual address space
3695:
701:
was introduced with the 386. Despite such potential setbacks,
694:
489:
283:
282:, a predecessor to the 286, was originally designed with a 20-
255:
244:
201:
49:
1955:
program to run in either real or protected mode. Some early
266:(286) processor, and later extended with the release of the
2396:"General Information FAQ for the Coherent Operating System"
2127:
2125:
1837:
Bit 52 of the 80386 descriptor is not used by the hardware.
1794:
bit, which should generally be cleared for system segments;
2742:. May 2019. Section 6.3.5 Calls to Other Privilege Levels.
2227:. May 2019. Section 2.1.2 The Intel 286 Processor (1982).
2161:
2159:
2118:. May 2019. Section 2.1.3 The Intel 386 Processor (1985).
1885:
The x86 architecture allows control of pages through two
460:(The 32-bit physical address space is not present on the
3217:
Akernelloader switching from real mode to protected mode
2719:. Santa Clara, CA: Intel. 1986. Chapter 7, Multitasking.
583:; clear prefetch queue; (using far jump instruction jmp)
228:
designed to increase an operating system's control over
3791:
Memory management as a function of an operating system
3202:
TurboIRC.COM tutorial to enter protected mode from DOS
629:
In protected mode, there are four privilege levels or
2305:
PC Microprocessor Developments and Features Tutorials
474:
Ability to switch back to real mode without resetting
309:
for use by applications and the operating system and
2541:"12.10. Protected Mode Operation and Device Drivers"
1700:= 0 then only code with the same privilege level as
4097:
4071:
4038:
3965:
3937:
3894:
3861:
3828:
3799:
3688:
3625:
3571:
3532:
3467:
3458:
3428:
3375:
3366:
3305:
3259:
2570:, Intel's 32-bit Wonder: The 80386 Microprocessor,
2495:
2493:
2236:
2234:
834:linear address equals the physical memory address.
2931:. May 2019. Section 20.2.7 Sensitive Instructions.
2463:
3047:. Microsoft TechNet. May 28, 2003. Archived from
3019:"ProtectedMode overview [deinmeister.de]"
2646:. Section 21.33.1 Segment Wraparound, page 21-34.
2682:. Section 9.10.2 STARTUP.ASM Listing, page 9-19.
2104:
2102:
2003:) or Windows 3.x applications (through the
750:(I/O), which can negatively impact performance.
3039:
3037:
2664:. 9.9.1 Switching to Protected Mode, page 9-13.
2361:
2359:
2357:
2355:
2353:
655:
2974:Dabak, Prasad; Millind Borate (October 1999).
2713:Intel 80386 Programmer's Reference Manual 1986
641:run in ring 0 and applications run in ring 3.
3764:
3237:
2793:80286 and 80287 Programmer's Reference Manual
2774:80286 and 80287 Programmer's Reference Manual
2755:80286 and 80287 Programmer's Reference Manual
2292:
2290:
2288:
1991:is still used for running applications, e.g.
173:
157:First supported platform shown in parentheses
8:
4110:International Symposium on Memory Management
3106:
3104:
2999:
2997:
2995:
1865:Paging (on Intel 80386) with page size of 4K
821:The descriptor table entry defines the real
3078:"Advanced Embedded x86 Programming: Paging"
2911:. May 2019. Section 20.2 Virtual 8086 Mode.
2528:. May 2019. Section 3.1 Modes of Operation.
2175:. May 2019. Section 3.1 Modes of Operation.
413:which run on the x86 architecture, such as
317:(Basic Input/Output System) and memory for
3771:
3757:
3749:
3464:
3372:
3244:
3230:
3222:
2415:(Press release). Microsoft. Archived from
746:with the use of instructions that involve
258:architecture in 1982, with the release of
180:
166:
36:
3150:"news: Multitasking for x86 explained #1"
3113:"news: Multitasking for x86 explained #1"
2466:Upgrading and Repairing PCs, 17th Edition
1912:Through the use of the rings, privileged
651:Intel 80286 Programmer's Reference Manual
492:devised a workaround (implemented in the
293:. This allowed the processor to access 2
2728:
2726:
2588:"Sending software to do hardware's job"
2460:"P2 (286) Second-Generation Processors"
2134:"Guide: What does protected mode mean?"
2063:
1963: 1.x, and Windows used this mode.
1782:= 0 then the segment is a data segment.
1775:= 1 then the segment is a code segment;
44:
27:Operational mode of x86-compatible CPUs
3005:"Global Descriptor table - OSDev Wiki"
2260:1985 Intel launches Intel386 processor
2242:"Intel Global Citizenship Report 2003"
1249:
867:
550:; save control register 0 (CR0) to EBX
254:Protected mode was first added to the
863:Structure of segment descriptor entry
7:
3212:Code Project Protected Mode Tutorial
3207:Protected Mode Overview and Tutorial
1987:In modern 32-bit operating systems,
4194:Programming language implementation
3819:Input–output memory management unit
2502:80386 Programmer's Reference Manual
2410:"Microsoft XENIX 286 Press Release"
645:Real mode application compatibility
535:; enter protected mode (set PE bit)
484:Entering and exiting protected mode
2007:subsystem) and certain classes of
565:; set PE bit by ORing, save to EBX
25:
2942:Robinson, Tim (August 26, 2002).
2873:Robinson, Tim (August 26, 2002).
2841:Robinson, Tim (August 26, 2002).
2612:Shvets, Gennadiy (June 3, 2007).
2458:Mueller, Scott (March 24, 2006).
607:without proper hardware support.
4168:
4167:
4158:
4157:
4148:
4147:
4138:
4137:
4128:
4127:
3348:Object-oriented operating system
2576:, November 25, 1986, pp. 150-152
2368:"Introduction to Protected-Mode"
2325:Risley, David (March 23, 2001).
2015:2.0 (and later OS/2) and 32-bit
1920:(TSS), introduced with the 286,
3990:Concurrent mark sweep collector
2539:Hyde, Randall (November 2004).
2370:. Internals.com. Archived from
2193:. ftp.utcluj.ro. Archived from
440:386 additions to protected mode
4115:Region-based memory management
3358:Supercomputer operating system
3192:Introduction to Protected-Mode
3080:. Embedded.com. Archived from
2614:"Intel 80386 processor family"
2078:. May 23, 1995. Archived from
198:protected virtual address mode
1:
2586:Tom Yager (6 November 2004).
1874:and onto a slower and larger
507:To enter protected mode, the
394:An Intel 80386 microprocessor
4163:Memory management algorithms
3975:Automatic Reference Counting
3813:Translation lookaside buffer
3333:Just enough operating system
3318:Distributed operating system
2329:. PCMechanic. Archived from
200:, is an operational mode of
4153:Automatic memory management
3952:C dynamic memory allocation
3446:User space and kernel space
2470:(Book) (17 ed.). Que.
1750:= 1 then the segment grows
1739:= 0 then the segment grows
434:Hardware x86 virtualization
311:the remaining 384 kilobytes
297:of memory, equivalent to 1
32:Mandatory Integrity Control
4215:
4173:Memory management software
4020:Tracing garbage collection
3853:Virtual memory compression
3353:Real-time operating system
3156:. NewOrder. Archived from
3119:. NewOrder. Archived from
1905:
1846:
1802:Descriptor Privilege Level
1428:
1425:
1213:
1046:
1043:
769:
720:
614:
397:
335:
29:
4123:
3786:
3549:Multilevel feedback queue
3544:Fixed-priority preemptive
3328:Hobbyist operating system
3323:Embedded operating system
3148:zwanderer (May 2, 2004).
3111:zwanderer (May 2, 2004).
2946:. berliOS. Archived from
2877:. berliOS. Archived from
2845:. berliOS. Archived from
2441:"MINIX Information Sheet"
1636:
1633:
1630:
1627:
1624:
1621:
1618:
1615:
1612:
1607:
1604:
1601:
1598:
1595:
1239:
1236:
1233:
1230:
1227:
1224:
1221:
1218:
780:Virtual segments of 80286
679:Writing to a code segment
428:, Intel added a separate
3947:Static memory allocation
3939:Manual memory management
3592:General protection fault
3343:Network operating system
3297:User features comparison
2186:Collins, Robert (2007).
2048:Ring (computer security)
1254:80386 Segment descriptor
872:80286 Segment descriptor
806:is replaced by a 16-bit
617:Ring (computer security)
529:
212:to use features such as
206:central processing units
4005:Garbage-first collector
3980:Boehm garbage collector
3886:x86 memory segmentation
3338:Mobile operating system
2976:Undocumented Windows NT
2188:"Protected Mode Basics"
1937:Operating systems like
1922:preemptive multitasking
1889:: page directories and
802:In protected mode, the
772:X86 memory segmentation
693:In reality, almost all
672:Privileged instructions
509:Global Descriptor Table
346:(from 1982), Microsoft
305:reserved the first 640
239:, in order to maintain
4010:Mark–compact algorithm
3807:Memory management unit
3441:Loadable kernel module
2978:(Book). Hungry Minds.
2366:Kaplan, Yariv (1997).
2132:root (July 14, 2007).
1866:
1858:
781:
675:Direct hardware access
659:
626:
580:; save EBX back to CR0
395:
241:backward compatibility
110:System Management Mode
3509:Process control block
3475:Computer multitasking
3313:Disk operating system
3187:Protected Mode Basics
2085:on September 26, 2007
2053:x86 assembly language
1908:Computer multitasking
1906:Further information:
1864:
1856:
1847:Further information:
779:
770:Further information:
624:
615:Further information:
456:physical and virtual
398:Further information:
393:
336:Further information:
303:IBM Personal Computer
3957:new and delete (C++)
3680:Virtual tape library
3272:Forensic engineering
2001:virtual DOS machines
1822:Default operand size
1674:(Bit 42) depends on
686:Overlapping segments
525:prefetch input queue
230:application software
4199:X86 operating modes
3863:Memory segmentation
3689:Supporting concepts
3675:Virtual file system
2944:"Virtual 8086 Mode"
2875:"Virtual 8086 Mode"
2843:"Virtual 8086 Mode"
2447:on January 7, 2014.
2398:. January 23, 1993.
1959:operating systems,
736:self-modifying code
421:, and many others.
40:Part of a series on
4105:Automatic variable
4089:Unreachable memory
4015:Reference counting
3985:Cheney's algorithm
3967:Garbage collection
3612:Segmentation fault
3460:Process management
3045:"What Is PAE X86?"
2953:on October 3, 2002
2884:on October 3, 2002
2852:on October 3, 2002
2336:on August 29, 2008
2005:Windows on Windows
1999:programs (through
1918:Task State Segment
1867:
1859:
782:
766:Segment addressing
669:Segment arithmetic
627:
396:
350:(around 1984) and
208:(CPUs). It allows
130:x86 virtualization
4181:
4180:
4133:Memory management
3881:Virtual 8086 mode
3780:Memory management
3746:
3745:
3602:Memory protection
3573:Memory management
3567:
3566:
3559:Shortest job next
3454:
3453:
3253:Operating systems
2818:US Patent 5483646
2076:US Patent 5483646
2038:Assembly language
1989:virtual 8086 mode
1933:Operating systems
1876:secondary storage
1645:
1644:
1641:
1640:
1248:
1247:
1244:
1243:
738:will generate an
729:virtual 8086 mode
723:Virtual 8086 mode
717:Virtual 8086 mode
699:virtual 8086 mode
649:According to the
478:Virtual 8086 mode
430:virtual 8086 mode
415:Microsoft Windows
411:operating systems
190:
189:
100:Virtual 8086 mode
16:(Redirected from
4206:
4171:
4170:
4161:
4160:
4151:
4150:
4141:
4140:
4131:
4130:
4058:Dangling pointer
4053:Buffer over-read
4025:Strong reference
3896:Memory allocator
3773:
3766:
3759:
3750:
3701:Computer network
3465:
3373:
3246:
3239:
3232:
3223:
3175:
3174:
3169:
3168:
3162:
3145:
3139:
3138:
3132:
3131:
3125:
3108:
3099:
3098:
3093:
3092:
3086:
3073:
3067:
3066:
3060:
3059:
3053:
3041:
3032:
3031:
3029:
3028:
3023:
3015:
3009:
3008:
3001:
2990:
2989:
2971:
2965:
2964:
2959:
2958:
2952:
2939:
2933:
2932:
2919:
2913:
2912:
2899:
2893:
2892:
2890:
2889:
2883:
2870:
2864:
2863:
2858:
2857:
2851:
2838:
2832:
2831:
2826:
2825:
2815:
2807:
2801:
2800:
2798:
2788:
2782:
2781:
2779:
2769:
2763:
2762:
2760:
2750:
2744:
2743:
2730:
2721:
2720:
2718:
2708:
2702:
2701:
2690:
2684:
2683:
2672:
2666:
2665:
2654:
2648:
2647:
2636:
2630:
2629:
2624:
2623:
2618:
2609:
2603:
2602:
2600:
2598:
2583:
2577:
2565:
2559:
2558:
2545:Write Great Code
2536:
2530:
2529:
2516:
2510:
2509:
2507:
2497:
2488:
2487:
2485:
2484:
2469:
2455:
2449:
2448:
2443:. Archived from
2437:
2431:
2430:
2428:
2427:
2421:
2414:
2406:
2400:
2399:
2392:
2386:
2385:
2383:
2382:
2376:
2363:
2348:
2347:
2342:
2341:
2335:
2322:
2316:
2315:
2313:
2312:
2302:
2301:(Tutorial/Guide)
2294:
2283:
2282:
2269:
2263:
2262:
2257:
2256:
2250:
2244:. Archived from
2238:
2229:
2228:
2215:
2209:
2208:
2206:
2205:
2199:
2192:
2183:
2177:
2176:
2163:
2154:
2153:
2148:
2147:
2141:Delorie Software
2138:
2129:
2120:
2119:
2106:
2097:
2096:
2091:
2090:
2084:
2068:
1982:Windows 3.1
1967:Windows 3.0
1261:
1260:
1250:
879:
878:
868:
816:descriptor table
805:
611:Privilege levels
593:
590:
587:
584:
581:
578:
575:
572:
569:
566:
563:
560:
557:
554:
551:
548:
545:
542:
539:
536:
533:
361:
249:control register
182:
175:
168:
72:emulation mode (
37:
21:
4214:
4213:
4209:
4208:
4207:
4205:
4204:
4203:
4184:
4183:
4182:
4177:
4119:
4093:
4067:
4048:Buffer overflow
4034:
3961:
3933:
3890:
3857:
3824:
3795:
3782:
3777:
3747:
3742:
3684:
3645:Defragmentation
3630:
3621:
3607:Protection ring
3576:
3563:
3535:
3528:
3450:
3424:
3362:
3301:
3255:
3250:
3183:
3178:
3166:
3164:
3160:
3147:
3146:
3142:
3129:
3127:
3123:
3110:
3109:
3102:
3090:
3088:
3084:
3075:
3074:
3070:
3057:
3055:
3051:
3043:
3042:
3035:
3026:
3024:
3021:
3017:
3016:
3012:
3003:
3002:
2993:
2986:
2973:
2972:
2968:
2956:
2954:
2950:
2941:
2940:
2936:
2921:
2920:
2916:
2901:
2900:
2896:
2887:
2885:
2881:
2872:
2871:
2867:
2855:
2853:
2849:
2840:
2839:
2835:
2823:
2821:
2813:
2809:
2808:
2804:
2796:
2790:
2789:
2785:
2777:
2771:
2770:
2766:
2758:
2752:
2751:
2747:
2732:
2731:
2724:
2716:
2710:
2709:
2705:
2692:
2691:
2687:
2674:
2673:
2669:
2656:
2655:
2651:
2638:
2637:
2633:
2621:
2619:
2616:
2611:
2610:
2606:
2596:
2594:
2585:
2584:
2580:
2568:Charles Petzold
2566:
2562:
2555:
2538:
2537:
2533:
2518:
2517:
2513:
2505:
2499:
2498:
2491:
2482:
2480:
2478:
2457:
2456:
2452:
2439:
2438:
2434:
2425:
2423:
2419:
2412:
2408:
2407:
2403:
2394:
2393:
2389:
2380:
2378:
2374:
2365:
2364:
2351:
2339:
2337:
2333:
2327:"A CPU History"
2324:
2323:
2319:
2310:
2308:
2307:. BrainBell.com
2300:
2298:"A+ - Hardware"
2296:
2295:
2286:
2271:
2270:
2266:
2254:
2252:
2248:
2240:
2239:
2232:
2217:
2216:
2212:
2203:
2201:
2197:
2190:
2185:
2184:
2180:
2165:
2164:
2157:
2145:
2143:
2136:
2131:
2130:
2123:
2108:
2107:
2100:
2088:
2086:
2082:
2070:
2069:
2065:
2061:
2029:
1935:
1910:
1904:
1880:hard disk drive
1872:primary storage
1851:
1845:
1840:
1591:
1586:
1581:
1576:
1571:
1566:
1561:
1556:
1551:
1546:
1541:
1536:
1531:
1526:
1521:
1516:
1511:
1506:
1501:
1496:
1491:
1486:
1481:
1476:
1471:
1466:
1461:
1456:
1451:
1446:
1441:
1436:
1421:
1416:
1411:
1406:
1401:
1396:
1391:
1386:
1381:
1376:
1371:
1366:
1361:
1356:
1351:
1346:
1341:
1336:
1331:
1326:
1321:
1316:
1311:
1306:
1301:
1296:
1291:
1286:
1281:
1276:
1271:
1266:
1209:
1204:
1199:
1194:
1189:
1184:
1179:
1174:
1169:
1164:
1159:
1154:
1149:
1144:
1139:
1134:
1129:
1124:
1119:
1114:
1109:
1104:
1099:
1094:
1089:
1084:
1079:
1074:
1069:
1064:
1059:
1054:
1039:
1034:
1029:
1024:
1019:
1014:
1009:
1004:
999:
994:
989:
984:
979:
974:
969:
964:
959:
954:
949:
944:
939:
934:
929:
924:
919:
914:
909:
904:
899:
894:
889:
884:
865:
840:
831:
803:
800:
787:
774:
768:
756:legacy software
725:
719:
647:
619:
613:
604:
595:
594:
591:
588:
585:
582:
579:
576:
573:
570:
567:
564:
561:
558:
555:
552:
549:
546:
543:
540:
537:
534:
531:
486:
442:
402:
388:
359:
340:
334:
276:
210:system software
186:
134:Intel Pentium 4
35:
28:
23:
22:
15:
12:
11:
5:
4212:
4210:
4202:
4201:
4196:
4186:
4185:
4179:
4178:
4176:
4175:
4165:
4155:
4145:
4143:Virtual memory
4135:
4124:
4121:
4120:
4118:
4117:
4112:
4107:
4101:
4099:
4095:
4094:
4092:
4091:
4086:
4081:
4075:
4073:
4069:
4068:
4066:
4065:
4063:Stack overflow
4060:
4055:
4050:
4044:
4042:
4036:
4035:
4033:
4032:
4030:Weak reference
4027:
4022:
4017:
4012:
4007:
4002:
3997:
3992:
3987:
3982:
3977:
3971:
3969:
3963:
3962:
3960:
3959:
3954:
3949:
3943:
3941:
3935:
3934:
3932:
3931:
3926:
3921:
3916:
3911:
3906:
3900:
3898:
3892:
3891:
3889:
3888:
3883:
3878:
3873:
3871:Protected mode
3867:
3865:
3859:
3858:
3856:
3855:
3850:
3845:
3840:
3834:
3832:
3830:Virtual memory
3826:
3825:
3823:
3822:
3816:
3810:
3803:
3801:
3797:
3796:
3794:
3793:
3787:
3784:
3783:
3778:
3776:
3775:
3768:
3761:
3753:
3744:
3743:
3741:
3740:
3735:
3734:
3733:
3731:User interface
3728:
3718:
3713:
3708:
3703:
3698:
3692:
3690:
3686:
3685:
3683:
3682:
3677:
3672:
3667:
3662:
3657:
3655:File attribute
3652:
3647:
3642:
3636:
3634:
3623:
3622:
3620:
3619:
3617:Virtual memory
3614:
3609:
3604:
3599:
3594:
3589:
3583:
3581:
3569:
3568:
3565:
3564:
3562:
3561:
3556:
3551:
3546:
3540:
3538:
3530:
3529:
3527:
3526:
3521:
3516:
3511:
3506:
3501:
3496:
3491:
3489:Context switch
3486:
3471:
3469:
3462:
3456:
3455:
3452:
3451:
3449:
3448:
3443:
3438:
3432:
3430:
3426:
3425:
3423:
3422:
3417:
3412:
3407:
3402:
3397:
3392:
3387:
3381:
3379:
3370:
3364:
3363:
3361:
3360:
3355:
3350:
3345:
3340:
3335:
3330:
3325:
3320:
3315:
3309:
3307:
3303:
3302:
3300:
3299:
3294:
3289:
3284:
3279:
3274:
3269:
3263:
3261:
3257:
3256:
3251:
3249:
3248:
3241:
3234:
3226:
3220:
3219:
3214:
3209:
3204:
3199:
3194:
3189:
3182:
3181:External links
3179:
3177:
3176:
3140:
3100:
3076:Gareau, Jean.
3068:
3033:
3010:
2991:
2984:
2966:
2934:
2914:
2894:
2865:
2833:
2802:
2783:
2764:
2745:
2722:
2703:
2685:
2667:
2649:
2631:
2604:
2578:
2560:
2553:
2531:
2511:
2489:
2476:
2450:
2432:
2401:
2387:
2349:
2317:
2284:
2264:
2230:
2210:
2178:
2155:
2121:
2098:
2062:
2060:
2057:
2056:
2055:
2050:
2045:
2040:
2035:
2028:
2025:
2009:device drivers
1934:
1931:
1903:
1900:
1844:
1841:
1839:
1838:
1835:
1825:
1815:
1805:
1795:
1785:
1784:
1783:
1776:
1759:
1758:
1757:
1756:
1755:
1744:
1718:
1717:
1716:
1715:may jump here.
1705:
1704:may jump here;
1669:
1659:
1643:
1642:
1639:
1638:
1635:
1632:
1629:
1626:
1623:
1620:
1617:
1614:
1611:
1606:
1603:
1600:
1597:
1593:
1592:
1589:
1587:
1584:
1582:
1579:
1577:
1574:
1572:
1569:
1567:
1564:
1562:
1559:
1557:
1554:
1552:
1549:
1547:
1544:
1542:
1539:
1537:
1534:
1532:
1529:
1527:
1524:
1522:
1519:
1517:
1514:
1512:
1509:
1507:
1504:
1502:
1499:
1497:
1494:
1492:
1489:
1487:
1484:
1482:
1479:
1477:
1474:
1472:
1469:
1467:
1464:
1462:
1459:
1457:
1454:
1452:
1449:
1447:
1444:
1442:
1439:
1437:
1434:
1431:
1430:
1427:
1423:
1422:
1419:
1417:
1414:
1412:
1409:
1407:
1404:
1402:
1399:
1397:
1394:
1392:
1389:
1387:
1384:
1382:
1379:
1377:
1374:
1372:
1369:
1367:
1364:
1362:
1359:
1357:
1354:
1352:
1349:
1347:
1344:
1342:
1339:
1337:
1334:
1332:
1329:
1327:
1324:
1322:
1319:
1317:
1314:
1312:
1309:
1307:
1304:
1302:
1299:
1297:
1294:
1292:
1289:
1287:
1284:
1282:
1279:
1277:
1274:
1272:
1269:
1267:
1264:
1257:
1256:
1246:
1245:
1242:
1241:
1238:
1235:
1232:
1229:
1226:
1223:
1220:
1217:
1211:
1210:
1207:
1205:
1202:
1200:
1197:
1195:
1192:
1190:
1187:
1185:
1182:
1180:
1177:
1175:
1172:
1170:
1167:
1165:
1162:
1160:
1157:
1155:
1152:
1150:
1147:
1145:
1142:
1140:
1137:
1135:
1132:
1130:
1127:
1125:
1122:
1120:
1117:
1115:
1112:
1110:
1107:
1105:
1102:
1100:
1097:
1095:
1092:
1090:
1087:
1085:
1082:
1080:
1077:
1075:
1072:
1070:
1067:
1065:
1062:
1060:
1057:
1055:
1052:
1049:
1048:
1045:
1041:
1040:
1037:
1035:
1032:
1030:
1027:
1025:
1022:
1020:
1017:
1015:
1012:
1010:
1007:
1005:
1002:
1000:
997:
995:
992:
990:
987:
985:
982:
980:
977:
975:
972:
970:
967:
965:
962:
960:
957:
955:
952:
950:
947:
945:
942:
940:
937:
935:
932:
930:
927:
925:
922:
920:
917:
915:
912:
910:
907:
905:
902:
900:
897:
895:
892:
890:
887:
885:
882:
875:
874:
866:
864:
861:
853:
852:
848:
839:
836:
830:
827:
799:
798:Protected mode
796:
786:
783:
767:
764:
721:Main article:
718:
715:
691:
690:
687:
684:
683:Executing data
681:
676:
673:
670:
663:virtual memory
646:
643:
639:device drivers
612:
609:
603:
600:
532:; MASM program
530:
485:
482:
481:
480:
475:
472:
465:
451:
441:
438:
387:
384:
333:
330:
319:add-on devices
275:
272:
218:virtual memory
196:, also called
194:protected mode
192:In computing,
188:
187:
185:
184:
177:
170:
162:
159:
158:
154:
153:
152:
151:
141:
127:
117:
107:
97:
87:
80:Protected mode
77:
67:
54:
53:
48:modes for the
46:Microprocessor
42:
41:
26:
24:
18:Protected-mode
14:
13:
10:
9:
6:
4:
3:
2:
4211:
4200:
4197:
4195:
4192:
4191:
4189:
4174:
4166:
4164:
4156:
4154:
4146:
4144:
4136:
4134:
4126:
4125:
4122:
4116:
4113:
4111:
4108:
4106:
4103:
4102:
4100:
4096:
4090:
4087:
4085:
4082:
4080:
4079:Fragmentation
4077:
4076:
4074:
4070:
4064:
4061:
4059:
4056:
4054:
4051:
4049:
4046:
4045:
4043:
4041:
4040:Memory safety
4037:
4031:
4028:
4026:
4023:
4021:
4018:
4016:
4013:
4011:
4008:
4006:
4003:
4001:
3998:
3996:
3993:
3991:
3988:
3986:
3983:
3981:
3978:
3976:
3973:
3972:
3970:
3968:
3964:
3958:
3955:
3953:
3950:
3948:
3945:
3944:
3942:
3940:
3936:
3930:
3927:
3925:
3922:
3920:
3917:
3915:
3912:
3910:
3907:
3905:
3902:
3901:
3899:
3897:
3893:
3887:
3884:
3882:
3879:
3877:
3874:
3872:
3869:
3868:
3866:
3864:
3860:
3854:
3851:
3849:
3846:
3844:
3843:Memory paging
3841:
3839:
3838:Demand paging
3836:
3835:
3833:
3831:
3827:
3820:
3817:
3814:
3811:
3808:
3805:
3804:
3802:
3798:
3792:
3789:
3788:
3785:
3781:
3774:
3769:
3767:
3762:
3760:
3755:
3754:
3751:
3739:
3736:
3732:
3729:
3727:
3724:
3723:
3722:
3719:
3717:
3714:
3712:
3709:
3707:
3704:
3702:
3699:
3697:
3694:
3693:
3691:
3687:
3681:
3678:
3676:
3673:
3671:
3668:
3666:
3663:
3661:
3658:
3656:
3653:
3651:
3648:
3646:
3643:
3641:
3638:
3637:
3635:
3633:
3628:
3624:
3618:
3615:
3613:
3610:
3608:
3605:
3603:
3600:
3598:
3597:Memory paging
3595:
3593:
3590:
3588:
3585:
3584:
3582:
3579:
3574:
3570:
3560:
3557:
3555:
3552:
3550:
3547:
3545:
3542:
3541:
3539:
3537:
3531:
3525:
3522:
3520:
3517:
3515:
3512:
3510:
3507:
3505:
3502:
3500:
3497:
3495:
3492:
3490:
3487:
3484:
3480:
3476:
3473:
3472:
3470:
3466:
3463:
3461:
3457:
3447:
3444:
3442:
3439:
3437:
3436:Device driver
3434:
3433:
3431:
3427:
3421:
3418:
3416:
3413:
3411:
3408:
3406:
3403:
3401:
3398:
3396:
3393:
3391:
3388:
3386:
3383:
3382:
3380:
3378:
3377:Architectures
3374:
3371:
3369:
3365:
3359:
3356:
3354:
3351:
3349:
3346:
3344:
3341:
3339:
3336:
3334:
3331:
3329:
3326:
3324:
3321:
3319:
3316:
3314:
3311:
3310:
3308:
3304:
3298:
3295:
3293:
3290:
3288:
3285:
3283:
3280:
3278:
3275:
3273:
3270:
3268:
3265:
3264:
3262:
3258:
3254:
3247:
3242:
3240:
3235:
3233:
3228:
3227:
3224:
3218:
3215:
3213:
3210:
3208:
3205:
3203:
3200:
3198:
3195:
3193:
3190:
3188:
3185:
3184:
3180:
3173:
3163:on 2007-02-12
3159:
3155:
3151:
3144:
3141:
3137:
3126:on 2007-02-12
3122:
3118:
3114:
3107:
3105:
3101:
3097:
3087:on 2008-05-16
3083:
3079:
3072:
3069:
3065:
3054:on 2008-04-22
3050:
3046:
3040:
3038:
3034:
3020:
3014:
3011:
3006:
3000:
2998:
2996:
2992:
2987:
2985:0-7645-4569-8
2981:
2977:
2970:
2967:
2963:
2949:
2945:
2938:
2935:
2930:
2926:
2925:
2918:
2915:
2910:
2906:
2905:
2898:
2895:
2880:
2876:
2869:
2866:
2862:
2848:
2844:
2837:
2834:
2830:
2820:. May 6, 1998
2819:
2812:
2806:
2803:
2795:
2794:
2787:
2784:
2776:
2775:
2768:
2765:
2757:
2756:
2749:
2746:
2741:
2737:
2736:
2729:
2727:
2723:
2715:
2714:
2707:
2704:
2699:
2695:
2689:
2686:
2681:
2677:
2671:
2668:
2663:
2659:
2653:
2650:
2645:
2641:
2635:
2632:
2628:
2615:
2608:
2605:
2593:
2589:
2582:
2579:
2575:
2574:
2569:
2564:
2561:
2556:
2554:1-59327-003-8
2550:
2546:
2542:
2535:
2532:
2527:
2523:
2522:
2515:
2512:
2504:
2503:
2496:
2494:
2490:
2479:
2477:0-7897-3404-4
2473:
2468:
2467:
2461:
2454:
2451:
2446:
2442:
2436:
2433:
2422:on 2014-10-21
2418:
2411:
2405:
2402:
2397:
2391:
2388:
2377:on 2007-06-22
2373:
2369:
2362:
2360:
2358:
2356:
2354:
2350:
2346:
2332:
2328:
2321:
2318:
2306:
2299:
2293:
2291:
2289:
2285:
2280:
2276:
2275:
2268:
2265:
2261:
2251:on 2008-03-22
2247:
2243:
2237:
2235:
2231:
2226:
2222:
2221:
2214:
2211:
2200:on 2011-07-07
2196:
2189:
2182:
2179:
2174:
2170:
2169:
2162:
2160:
2156:
2152:
2142:
2135:
2128:
2126:
2122:
2117:
2113:
2112:
2105:
2103:
2099:
2095:
2081:
2077:
2073:
2067:
2064:
2058:
2054:
2051:
2049:
2046:
2044:
2041:
2039:
2036:
2034:
2031:
2030:
2026:
2024:
2022:
2018:
2014:
2010:
2006:
2002:
1998:
1994:
1990:
1985:
1983:
1978:
1973:
1968:
1964:
1962:
1958:
1954:
1950:
1949:
1944:
1940:
1932:
1930:
1926:
1923:
1919:
1915:
1909:
1901:
1899:
1896:
1892:
1888:
1883:
1881:
1877:
1873:
1863:
1855:
1850:
1842:
1836:
1833:
1829:
1826:
1823:
1819:
1816:
1813:
1809:
1806:
1803:
1799:
1796:
1793:
1789:
1786:
1781:
1777:
1774:
1770:
1769:
1767:
1763:
1760:
1753:
1749:
1745:
1742:
1738:
1734:
1733:
1731:
1727:
1723:
1719:
1714:
1710:
1706:
1703:
1699:
1695:
1694:
1692:
1688:
1684:
1680:
1679:
1677:
1673:
1670:
1667:
1663:
1660:
1657:
1653:
1650:
1649:
1648:
1610:
1594:
1588:
1583:
1578:
1573:
1568:
1563:
1558:
1553:
1548:
1543:
1538:
1533:
1528:
1523:
1518:
1513:
1508:
1503:
1498:
1493:
1488:
1483:
1478:
1473:
1468:
1463:
1458:
1453:
1448:
1443:
1438:
1433:
1432:
1424:
1418:
1413:
1408:
1403:
1398:
1393:
1388:
1383:
1378:
1373:
1368:
1363:
1358:
1353:
1348:
1343:
1338:
1333:
1328:
1323:
1318:
1313:
1308:
1303:
1298:
1293:
1288:
1283:
1278:
1273:
1268:
1263:
1262:
1259:
1258:
1255:
1252:
1251:
1216:
1212:
1206:
1201:
1196:
1191:
1186:
1181:
1176:
1171:
1166:
1161:
1156:
1151:
1146:
1141:
1136:
1131:
1126:
1121:
1116:
1111:
1106:
1101:
1096:
1091:
1086:
1081:
1076:
1071:
1066:
1061:
1056:
1051:
1050:
1042:
1036:
1031:
1026:
1021:
1016:
1011:
1006:
1001:
996:
991:
986:
981:
976:
971:
966:
961:
956:
951:
946:
941:
936:
931:
926:
921:
916:
911:
906:
901:
896:
891:
886:
881:
880:
877:
876:
873:
870:
869:
862:
860:
856:
849:
846:
845:
844:
837:
835:
828:
826:
824:
819:
817:
813:
809:
797:
795:
793:
784:
778:
773:
765:
763:
761:
757:
751:
749:
745:
741:
737:
732:
730:
724:
716:
714:
712:
708:
704:
700:
696:
688:
685:
682:
680:
677:
674:
671:
668:
667:
666:
664:
658:
654:
652:
644:
642:
640:
636:
632:
623:
618:
610:
608:
601:
599:
528:
526:
522:
518:
514:
510:
505:
503:
499:
498:stack pointer
495:
491:
483:
479:
476:
473:
470:
466:
463:
459:
458:address space
455:
452:
450:
447:
446:
445:
439:
437:
435:
431:
427:
426:multiuser DOS
422:
420:
416:
412:
408:
401:
392:
385:
383:
381:
376:
372:
367:
365:
357:
353:
349:
345:
339:
331:
329:
327:
322:
320:
316:
312:
308:
304:
300:
296:
292:
288:
285:
281:
273:
271:
269:
265:
261:
257:
252:
250:
246:
242:
238:
233:
231:
227:
226:multi-tasking
223:
219:
215:
211:
207:
203:
199:
195:
183:
178:
176:
171:
169:
164:
163:
161:
160:
156:
155:
149:
145:
142:
139:
138:AMD Athlon 64
135:
131:
128:
125:
124:AMD Athlon 64
121:
118:
115:
111:
108:
105:
101:
98:
95:
91:
88:
85:
81:
78:
75:
71:
68:
65:
61:
58:
57:
56:
55:
51:
47:
43:
39:
38:
33:
19:
3870:
3632:file systems
3524:Time-sharing
3171:
3165:. Retrieved
3158:the original
3153:
3143:
3134:
3128:. Retrieved
3121:the original
3116:
3095:
3089:. Retrieved
3082:the original
3071:
3062:
3056:. Retrieved
3049:the original
3025:. Retrieved
3013:
2975:
2969:
2961:
2955:. Retrieved
2948:the original
2937:
2923:
2917:
2903:
2897:
2886:. Retrieved
2879:the original
2868:
2860:
2854:. Retrieved
2847:the original
2836:
2828:
2822:. Retrieved
2817:
2805:
2792:
2786:
2773:
2767:
2754:
2748:
2734:
2712:
2706:
2688:
2670:
2652:
2634:
2626:
2620:. Retrieved
2607:
2595:. Retrieved
2591:
2581:
2571:
2563:
2547:. O'Reilly.
2544:
2534:
2520:
2514:
2501:
2481:. Retrieved
2465:
2453:
2445:the original
2435:
2424:. Retrieved
2417:the original
2404:
2390:
2379:. Retrieved
2372:the original
2344:
2338:. Retrieved
2331:the original
2320:
2309:. Retrieved
2304:
2273:
2267:
2259:
2253:. Retrieved
2246:the original
2219:
2213:
2202:. Retrieved
2195:the original
2181:
2167:
2150:
2144:. Retrieved
2110:
2093:
2087:. Retrieved
2080:the original
2075:
2066:
1997:DOS extender
1986:
1965:
1952:
1946:
1936:
1927:
1911:
1902:Multitasking
1898:active use.
1884:
1878:, such as a
1868:
1831:
1827:
1821:
1817:
1811:
1807:
1801:
1797:
1792:Segment type
1791:
1787:
1779:
1772:
1765:
1761:
1751:
1747:
1740:
1736:
1729:
1725:
1721:
1712:
1708:
1701:
1697:
1690:
1686:
1682:
1675:
1671:
1665:
1661:
1655:
1651:
1646:
1608:
1253:
1214:
871:
857:
854:
841:
832:
822:
820:
815:
811:
807:
804:segment_part
801:
788:
752:
748:input/output
733:
728:
726:
711:Windows 2.1x
692:
660:
656:
650:
648:
628:
605:
596:
592:CLEAR_LABEL:
506:
502:triple fault
487:
443:
423:
403:
368:
341:
323:
277:
253:
234:
214:segmentation
204:-compatible
197:
193:
191:
79:
52:architecture
4084:Memory leak
3650:Device file
3640:Boot loader
3554:Round-robin
3479:Cooperative
3415:Rump kernel
3405:Multikernel
3395:Microkernel
3292:Usage share
2597:24 November
2573:PC Magazine
1995:compatible
1891:page tables
1832:Granularity
707:Windows 2.0
703:Windows 3.0
589:CLEAR_LABEL
400:Intel 80386
338:Intel 80286
287:address bus
114:Intel 386SL
104:Intel 80386
94:Intel 80286
90:Unreal mode
84:Intel 80286
74:NEC V20/V30
4188:Categories
3848:Page table
3580:protection
3536:algorithms
3534:Scheduling
3483:Preemptive
3429:Components
3400:Monolithic
3267:Comparison
3167:2007-07-29
3130:2007-07-29
3091:2007-07-29
3058:2007-07-29
3027:2007-07-29
2957:2007-07-25
2888:2007-07-25
2856:2007-07-25
2824:2007-07-25
2622:2007-07-24
2483:2017-07-11
2426:2015-08-17
2381:2007-07-24
2340:2007-07-24
2311:2007-07-24
2255:2007-07-14
2249:(Timeline)
2204:2009-07-31
2146:2007-07-14
2089:2007-07-14
2059:References
2017:Windows NT
1972:Windows 9x
1948:Family API
1916:, and the
1914:call gates
1766:Executable
1691:Conforming
760:Windows NT
635:call gates
280:Intel 8086
64:Intel 8086
3995:Finalizer
3876:Real mode
3670:Partition
3587:Bus error
3514:Real-time
3494:Interrupt
3420:Unikernel
3385:Exokernel
3161:(Article)
3124:(Article)
3052:(Article)
3022:(Website)
2617:(Article)
2592:InfoWorld
2375:(Article)
2334:(Article)
2033:Long mode
2021:long mode
1730:direction
1724:= 0 then
1685:= 1 then
814:inside a
785:Real mode
740:exception
407:gigabytes
380:megabytes
371:real mode
364:kilobytes
360:4 × 64 KB
307:kilobytes
251:0 (CR0).
237:real mode
224:and safe
120:Long mode
60:Real mode
3929:ptmalloc
3924:mimalloc
3914:jemalloc
3904:dlmalloc
3800:Hardware
3716:Live USB
3578:resource
3468:Concepts
3306:Variants
3287:Timeline
2814:(Patent)
2083:(Patent)
2027:See also
1666:Readable
1656:Accessed
808:selector
792:line A20
602:Features
513:A20 line
375:software
356:kilobyte
344:Coherent
313:for the
299:megabyte
289:for its
4000:Garbage
3919:libumem
3821:(IOMMU)
3711:Live CD
3665:Journal
3629:access,
3627:Storage
3504:Process
3410:vkernel
3277:History
3260:General
3154:NewOrer
3117:NewOrer
3085:(Guide)
2951:(Guide)
2882:(Guide)
2850:(Guide)
2137:(Guide)
1977:handles
1895:pointer
1830:is the
1820:is the
1812:Present
1810:is the
1800:is the
1790:is the
1764:is the
1728:is the
1689:is the
1664:is the
1654:is the
1647:Where:
851:paging.
471:offsets
469:segment
467:32-bit
462:80386SX
386:The 386
332:The 286
274:History
247:in the
4072:Issues
3519:Thread
3390:Hybrid
3368:Kernel
2982:
2551:
2474:
1887:arrays
1849:Paging
1843:Paging
1613:Limit
1429:Limit
1215:Unused
1047:Limit
823:linear
562:PE_BIT
517:IBM PC
494:IBM AT
454:32-bit
449:Paging
291:memory
222:paging
148:VIA C3
146:mode (
4098:Other
3909:Hoard
3815:(TLB)
3809:(MMU)
3721:Shell
3660:Inode
3064:disk.
2929:Intel
2909:Intel
2797:(PDF)
2778:(PDF)
2759:(PDF)
2740:Intel
2717:(PDF)
2698:Intel
2680:Intel
2662:Intel
2644:Intel
2526:Intel
2506:(PDF)
2420:(PDF)
2413:(PDF)
2279:Intel
2225:Intel
2198:(PDF)
2191:(PDF)
2173:Intel
2116:Intel
2043:Intel
1953:bound
1943:crash
1768:bit:
1732:bit:
1637:Base
1596:Base
1426:Base
1240:Base
1044:Base
812:entry
631:rings
521:PC/XT
419:Linux
352:Minix
348:Xenix
326:Intel
295:bytes
268:80386
264:80286
260:Intel
150:only)
76:only)
3282:List
2980:ISBN
2599:2014
2549:ISBN
2472:ISBN
2013:OS/2
1993:DPMI
1961:OS/2
1957:Unix
1939:OS/2
1834:bit;
1814:bit;
1752:down
1668:bit;
1658:bit;
1619:DPL
1222:DPL
744:trap
709:and
519:and
315:BIOS
278:The
70:8080
3738:PXE
3726:CLI
3706:HAL
3696:API
3499:IPC
1951:or
1798:DPL
1778:if
1771:if
1746:if
1735:if
1720:if
1713:DPL
1707:if
1702:DPL
1696:if
1681:if
838:386
829:286
695:DOS
586:jmp
577:EBX
571:CR0
568:mov
556:EBX
547:CR0
541:EBX
538:mov
490:IBM
284:bit
262:'s
256:x86
245:bit
202:x86
144:AIS
50:x86
4190::
3481:,
3170:.
3152:.
3133:.
3115:.
3103:^
3094:.
3061:.
3036:^
2994:^
2960:.
2927:.
2907:.
2859:.
2827:.
2816:.
2738:.
2725:^
2696:.
2678:.
2660:.
2642:.
2625:.
2590:.
2543:.
2524:.
2492:^
2462:.
2352:^
2343:.
2303:.
2287:^
2277:.
2258:.
2233:^
2223:.
2171:.
2158:^
2149:.
2139:.
2124:^
2114:.
2101:^
2092:.
2074:.
1741:up
1678::
1634:A
1631:R
1628:C
1625:X
1622:S
1616:P
1605:0
1602:D
1599:G
1237:A
1234:R
1231:C
1228:X
1225:S
1219:P
653:,
553:or
527:.
417:,
382:.
321:.
232:.
220:,
216:,
136:,
3772:e
3765:t
3758:v
3575:,
3485:)
3477:(
3245:e
3238:t
3231:v
3030:.
3007:.
2988:.
2891:.
2601:.
2557:.
2486:.
2429:.
2384:.
2314:.
2207:.
1828:G
1824:;
1818:D
1808:P
1804:;
1788:S
1780:X
1773:X
1762:X
1754:.
1748:C
1743:;
1737:C
1726:C
1722:X
1709:C
1698:C
1687:C
1683:X
1676:X
1672:C
1662:R
1652:A
1609:U
1590:2
1585:3
1580:4
1575:5
1570:6
1565:7
1560:8
1555:9
1550:0
1545:1
1540:2
1535:3
1530:4
1525:5
1520:6
1515:7
1510:8
1505:9
1500:0
1495:1
1490:2
1485:3
1480:4
1475:5
1470:6
1465:7
1460:8
1455:9
1450:0
1445:1
1440:2
1435:3
1420:0
1415:1
1410:2
1405:3
1400:4
1395:5
1390:6
1385:7
1380:8
1375:9
1370:0
1365:1
1360:2
1355:3
1350:4
1345:5
1340:6
1335:7
1330:8
1325:9
1320:0
1315:1
1310:2
1305:3
1300:4
1295:5
1290:6
1285:7
1280:8
1275:9
1270:0
1265:1
1208:2
1203:3
1198:4
1193:5
1188:6
1183:7
1178:8
1173:9
1168:0
1163:1
1158:2
1153:3
1148:4
1143:5
1138:6
1133:7
1128:8
1123:9
1118:0
1113:1
1108:2
1103:3
1098:4
1093:5
1088:6
1083:7
1078:8
1073:9
1068:0
1063:1
1058:2
1053:3
1038:0
1033:1
1028:2
1023:3
1018:4
1013:5
1008:6
1003:7
998:8
993:9
988:0
983:1
978:2
973:3
968:4
963:5
958:6
953:7
948:8
943:9
938:0
933:1
928:2
923:3
918:4
913:5
908:6
903:7
898:8
893:9
888:0
883:1
574:,
559:,
544:,
181:e
174:t
167:v
140:)
132:(
126:)
122:(
116:)
112:(
106:)
102:(
96:)
92:(
86:)
82:(
66:)
62:(
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.