Pros and Cons

  • Thread starter Thread starter Darren
  • Start date Start date
D

Darren

Hey guys! I'm a stutdent taking an operating systems
course and I was asked to describe the strenghts and
weaknesses of Windows XP Embeded. I was wondering if
anyone here can help me out, so I can then apply theory to
your claims.

Thanx eh,

Darren
 
Just wondering what patches are designed specifically for
XPe that will stop the worm blaster type viruses.
 
This list is representative of a problem I find in the XPe user community --
most of the community does not seem to have much of an understanding of what
embedded programming really is. The list mostly compares XPe to other Windows
systems and it talks about characteristics that make it better or worse than
other Windows systems. The real world of embedded programming is mostly based
on much simpler operating systems and much smaller footprints than what is
considered small for XPe. An example of this disconnect is that the writer
considers it an advantage that there is a way to apply security patches via
DUA. It is well to consider that worm creators seem to have both no
understanding or interest in systems such as VxWorks (a real embedded OS) so
this very overwhelming problem in the Windows world is mostly a non issue in the
real embedded world.

Therefore I consider there to be really only one very big advantage to XPe and
that is that Windows apps can be run on hardware that fits Microsoft's
definition of embedded which BTW is different than the definition of embedded
that the rest of the world holds. Embedded classically means computer hardware
and firmware tucked deeply into the bowels of another machine that does not look
like a computer, e.g. a microwave oven or airplane avionics. So I would use
Heidi Linda's list carefully because some of the advantages are really
disadvantages if we're actually talking about embedded systems. If we're using
a broader definition that includes Unix I'd like to know what it is about XPe
development that is "quicker and easier." I think the answer is given by the
statement "they already know how to use windows." If you already know how to
use Windows then "quicker and easier" may apply. If you come from the real
embedded or Unix world (yes dear readers it continues to exist), then I find
that "slower and harder" applies.

Henry
 
Hi Daren,

This all depends on your needs.

XPE for industrial control is obviously not a good solution, because if
device is reset, you will need more than 10 seconds to restore to functional
state. And this is not acceptable. I use microcontrollers and assembler,
call me old fashioned, but I want to know exact clock timings of every part
of my device, and every software function. For larger projects you can use
C, but then you can run out of space that is few KB for most small
microcontrollers. Advantages to this are small device and startup time of
20-50 mS.

If you need only network support and data crunching then you can use XPE or
Linux but Linux is free.

If you need to use all features from modern hardware, and you don't want to
write some or all drivers by yourself, then XPE is good choice.

You have at least three different ways of using XPE.
Kernel mode only: small images less than 10 MB but you must write programs
as drivers and you can use only drivers.
Minlogon: No user accounts, and if not used on network, can be configured as
you want and can be made indestructible.
Winlogon: Allow you to use some or all features from Windows XP
Professional. But also has strengths and flaws as regular XP.

There are some features like EWF that will allow you to protect disk from
writes, so your programs and OS can be protected.


So you should treat XPE as set of tools that will allow you to use
functionality that you need from XP Prof, and to add some custom solutions
to it.
And final results depends only on knowledge and time of person that is
building the XPE image.

Before you can say that this OS is better than some other, you must define
project assignments, and see how many work you need to do on every OS to get
all functionality you need.
And also if you can fit in boot timing requirements with hardware you need.


Best regards,
Slobodan
 
I think this explanation of the capabilities of microcontrollers is
somewhat
misleading. "Small microcontrollers" having a "few KB" of memory (e.g.
8051) are 20 year old products and are still important. However today's
microcontrollers also include devices such as the Power PC that can address
many megabytes of memory and at least in terms of processing power and
address space can easily compete with x86/PC architectures. Systems based
on these devices preserve the real time characteristics mentioned. For a
good treatment of embedded microprocessor and microcontroller architecture
and development see "Firmware Demystified" by Ed Sutter (CMP Books).

I have programmed on 8051 and they were ok even 10 years ago, or I was young
and unspoiled with fast computers, and GUI requirements. Also for one year
we were using Microchip PIC, they were living hell for programming at that
time, they had many hardware issues.

I was more thinking about AVR based microcontrollers that are complete
solution with small footprint, and they are relatively new they are
introduced for the first time in 97/98, and every year there are few new
members added to the family. And they range from 2KB-128KB of integrated
Flash memory. With 8 - 64+ pins.

And you are right ARM or Power PC based solutions are better for comparison
to x86 architecture, but as you probably know XPE wont work on them either.

I just wanted to say that XPE in not good for control of critical industrial
processes, because it needs time to start.
And usage of 32 bit microcontrollers is always an option if someone needs
it.

Thanks for correcting me,
Slobodan
 
I think this explanation of the capabilities of microcontrollers is somewhat
misleading. "Small microcontrollers" having a "few KB" of memory (e.g.
8051) are 20 year old products and are still important. However today's
microcontrollers also include devices such as the Power PC that can address
many megabytes of memory and at least in terms of processing power and
address space can easily compete with x86/PC architectures. Systems based
on these devices preserve the real time characteristics mentioned. For a
good treatment of embedded microprocessor and microcontroller architecture
and development see "Firmware Demystified" by Ed Sutter (CMP Books).

Ray

Slobodan Brcin said:
Hi Daren,

This all depends on your needs.

XPE for industrial control is obviously not a good solution, because if
device is reset, you will need more than 10 seconds to restore to functional
state. And this is not acceptable. I use microcontrollers and assembler,
call me old fashioned, but I want to know exact clock timings of every part
of my device, and every software function. For larger projects you can use
C, but then you can run out of space that is few KB for most small
microcontrollers. Advantages to this are small device and startup time of
20-50 mS.
f
 
Back
Top