Embedded 版 (精华区)
发信人: Thinkpad (船长), 信区: Embedded_system
标 题: What is an embedded operating system?
发信站: 哈工大紫丁香 (Wed Jul 25 11:03:25 2001) , 转信
What is an embedded operating system?
There's a continuous debate over what constitutes an OS activity.Any attempt
to define an OS by what it does is doomed to fail.
Peter Varhol, Senior Editor
With the introduction of Microsoft's Windows CE OS into handheld computers,
the debate about which, if any, "fully featured" operating systemis apropos
for embedded devices moves to the forefront once again. Many embedded programm
ers see Windows CE as an unneeded intrusion into a market unsuited
for Windows-like OSs. Others see it as an opportunity to expand their
existing skills and ideas into an entirely new realm.
Java and the Java OS from Sun Microsystems (Mountain View, CA) are also contri
buting to this debate, but for a different reason. The Java OS' 4-8-Mbyt ememo
ry requirement is modest by desktop standards, but quite steep for embedded de
vices. Are these appropriate operating systems for embedded
devices, or are we attempting to create a class of device that has little
in common with traditional embedded products?
Both of these products call into question the role and structure of the operat
ing system. There's a continuous debate over what constitutes an OS activity.
Many tasks that, for years, we've considered user application
shave migrated into essential parts of the OS. These include networking protoc
ols and graphical windowing systems, which until recently were
optional components.
Great expectations
There's a reason behind this migration. Over the years, our expectation of the
OS's purpose has changed. The first operating systems, developed in the late
1950s, simply loaded programs and cleaned up memory after they completed runni
ng. On the large systems of the 1960s and 1970s, the OS was the purview
of the computer operator, resulting in an arcane but exacting environment
for controlling system loads and program performance.
UNIX introduced the concept of end-user computer control, but its design in Be
ll Laboratories (Murray Hill, NJ) for internal use meant that its features sti
ll required technical expertise and a deep understanding of the computer. With
CPM and DOS, operating systems moved into the personal realm, and were once a
gain simplified into program loaders with a simple command set. But this didn'
t last long. Operating systems soon gained features for file and directory man
agement, device support, multiple program loading and, of course, user interac
tion.
Embedded OSs are following the same direction, albeit by a different route. Ev
ery commercial embedded OS today has grown far beyond the concept of the execu
tive and program loader (although, if required, most can be stripped down to t
his level). Today's embedded OS includes file systems, networking, windowing s
ystems, and other features that you might expect of a full desktop OS. And the
y all support an application programming interface(API) that is used as a hook
for programmers making use of operating system services.
What implications does this trend have for the embedded OS of today and tomorr
ow? One important aspect is that of modular OSs. This trend was started a few
years ago with the excitement surrounding the concept of the microkernel. Whil
e that ado was centered largely around UNIX, most embedded operating systems t
oday are modular. They typically begin with a small kernel and program loader,
and assemble OS services and utilities as building blocks rather than monolit
hic layers.
Second, if history is any guide, more and more application functions will find
their way into OS modules, rather than as applications. Just as networking an
d windowing systems are now accepted as integral parts of the OS, in the futur
e, we'll see still more exotic extensions. Any attempt to define an OS by what
it does is doomed to fail.
Last, and perhaps most important, an operating system is truly judged on the p
arts that are visible to the user. For end users, this means the user interfac
e; for programmers, it means the API. Today, many embedded OSs have largely co
alesced around UNIX-like APIs, in part because they've been well-documented in
the POSIX specifications.
Windows CE changes this equation, not because it's technically superior, but b
ecause it incorporates the ubiquitous Win32 API. Today, millions of programmer
s have used it to develop desktop applications. Whatever the merits and limita
tions of CE itself, widespread knowledge of the Win32 API and the ready availa
bility of Windows development tools makes it a possible platform for innovativ
e programs. It's too early to be sure about the impact of the Java OS, but if
the Java libraries become popular, then so will the OS, despite its memory req
uirements.
As a result, the embedded operating system world is going to coalesce not arou
nd a specific microprocessor family or OS, but around the API. Both POSIX and
Win32 have large followings, and will probably be the leading APIs for embedde
d programming in the future. The OS beneath will matterless, as long as progra
mmers can access system services in familiar ways.
peterva@pennwell.com
--
※ 来源:.哈工大紫丁香 http://bbs.hit.edu.cn [FROM: 202.118.239.147]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.408毫秒