hi,
this is an unlikely place to post this..but i hope i will get some help
i have been fightng with the intricacies of real mode and protected mode operation for some time now..i have a few downloaded materials..but they are too technical.and none of them address why a processor wakes up in real mode and then the booting OS switches the processor to protected mode? some people told me that it is done so as to please the BIOS..but that didnt seem to me like a reasonable answer and i believe it isnt the answer..
a few others told me that the intel CPU from 286 onwards have a dual personality to be compatible with pre-286 software and at the same time support the new software that sees a virtual address..now that i think is a reliable answer..
now here are a few questions i have

Q1) when a processor is running in protected mode(as all processors that support virtual memory do) and if the user wants to run an application that uses the old segmentffset form of the 8086, does the processor switch to real mode or does the OS executes the application in a virtual real mode environment?either way what is the necessity for a processor to wake up(that is before the OS booting) in real mode?

Q2) the following are my deductions after studying the way programs are compiled..they could be wrong and so it will be very helpful if someone could correct it.and so the assumption goes like this

when i compile a C program i get an object code..and finally when it is linked the program is converted into an executable format(for example ELF in linux)..this format as part of the header contains precise instructions regarding the virtual address(the address that,theoretically, starts from 0 and extends all the way till the size of your RAM+swap) that the program sees..this virtual address may also be referred to as logical address..this virtual address is then converted into a linear address..and finally this linear address is mapped into real physical pages in the computers memory...

if there are any mistakes in the above assumption please correct them and if possible please do provide the reasons...