13 důvodů pro platformu Embedded
„NIKDY nebudeme používat Windows Embedded CE nebo Windows XP Embedded!"
Poznámka od redaktora: Mike Hall reaguje na důvody vývojářů, proč nechtějí používat operační systémy Windows Embedded. Následující text, který je výňatkem z Mikova blogu, shrnuje a vyvrací nejčastěji uváděné námitky.
„NIKDY nebudeme používat Windows Embedded CE nebo Windows XP Embedded!" To zní velmi přesvědčivě, že? Proč tedy vývojáři nechtějí používat systémy Windows Embedded CE nebo Windows XP Embedded?
- Důvod 1: Operační systémy jsou příliš velké.
- Důvod 2: Neexistuje žádná podpora pro funkce v reálném čase.
- Důvod 3: Operační systémy nejsou bezpečné.
- Důvod 4: Konfigurace operačního systému pro naše potřeby je příliš obtížná.
- Důvod 5: Vývojové nástroje jsou příliš drahé.
- Důvod 6: Licenční náklady jsou příliš vysoké.
- Důvod 7: Neexistuje žádná podpora.
- Důvod 8: Nejsou podporovány ovladače pro náš hardware.
- Důvod 9: Nechceme, aby naše embedded zařízení mělo vzhled Windows.
- Důvod 10: Neexistují žádné školicí materiály, které by nám pomohly s projektem.
- Důvod 11: Neexistují žádní partneři, kteří by nabízeli hardware, ovladače, zavaděče a školení.
- Důvod 12: Je těžké najít kvalifikované pracovníky pro práci na našich projektech.
- Důvod 13: Je těžké převádět vývojáře z jedné platformy na druhou.
To je zhruba vše. Pokud jsem na něco důležitého zapomněl, dejte mi vědět.
Pokud by tento seznam byl pravdivý, zajisté bych se o možnost používání systému Windows Embedded CE nebo Windows XP Embedded ani vzdáleně nezajímal. Seznam obsahuje nejčastější námitky zákazníků vůči operačním systémům. Projděme je tedy jednu po druhé a pokusme se je rozebrat ve stylu bořitelů mýtů.
„Operační systémy jsou příliš velké."
První skutečnost, kterou je třeba uvést, spočívá v tom, že Windows Embedded CE a Windows XP Embedded jsou tzv. komponentizované operační systémy. Můžete si tedy zvolit součásti, které jsou pro příslušné zařízení potřebné. Systém Windows Embedded CE má přibližně 500 součástí, systém Windows XP Embedded má přibližně 12 000 součástí. (Zhruba 9000 součástí jsou ovladače zařízení, zbytek tvoří technologie operačního systému.)
Minimální velikost sestaveného systému Windows Embedded CE je přibližně 200 kB. Bitová kopie místní brány má velikost cca. 4 MB. Podpora pro drátové a bezdrátové sítě, uživatelské rozhraní pro vzdálenou správu (webový server) a bitová kopie pro zařízení typu PDA včetně prostředí ve stylu Windows, podpory sítí, protokolu RDP, internetového prohlížeče, aplikace Windows Media Player, rozhraní COM/DCOM atd. vyžaduje kolem 18 MB. To lze samozřejmě dále doladit podle potřeb konkrétní vyvíjené aplikace.
Minimální velikost sestaveného systému Windows XP Embedded je přibližně 5 MB. Takto sestavená bitová kopie obsahuje pouze jádro a nenabízí žádné užitečné funkce, lze ji však načíst a spustit. Průměrná velikost bitové kopie systému Windows XP Embedded je kolem 40 MB, případně o něco více. To je samozřejmě mnohem méně, než vyžaduje typická instalace systému Windows XP Professional u stolního počítače. Při sestavování bitové kopie operačního systému si můžete vybrat, které hardwarové a softwarové součásti jsou pro vaši platformu potřebné. Pokud nepotřebujete Windows Media Player, DCOM, RPC nebo Microsoft Internet Explorer, prostě je do bitové kopie nezahrnete.
„Neexistuje žádná podpora pro funkce v reálném čase."
Není mi příliš jasné, jak tento mýtus vznikl. Produkt Windows Embedded CE byl striktně navržen jako operační systém pro práci v reálném čase. Vnitřní architektura tohoto systému se zásadně liší od operačních systémů Windows pro stolní počítače. Přečtěte si článek v časopise RTC Magazine, který rozebírá funkce systému Windows Embedded CE pro práci v reálném čase, a články odborníků ze společnosti Dedicated Systems, které hodnotí systém Windows CE 5.0 a konkrétně systém Windows CE 5.0 na platformě x86.
Produkt Windows XP Embedded není sám o sobě operační systém pro aplikace reálného času, existuje pro něj však řada rozšíření pro práci v reálném čase od jiných dodavatelů.
„Operační systémy nejsou bezpečné."
Windows Embedded CE 6.0: Bitové kopie operačního systému můžete pomocí modulu OEMCertifyModule zcela uzamknout a zakázat v nich spouštění jiného kódu, než požadujete. Systém Windows Embedded CE 6.0 má rovněž ve výchozím nastavení všechny bezpečnostní funkce zapnuté. Přečtěte si článek na webu WindowsForDevices, který popisuje bezpečnostní funkce systému Windows Embedded CE. Protože produkt Windows Embedded CE je komponentizovaný operační systém, umožňuje zahrnout pouze ty součásti a technologie, které vaše zařízení požaduje. Další zajímavá vlastnost spočívá v tom, že architektura systému Windows Embedded CE je odlišná od systémů pro stolní počítače. U systému pro stolní počítače je každý spustitelný kód propojen se třemi součástmi jádra: Kernel32, GDI32 a User32. V systému Windows Embedded CE však žádná z těchto součástí neexistuje. I když tedy vaše zařízení využívá procesor x86, sebejednodušší aplikace ze stolního počítače (například Poznámkový blok) není v systému Windows Embedded CE použitelná. Viry, červy a další bezpečnostní rizika ze stolních počítačů tedy nemohou operační systém Windows Embedded CE ohrozit.
Windows XP Embedded s aktualizací Service Pack 2: Čím nejlépe začít? Možná přehledovým dokumentem k aktualizaci SP2. Nejprve je třeba zdůraznit, že produkt Windows XP Embedded je komponentizovaný operační systém. Můžete si tedy zvolit, které součásti budou v bitové kopii operačního systému zahrnuty. Pokud nepotřebujete síťové součásti, jako například MSMQ, DCOM, RPC či jiné, prostě je do bitové kopie operačního systému nezahrnete. Pokud se podíváte na některé viry a červy ohrožující stolní počítače, většina z nich zneužívá rozhraní RPC, DCOM a jiné otevřené porty počítače. Produkt Windows XP Embedded s aktualizací SP2 obsahuje všechny aktualizace zabezpečení z verze SP2 pro stolní počítače včetně brány firewall (ve výchozím nastavení jsou vypnuty všechny porty s výjimkou portu 80), podpory režimu No Execute a detekce přetečení vyrovnávací paměti (obojí je vysvětleno v rozhovoru s Joe Morrisem z týmu produktu Windows XP Embedded). K dispozici je rovněž antivirová ochrana od jiných dodavatelů, jako jsou například společnosti Computer Associates a Trend Micro.
„Konfigurace operačního systému pro naše potřeby je příliš obtížná."
Windows Embedded CE 5.0: Operační systém je komponentizovaný a nástroj pro vývoj operačního systému (Platform Builder) je dodáván s průvodcem, který pomáhá při úvodní konfiguraci platformy. Průvodce obsahuje devět konfigurací platformy, od možnosti „Pouze jádro" (200 KB) po varianty Místní brána, Internetové zařízení nebo WebPad. Tyto konfigurace lze použít jako výchozí body pro návrh a dále je upravovat přidáváním a odebíráním funkcí. Můžete například přidat podporu technologie .NET Compact Framework nebo odebrat podporu webového serveru HTTP. Nástroj pro vývoj platformy také umožňuje přidávat vlastní aplikace a ovladače. Další informace můžete získat prostřednictvím výukových programů k systému Windows Embedded CE. Konfigurace platforem můžete rovněž rozšířit vytvářením vlastních šablon.
Systém Windows Embedded CE je dodáván s ovladači produkční kvality a sadami BSP (Board Support Package), které usnadňují konfiguraci, sestavování, ladění a testování. Součástí dodávky nástrojů je také 2,5 milionu řádků sdíleného zdrojového kódu, které mohou pomoci při zavádění, ladění a seznamování s operačním systémem Windows Embedded CE.
Windows XP Embedded: Produkt Windows XP Embedded je rovněž komponentizovaný operační systém. Podobně jako Windows Embedded CE 6.0 obsahuje řadu šablon výchozích konfigurací, které pomáhají při vývoji operačního systému. Patří mezi ně výchozí konfigurace pro zařízení typu set-top box, terminály se systémem Windows, internetová zařízení atd. Můžete také začít od začátku a sami si vybrat z hardwarových a softwarových součástí. Postup sestavování a implementace systému Windows XP Embedded na nové platformě je maximálně přímočarý. Protože vnitřní architektura vychází z prostředí procesorů x86 a počítačů PC, můžete použít nástroj, který analyzuje hardware a vytváří soubor ve formátu XML se soupisem hardwaru pro vaši referenční desku. Tuto definici XML lze použít jako referenci základního hardwaru cílové desky. K této definici hardwaru stačí přidat některou ze šablon nebo individuálních softwarových součástí a následně sestavit operační systém. Zní to jednoduše, že? A nejen zní, ale skutečně to je tak jednoduché. Projděte si výukové programy k systému Windows XP Embedded a přesvědčte se sami.
„Vývojové nástroje jsou příliš drahé."
Tuto námitku lze vyvrátit velmi snadno. Vývojové nástroje pro produkty Windows Embedded CE a Windows XP Embedded lze ZDARMA stáhnout z webu společnosti Microsoft Web. Raději to zopakujme ještě jednou: Z-D-A-R-M-A. Teď hned si můžete stáhnout sadu Windows Embedded Introductory Kit. Jakmile si operační systém a nástroje vyzkoušíte (a máte na to až 120 dnů), můžete si zakoupit plnou verzi. V době psaní tohoto příspěvku byla jejich cena 995 USD. Pokud si stáhnete zkušební verzi produktu Windows Embedded CE, získáte stejné nástroje a k tomu 2,5 milionu řádků zdrojového kódu jako v plné verzi produktu.
„Licenční náklady jsou příliš vysoké."
Kdy přesně musíte začít nakupovat licence k vlastním embedded operačním systémům? Odpověď je jednoduchá: jakmile začnete dodávat skutečné výrobky zákazníkům. Nástroje ze zkušební verze (nebo z plného produktu) můžete používat k vytváření a odesílání testovacích verzí bitové kopie operačního systému zákazníkům, aniž byste museli kupovat licence.
Kolik však stojí licence k operačnímu systému? Licenční náklady systémů Windows Embedded CE a Windows XP Embedded jsou snadno vyčíslitelné. Systém Windows Embedded CE má základní („Core") licenci (pokrývající většinu operačních systémů) za 3 USD nebo licenci „Professional" za 16 USD. Cena licencí k systému Windows XP Embedded činí přibližně 90 USD na jedno zařízení. Ještě jednou připomeňme, že runtime licence nemusíte kupovat až do doby, kdy začnete dodávat skutečné výrobky. Náklady na vývoj jsou tedy velmi nízké. Vývojové nástroje můžete ZDARMA stáhnout z webu Microsoft Embedded a používat je po dobu 120 dnů. Cena plného produktu pak činí 995 USD. Další informace naleznete na stránce Jak nakupovat operační systémy Windows Embedded.
„Neexistuje žádná podpora."
Podporu k systémům Windows Embedded CE and Windows XP Embedded můžete získat několika způsoby, od podpory ZDARMA (všimněte si, jak často toto slovo používáme!) přes školicí kurzy a partnerskou spolupráci při vývoji až po služby podpory pro vývojáře Microsoft Developer Support. Podpora zdarma zahrnuje diskusní skupiny sledované našimi partnery a vývojovými partnery, konverzaci online a výukové programy.
„Nejsou podporovány ovladače pro náš hardware."
Windows Embedded CE 6.0: Produkt Windows Embedded CE je dodáván alespoň s jednou sadou BSP (Board Support Package) pro každý podporovaný procesor (x86, ARM, MIPS, SH4). Další informace naleznete v úplném seznamu podporovaných sad BSP. Jedna ze zajímavých vlastností systému Windows Embedded CE spočívá v tom, že vývojáři hardwaru, systémoví integrátoři a dodavatelé čipů mohou rozšiřovat katalog součástí produktu Windows Embedded CE přidáváním podpory pro své vlastní referenční desky, sady BSP a ovladače. Úplný seznam ovladačů podporovaných systémem Windows Embedded CE pro kontrolu kompatibility je k dispozici zde.
Windows XP Embedded: Produkt Windows XP Embedded je dodáván se stejnou sadou ovladačů jako systém Windows XP Professional pro stolní počítače - obsahuje tedy přes 9000 ovladačů v podobě samostatných součástí. Seznam lze snadno rozšiřovat prostřednictvím vývojových nástrojů Windows XP Embedded. Máte-li ovladač pro systém Windows 2000 nebo Windows XP od jiného dodavatele, můžete jej snadno přidat do katalogu systému Windows XP Embedded prostřednictvím importu příslušného souboru INF. Po importu souboru INF a zařazení součásti do databáze součástí můžete nový ovladač používat přesně stejným způsobem jako libovolný jiný ovladač ve vývojových nástrojích.
„Nechceme, aby naše embedded zařízení mělo vzhled Windows."
Každé embedded zařízení má jiné požadavky na uživatelské rozhraní. V některých případech může být embedded systém „bezhlavý", což znamená, že jediným uživatelským rozhraním je web. Vytváření rozhraní typu HTML/DHTML je mimořádně flexibilní a umožňuje navrhovat zcela přizpůsobená vzdálená uživatelská rozhraní. V některých případech může být uživatelské rozhraní typu HTML vhodné i pro zařízení se vstupními a výstupními prvky. V takovém případě lze v tomto rozhraní využít aplikaci Internet Explorer 6.0 nebo ovládací prvek ActiveX.
Prostředí systémů Windows Embedded CE a Windows XP Embedded může vypadat stejně jako pracovní plocha systému Windows - obsahovat tlačítko Start, ikony atd. Prostředí Windows však v obou případech může být z operačního systému zcela odstraněno. Při zapnutí zařízení tak můžete přímo spouštět vlastní aplikaci. Koncový uživatel zařízení nevidí žádné uživatelské rozhraní Windows, nemá přístup k pracovní ploše (protože zařízení žádnou nemá), nemůže používat ovládací panely (protože žádné neexistují) atd. Můžete vyvinout aplikaci, která se stane uživatelským prostředím zařízení. Produkt Windows XP Embedded je dodáván s několika ukázkovými prostředími, jako je například aplikace Průzkumník Windows, příkazové prostředí nebo správce úloh.
„Neexistují žádné školicí materiály, které by nám pomohly s projektem."
Školení je k dispozici pro systém Windows Embedded CE i Windows XP Embedded. Školení k systému Windows XP Embedded trvá 2 dny, kurz k systému Windows Embedded CE 5.0 je pětidenní. Nejbližší školicí středisko naleznete na stránce partnerů Windows Embedded.
„Neexistují žádní partneři, kteří by nabízeli hardware, ovladače, zavaděče a školení."
Podle posledních údajů máme téměř 2500 partnerů ve více než 50 zemích. Na stránce partnerů Windows Embedded můžete vyhledat partnera pro produkty, služby nebo hardware, který vám pomůže s aktuálním nebo budoucím projektem.
„Je těžké najít kvalifikované pracovníky pro práci na našich projektech."
Co mají společného produkty SPOT, Windows Embedded CE a Windows XP Embedded? Všechny používají jazyk C# a verzi modulu CLR (Common Language Runtime). Systémy Windows Embedded CE a Windows XP Embedded rovněž zpřístupňují objekty Win32, MFC (Microsoft Foundation Classes) a ATL (Active Template Libraries). Pokud tedy vaši vývojáři mají zkušenosti s programováním pro systém Windows a používáním objektů Win32, MFC nebo ATL, mohou produktivně vyvíjet i aplikace pro systémy Windows Embedded CE a Windows XP Embedded. Pokud vaši vývojáři mají zkušenosti s vývojem spravovaných aplikací, uplatní je i při vývoji pro platformy SPOT, Windows Embedded CE a Windows XP Embedded. Kromě toho na celém světě existuje dalších šest milionů vývojářů, kteří jsou školení pro vývoj na platformě Windows. K dispozici je rovněž řada zdrojů a materiálů, které vám v průběhu projektu mohou pomoci.
Zajímavý je také počet vyvíjených rozšíření technologie .NET Framework - podívejte se na stránky The Code Project a OpenNETCF.org. Pracovníky z projektu Windows Embedded CE můžete snadno převádět do projektu Windows XP Embedded, protože již mají programátorské zkušenosti na jedné z platforem.
„Je těžké převádět vývojáře z jedné platformy na druhou."
Odpověď na tuto námitku je téměř stejná jako v předchozím případě. Pokud máte pracovníky, kteří již umí programovat na některé z platforem Windows, znamená to, že již dokáží psát kód pro systémy Windows Embedded CE nebo Windows XP Embedded.



