Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

X86 Protected mode

  1. Jul 14, 2016 #1
    Dear PF Forum,
    What does "Protected mode" means in x86 architecture?
    I try to understand this, but failed.
    This is the "Protected Mode" advantages from http://prodebug.sourceforge.net/pmtut.html#Advantages that I read:
    - Access to 4 gigabytes of memory
    - Virtual memory
    - Address translation
    - Programs work with logical addresses.
    - Improved segmentation
    - Memory protection <-
    - Process protection <-

    - 32-bit registers
    - Improved addressing modes
    - Multitasking support
    - Hardware debugging
    All these have nothing to do with the word "Protection" only in this two section:
    - Memory protection <-
    - Process protection <-

    So what I really want to know is this:
    - Process protection
    Supposed my program is allocated at 10000h to 20000h
    so when I try to
    mov AX,[20001h]
    1. does the processor really send something? Perhaps interrupt?
    2. Is there really one or two instructions before the OS JMP to my program, that the next instruction will be limited to access 10000h to 20000h?
    Thank you very much

  2. jcsd
  3. Jul 14, 2016 #2


    Staff: Mentor

  4. Jul 17, 2016 #3
    Thanks @Mark44 for your answer.
    While https://en.wikipedia.org/wiki/Protection_ring only address "vertical" protection, I mean. a program with lower privileged level/high privilege number can only access instruction in a predefined manner, I want to know what about the "horizontal" protection (but I learn something new, too. Protection Ring). Can a program access memory that's not allocated to it? The answer is no. But how the processor handle this? Does the processor really thrrows an exception?
    https://en.wikipedia.org/wiki/Protected_mode#The_286 addresses similar issue.
    So, the processor does throw exception. But it's in Virtual 8086 mode. What about in protected mode? Will the processor generate an exeption if a program is trying to access memory parts that's not allocated to it?
    Thank you very much.
  5. Jul 17, 2016 #4
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted