Discussion:
rules
(too old to reply)
Paul Edwards
2024-02-19 04:37:33 UTC
Permalink
Assuming I had followed these rules:

https://en.wikipedia.org/wiki/Protected_mode

This was not without its limitations. If an application utilized or
relied on any of the techniques below, it would not run:

Segment arithmetic
Privileged instructions
Direct hardware access
Writing to a code segment
Executing data
Overlapping segments
Use of BIOS functions, due to the BIOS interrupts being reserved by
Intel[31]
In reality, almost all DOS application programs violated these rules



... what could I actually do, assuming I had
an 80286 computer?


"binary compatibility with real-mode code" - sounds good.

"the ability to access up to 16 MB of physical memory, and 1 GB of
virtual memory" - sounds good.

But ... WHERE?

Is this something I could do on OS/2 1.x?

With an MZ executable? A .com?

What are they advertising?

NE executables didn't exist except on MSDOS 4.0,
which may or may not buy something. Is that what
they are advertising?

I didn't use OS/2 1.x, but it may have had an
MSDOS window and an MSDOS fullscreen.

Did something work on either of those if you
followed "the rules"?

As opposed to a program that DIDN'T follow
the rules, e.g. it wouldn't run in the window.

Thanks. Paul.
JJ
2024-02-19 19:59:39 UTC
Permalink
Post by Paul Edwards
https://en.wikipedia.org/wiki/Protected_mode
This was not without its limitations. If an application utilized or
Segment arithmetic
Privileged instructions
Direct hardware access
Writing to a code segment
Executing data
Overlapping segments
Use of BIOS functions, due to the BIOS interrupts being reserved by
Intel[31]
In reality, almost all DOS application programs violated these rules
.... what could I actually do, assuming I had
an 80286 computer?
"binary compatibility with real-mode code" - sounds good.
"the ability to access up to 16 MB of physical memory, and 1 GB of
virtual memory" - sounds good.
But ... WHERE?
Is this something I could do on OS/2 1.x?
With an MZ executable? A .com?
What are they advertising?
NE executables didn't exist except on MSDOS 4.0,
which may or may not buy something. Is that what
they are advertising?
I didn't use OS/2 1.x, but it may have had an
MSDOS window and an MSDOS fullscreen.
Did something work on either of those if you
followed "the rules"?
As opposed to a program that DIDN'T follow
the rules, e.g. it wouldn't run in the window.
Thanks. Paul.
A compatibility layer program would be needed to make programs usable in
non-compatible environment - to work like a subsystem. In PM OS, it may need
to be run at a priviledge level which is high enough to perform its task -
depending on whether a task require higher privilege level or not.

e.g. adding support for non OS native executable binary format will require
system service/function hooking if the OS doesn't support custom executable
binary format loader. OS native executable binary loader usually run at
higher privilege level.

Loading...