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!
== Operating systems == Operating systems like [[OS/2]] 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 [[Crash (computing)|crash]] a computer. OS/2 1.x defines restrictive programming rules allowing a ''[[Family API]]'' or ''bound'' program to run in either real or protected mode. Some early [[Unix]] operating systems, [[OS/2]] 1.x, and Windows used this mode. [[Windows 3.0]] 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 [[Windows 9x]] 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 when programs are not running, so manipulating absolute addresses is dangerous; programs should only keep [[Smart pointer|handle]]s 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 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 [[Windows 3.1]], real mode was no longer supported and could not be accessed. In modern 32-bit operating systems, [[virtual 8086 mode]] is still used for running applications, e.g. [[DOS Protected Mode Interface|DPMI]] compatible [[DOS extender]] programs (through [[virtual DOS machine]]s) or Windows 3.x applications (through the [[Windows on Windows]] subsystem) and certain classes of [[device driver]]s (e.g. for changing the screen-resolution using BIOS functionality) in [[OS/2]] 2.0 (and later OS/2) and 32-bit [[Windows NT]], all under control of a 32-bit kernel. However, 64-bit operating systems (which run in [[long mode]]) no longer use this, since virtual 8086 mode has been removed from long mode.
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)