|
Authored by: Anonymous on Monday, November 26 2012 @ 05:37 PM EST |
Relatively simplistic definition:
A general-purpose computer (the hardware itself) can be turned into a single-
purpose machine, by writing a single program that "take control" of
the whole
machine.
An Operating System is the necessary software to permit a general-purpose
computer, into a multi-purpose machine, by way of management of computer
programs and those shared resources under contention by programs. The
historical term was "time-sharing" computer system, also commonly
referred
to as a "multi-user" computer system (although a computer can be a one
without being the other, most today are both multi-user and time-sharing.)
Additional functionality, features, and performance improvements, are
frequently achieved by the use of "shared libraries" (to use the
abstract term
rather than OS-specific term like DLLs or SOs). Libraries are pieces of code
that perform useful functions, that make it possible to write higher-level code
that shares lower-level components. Building code on top of code, when the
foundation code is solid and well-constructed, allows greater capabilities and
more powerful software to be built, increasing capabilities of software.
Libraries can be "static" (like making a book by photocopying chapters
or
paragraphs), or "dynamic" (like the URL linking of hypertext, the
basis of the
Web).
Middleware can generally described as extending the concept of Libraries, to
be host-OS-, hardware-, and even language- agnostic. Programs written to
use middleware can be much more easily migrated across hardware and OS
platforms.
The hierarchy of capability and scalability thus is:
program->hardware
programs=>OS->hardware
programs=>{library,...}=>OS->hardware
programs=>middleware=>{library,...}=>OS->hardware.
Where there is a "->hardware", this is a 1:1 relationship.
All the rest of the "=>" can be many-to-one.
The flexibility and power increases at each step, in theory.
Not everyone favors the middleware approach.
The value proposition of middleware is mostly to the proprietary software
vendor, who supports multiple (OS,hardware) combos.
The largest bang for the buck is achieved without middleware, on FLOSS
libraries on FLOSS OSs.
Hope this is illustrative and perhaps helpful.
briand (not logged in)[ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Tuesday, November 27 2012 @ 12:05 PM EST |
Hehe.
Wayne
http://madhatter.ca
[ Reply to This | Parent | # ]
|
|
|
|
|