Re: Mars Rover Controlled By Java
From: Harry Conover (hhc314_at_yahoo.com)
Date: 01/22/04
- Previous message: Victor: "[eclipse]"
- In reply to: Jan C. Vorbrüggen: "Re: Mars Rover Controlled By Java"
- Next in thread: Michael N. Christoff: "Re: Mars Rover Controlled By Java"
- Reply: Michael N. Christoff: "Re: Mars Rover Controlled By Java"
- Reply: Jan C. Vorbrüggen: "Re: Mars Rover Controlled By Java"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: 22 Jan 2004 09:47:22 -0800
Jan C. Vorbrüggen <jvorbrueggen@mediasec.de> wrote in message news:<400F7DA7.8891E58C@mediasec.de>...
Sorry Jan, I couldn't locate the original source of the text you
quoted and to which I am responding.
> > d) There is no reason to believe a real time system cannot be virtual
> > machine based. It is technicaly feasible and all the benefits of seperating
> > code from hardware/OS are just as relevant on embedded systems as they are
> > on desktops. Just look at cell phones.
I believe that accuracy of this statement depends entirely on the
degree of reaction latency that can be tollerated in the real time
system. Even at today's fantastic execution rates, critical real-time
must occur within only a few machine execution cycles.
The execution latency penalty imposed by my concept of a virtual
machine will, at least in my mind, knock it from consideration for
anything approaching that which is normally required for critical
real-time performance. Here often anything greater than a few
processor instruction cycle latency leads to a non-recoverable error
situation.
This is precisely why interrupt level service routines, fast device
drivers, and similar time-critical operations are generally
implemented in assembly or other low-level code optimized to minimize
the number and duration of required machine instruction executions.
With today's focus on high-level programming languages and software
implemented virtual machines, many people lose sight of the very
fundamental differences that exist between software that simply
executes quickly and real-time system software where interrupt level
response processing must be assured to be alway less than some
critical latency limit. Couple this with the fact that in most
real-time control and operating systems, these latency requirements
are often only a few microseconds and the need for very tightly coded
software becomes obvious.
For an example of real-time OS design, compare the kernel
implementation in something like Wind River's VxWorks RTOS vs. that of
a non-real-time OS such as early Unix or Microsoft Windows.
Particularly note the fact the the task scheduler in a real-time OS of
any reasonable complexity will be both dynamic priority weighted and
perform pre-emptive scheduling because you can't have a slow process
(like I/O) hogging the system and locking out tasks that need to
execute in milliseconds or microseconds.
The above and other considerations in real-time are what cause me to
believe that the utility of a virtual machine so very unrealistic for
RTOS use.
Harry C.
- Previous message: Victor: "[eclipse]"
- In reply to: Jan C. Vorbrüggen: "Re: Mars Rover Controlled By Java"
- Next in thread: Michael N. Christoff: "Re: Mars Rover Controlled By Java"
- Reply: Michael N. Christoff: "Re: Mars Rover Controlled By Java"
- Reply: Jan C. Vorbrüggen: "Re: Mars Rover Controlled By Java"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|
|