|
Authored by: mbouckaert on Monday, November 26 2012 @ 07:23 PM EST |
We may need to add that most operating systems introduce a
distinction between the part of themselves (per your
definition) that is active for a given task and runs on
behalf of that task; and the part of themselves that does
the actual sharing of the underlying hardware.
On most current architectures, the separation is enforced
with the help of the hardware. The parts that run "on
behalf" of a given task are run using one "mode" of the
underlying hardware; the sharing part runs in another
"mode". Typical names for these are "user vs. supervisor
mode" or "application vs. Kernel mode". This is because, by
design of the hardware, code executing in "user" mode cannot
touch, access or even "know about" the activities taking
place in "supervisor" mode; the hardware does not provide
"user-mode" programs with a way to even name such
information.
Some processors of the Intel family (on which Microsoft
products were built) did start providing the hardware
facilities in question around 1985. However, these
facilities were expensive. The target population for
Windows was mostly machines equipped with "lesser"
processors of the same family.
Therefore, the hardware did not enforce any distinction
between the parts of the Windows code that ran "on behalf
of" user tasks and the parts that were more central in
sharing.
Because of that, whether a given part of the Windows code
was one or the other was defined (mostly) in the
documentation and in the plans for future releases of the
code, rather than in the code itself.
It could be argued that, if Windows 95 sq. had used the
hardware assist described above, the harm made to middleware
designers like Novell would have been much less. As it was,
however, the documentation of the API was even more
important for third party developers if their product had to
survive routine changes to the OS.
---
bck[ Reply to This | Parent | # ]
|
|
Authored by: eric76 on Saturday, December 01 2012 @ 05:36 AM EST |
Keep in mind that an operating system does not have to support multiple users or
tasks. That today's operating systems support multiple users or tasks is beside
the point.[ Reply to This | Parent | # ]
|
|
|
|
|