Hello,
Why are system structures like the GDT and the IDT under Win9x unprotected, allowing the user to alter and overwrite sensitive data. How were the paging system and memory protection implemented.
Thank you in advance.
Win9x memory protection
- ManOfSteel
- Member
- Posts: 60
- Joined: Tue Feb 01, 2005 12:00 am
How so? I know they use some "dirty" tricks like hidden API with ordinal values only or VxD calls inside kernel32.dll and similar libraries to call old DOS functions (as wrappers), but what does this have to do with memory protection (eg: paging)?I believe they go unprotected to provide backwards-compatibility with DOS.
Don't worry I won't. I just want to know why it works so bad. What mistakes did MS do, what protections did they badly implement, what did they miss.Let's not emulate it.
So could you give more explanations? I found nothing on google.
- Colonel Kernel
- Member
- Posts: 1437
- Joined: Tue Oct 17, 2006 6:06 pm
- Location: Vancouver, BC, Canada
- Contact:
I think it has more to do with 16-bit Windows compatibility than DOS compatibility. DOS apps run in V8086 mode in Windows 9x, while Win16 apps all expect to run in the same (16-bit) protected-mode address space (although they use different segments for some things).Crazed123 wrote:I believe they go unprotected to provide backwards-compatibility with DOS.
Top three reasons why my OS project died:
- Too much overtime at work
- Got married
- My brain got stuck in an infinite loop while trying to design the memory manager
Ooohhh...Colonel Kernel wrote:I think it has more to do with 16-bit Windows compatibility than DOS compatibility. DOS apps run in V8086 mode in Windows 9x, while Win16 apps all expect to run in the same (16-bit) protected-mode address space (although they use different segments for some things).Crazed123 wrote:I believe they go unprotected to provide backwards-compatibility with DOS.
And the problem really comes more from the protection mechanisms that they didn't implement than the ones they did.