Computer World. Матросова Т.А. - 41 стр.

UptoLike

Составители: 

40
The permissiveness of С operations, which can lead to undisciplined
coding practices and ultimately to unstable execution.
The absence of universal standards for multithreading, shared data
protection, and intra-thread communication and coordination, which can
make the program hard to transfer to alternate platforms. But, these are
just the problems that Java s olves. Sinc e many programmers w ill have to
learn Java bec ause of its importanc e to the net, it w ill be natura l for Java
to supplant С in the embedded world.
The use of Java may be different, however. We anticipate that Java programs
for embedded applications will differ from net applets in at least five major ways.
Embedded applic at ions w ill be :
compiled into the native ISA for the target hardware.
capable of running in the absence of a hard or floppy disk, and a network
connection.
supported by highly tailored, thus relatively small run-time packages.
able to execute on multiple processors, if needed for capacity expansion.
contain significant amounts of legacy С code, at least during the transition
from С to Java.
Mixed systems: multiple languages, multiple CPUs
While we expect Java to supersede С as the primary programming language for
embedded systems in the near future, there is still an enormous number of lines of С
code in operation. Companies will have to work with that code for many years as the
transition to Java runs its course. Many systems w ill hav e to be a mixture of legac y С
code and Java enhancements.
It is not trivial to integrate an overall application with some components written
in Java and others in С or assembler. Part of the problem arises from security issues:
How can Java guarantee the security of the system if execution disappears into
«unknown» regions of code? Furthermore, the danger is compounded if the non-Java
code were to make OS support service calls, especially calls that alter the
application's threading and data-protection aspects. Java expects to be the sole master
of such matters.
Thus we see that mixed language systems may have to exist, but this is not
going to be easy. Similarly, there may be problems with multiple CPUs.
Current CPUs are fast, and get faster with each new generation.Yet, there are
some embedded applications for which a single CPU still does not have enough
power to keep up with a worst-case burst of external input. Such systems require
multiple CPUs working together to complete the required processing. Even if the
system can handle current work loads, the next version may not.
Do we have a proble m?
When you combine the des ire to write in Java, with the need to execute on
unique, system-specific hardware, possibly with mixed source languages and multiple