13 érv a Windows Embedded mellett
"Sosem fogok Windows CE-t vagy Windows XP Embedded-et használni!"
A szerző megjegyzése: Mike Hall válaszol azokra az indokokra, amit a fejlesztőktől hall miért nem akarják használni a Windows Embedded operációs rendszert. A következő rész szemelvény Mike blog-jából felsorolva azokat a kifogásokat, amelyeket a leggyakrabban hall.
"Sosem fogok Windows CE-t vagy Windows XP Embedded-et használni!" Elég erős állítás, nemde? Szóval, miért is ne használjunk Windows CE-t vagy Windows XP Embedded-et?
- 1. Indok: Az operációs rendszerek túl nagyok.
- 2. Indok: Nincs támogatás a valós idejű (real-time) funkcionalitásra
- 3. Indok: Az operációs rendszerek nem biztonságosak
- 4. Indok: Túl nehéz az operációs rendszereket a saját igényeim szerint konfigurálni
- 5. Indok: Drágák a fejlesztőeszközök
- 6. Indok: Túl magas a licenc költség
- 7. Indok: Nincs támogatás
- 8. Indok: Nincs a hardveremhez driver támogatás
- 9. Indok: Nem szeretném hogy az embedded eszközömön látszódjon a Windows
- 10. Indok: Nincs elérhető oktatási anyag, mely segítene megvalósítani a projektemet
- 11. Indok: Nincsenek partnerek, akiknél a hardver, driver, bootloader és tréning elérhető
- 12. Indok: Nehéz mérnököket találni akik a projektjeimen dolgoznának
- 13. Indok: Nehéz a fejlesztőket az egyik platformról a másikra elmozdítani
Azt hiszem ezek lennének azok. Bizonyára van még, amit kihagytam és ha van valami amit hozzá szeretne fűzni, akkor kérem értesítsen.
Amennyiben a fenti lista igaz lenne, akkor természetesen még távolról sem érdekelne, hogy Windows CE-t vagy Windows XP Embedded-et használjak. A fenti lista a vásárlók Windows Embedded operációs rendszerről kialakult közös véleményét tükrözi, úgyhogy menjünk végig a listán egy igaz Legenda vadász stílusában és vizsgáljuk meg mindegyik feltevést.
"Az operációs rendszerek túl nagyok."
Az első dolog amit itt el kell mondanunk, hogy a Windows CE és a Windows XP Embedded is komponens alapú operációs rendszer, azaz ki kell választani azokat az elemeket, amelyek szükségesek az építendő rendszerhez. A Windows CE kb. 500 komponensből, a Windows XP Embedded kb. 12,000 komponensből áll. (Kb. 9000 komponens eszköz driver, a többi pedig maga az operációs rendszer technológia)
A Windows CE minimum mérete hozzávetőlegesen 200 KB. Egy gateway image mérete kb. 4 MB. Támogatás vezetékes és vezeték nélküli hálózatokhoz, távoli adminisztrációs UI (web server) vagy egy PDA-szerű image amiben van Windows-szerű shell, a hálózatkezelés, RDT, Internet böngésző, Windows Media Player, COM/DCOM, stb kb. 18 MB-ot igényel. Nyilvánvalóan ezek bármilyen speciális alkalmazáshoz hozzá hangolhatók.
A Windows XP Embedded minimum mérete kb. 5 MB. Ez szinte csak a kernelt tartalmazza, ezzel az image-dzsel még semmi hasznosat nem kehet csinálni, de már boot-ol és fut. Egy átlagos Windows XP embedded image kb. 40 MB vagy e feletti. Ez pedig sokkal kisebb, mint egy desktop gépre telepített Windows XP Professional image. Az operációs rendszer image létrehozása közben Ön választja ki és adja hozzá azokat a komponenseket, amelyek az Ön rendszerében lévő hardverekhez és szoftverekhez szükségesek. Amennyiben az Ön image-ében nincs szükség a Windows Media Player, DCOM, RPC, Microsoft Internet Explorer alkalmazásokra, akkor egyszerűen nem teszi ezeket bele.
"Nem támogatja a valós idejű funkciókat."
Nem tudom ez a mítosz honnan származik. A Windows CE egy teljesen valós idejű operációs rendszer. Az alapjául szolgáló operációs rendszer architektúra teljesen különbözik a Windows desktop operációs renszerekétől. Vessen egy pillantást az RTC magazin cikkére mely a Windows CE valós idejű képességéről szól vagy a Dedicated Systems Experts' írására a Windows CE 5.0-ról, különösen a Windows CE 5.0 futása x86 platformon-ról.
A Windows XP Embedded nem valós idejű operációs rendszer, de létezik jó néhány 3rd-party valós idejű kiterjesztés a Windows XP Embedded-hez.
"Az operációs rendszerek nem biztonságosak."
Windows CE 5.0: Az OEMCertifyModule segítségével Ön teljesen le tudja zárni az operációs rendszer image-et úgy, hogy csak azt a kódot futtassa amit Ön szeretne. Egyébként a Windows CE 5.0-ban az összes biztonsági funkció alabbeállítása a bekapcsolt állapot. Nézze meg a WindowsForDevices' cikkét ami bemutatja a Windows CE biztonsági funkcióit. Mivel a Windows CE egy komponens alapú operációs rendszer, csak azokat a komponenseket kell használnia, amire az Ön termékének szüksége van. A másik érdekes tulajdonság, hogy a Windows CE architektúra különbözik a desktop-tól. A desktop operációs rendszerben 3 fő komponens kapcsolódik össze egy kód alapján: Kernel32, GDI32 és User32. A Windows CE-ben azonban ezek közül egy sem létezik, így még ha az Ön eszköze x86-os processzorral működik is egy olyan egyszerű alkalmazás mint a Notepad a desktopról nem fog futni a Windows CE-n. Ez természetesen azt is jelenti, hogy a desktop vírusok és egyéb nemkívánatos programok szintén nem fognak futni a Windows CE-n.
Windows XP Embedded with Service Pack 2: Rendben, hol kezdjük? Talán az SP2 áttekintésével? Az első dolog amit meg kell említeni, hogy a Windows XP Embedded egy komponens alapú operációs rendszer, így Ön választja ki azokat a komponenseket, amik az operációs rendszer image-et alkotják. Ha nincs szüksége hálózati elemekre, mint például MSMQ, DCOM, RPC vagy másokra, akkor egyszerűen nem teszi bele az operációs rendszer image-be. Ha megnéz néhány vírust vagy férget amelyek desktop-okat fertőztek meg, a legtöbbje az RPC-t, DCOM-ot vagy a PC más nyitott portját használta ki. A Windows XP Embedded with SP2 tartalmazza az összes desktop SP2 biztonsági frissítést, mely magában foglalja a tűzfalat (a 80-a port kivételével az össze port alapbeállítása zárt), továbbá támogatja a "No execute"-ot és érzékeli a "buffer overruns"-t is (mindkettőt bővebben kifejti egy interjúban Joe Morris a Windows XP Embedded csapatból). Anti-virus védelem szintén elérhető 3rd party forrásokból, mint például a Computer Associates vagy a Trend Micro.
"Túl nenéz bekonfigurálni az operációs rendszert az én igényeim szerint."
Windows CE 5.0: Az operációs rendszer komponens alapú és az operációs rendszer fejlesztő eszköze (Platform Builder) tartalmaz egy varázslót, mely segít létrehozni a kezdeti platform konfigurációt. A varázsló 9 platform konfigurációt tartalmaz a "Kernel only"-tól (200 KB) a Residental Gateway, Internet Appliance vagy WebPad változatokig. Ezeket úgy kell tekinteni, mint a design kezdete: Ön ezekhez hozzáadhat vagy elvehet funkciókat, például hozzáadhatja a .NET Compact Framework támogatást vagy elveheti a HTTP Web Server támogatást. A fejlesztőeszköz azt is biztosítja, hogy a saját alkalmazásait és driver-eit hozzáadja. Nézze meg a Windows CE segédletet további információkért.Sőt, a platform konfiguráció kiterjeszthető saját formulák létrehozásával.
A Windows CE-hez készül rengeteg driver és board support packages (BSPs), melyek segítik az egyszerű konfigurálást, az ellenőrzést és a tesztelést. A fejlesztőeszköz betekintést enged a 2,5 millió soros megosztott forráskódba, mely segítséget nyújt a platform megismerésében, a hibakeresésben és a Windows CE operációs rendszer eljasátításában.
Windows XP Embedded: A Windows XP Embedded szintén egy komponentizált operációs rendszer. A Windows CE 5.0-hoz hasonlóan van néhány kiinduló minta, melyek segítenek az operációs rendszer létrehozásában. Ez tartalmaz mintát a set-top-boxokhoz, a Windows alapú terminálokhoz, az Internetes alkalmazásokhoz és így tovább. Arra is van lehetőség, hogy teljesen nulláról indulva adja hozzá a megfelelő hardver és szoftver komponenseket. A Windows XP Embedded fejlesztése és egy új platformon való futtatása meglehetősen magától értetődő. Mivel az alapjául szolgáló hardver x86-os PC architektúra, futtathat rajta olyan alkalmazást mely elemzi az Ön hardverét és generál egy XML fájlt mely az Ön referencia alaplapjához való hardverek listáját tartalmazza. Ezzel az XML meghatározással megkapja az alap hardvereket a kiválasztott alaplaphoz. Most már csak hozzáteszi valamelyik sablont vagy a különálló szoftver komponenseket a hardver meghatározáshoz és aztán létrehozza az operációs rendszert. Egyszerűnek hangzik, nemde? Valóban az! Kövesse a Windows XP Embedded segédletet hogy lássa milyen egyszerű ez a folyamat.
"A fejlesztőeszközök nagyon drágák."
Ok, ez egy egyszerű dolog. A Windows CE és a Windows XP Embedded INGYEN letölthető a Microsoft honlapjáról. Hadd mondjam el még egyszer: INGYENES. Most azonnal letöltheti a Windows Embedded Introductory Kit-et. Miután kipróbálta a fejlesztőeszközt és az operációs rendszert 120 napig, utána meg tudja venni a teljes verziót. A fejlesztőeszközök ára $995 Windows CE és Windows XP Embedded esetében is. Vegye figyelembe, hogy ha letölti a Windows CE próba verzióját, akkor kap egy eredeti fejlesztőeszközzel azonos terméket és a 2,5 milliós soros forráskódot.
Pontosan mikor van szüksége elkezdeni az Ön embedded operációs rendszere számára a licencek vásárlását? Nagyon egyszerű: amikor elkezdi szállítani a valódi eszközöket az ügyfelének. Használhatja a próba fejlesztőeszközöket (vagy az eredeti verziót) hogy elkészkészítse és a vevőjének elküldje az Ön embedded operációs rendszerének teszt változatát anélkül, hogy bármit licencelnie kellene.
De mennyibe kerül az operációs rendszer licenc? A Licenc költségek a Windows CE-nél és a Windows XP Embeddednél is egyértelmű. A Windows CE-nek van egy "Core" licence, ami az operációs rendszer nagy részét tartalmazza és $3-ba kerül, a "Professional" licenc pedig $16. A Windows XP Embedded licenc kb. $90 gépenként. Még egyszer, Önnek nem kell run-time license-et vásárolnia, amíg nem szállít valódi terméket. Ezért a fejlesztési költség igen alacsony. A fejlesztőeszközök ingyen letölthetők a Microsoft Embedded honlapjáról és 120 napig használhatók. Utána a teljes verzió $995. További információért nézze meg a Hogyan vegyünk Windows Embedded Operációr rendszert oldalt.
Nagyon sok módja van hogy támogatást kapjon Windows CE és Windows XP Embedded-del kapcsolatban, kezdve az ingyenes támogatástól (figyeli, már megint az "ingyenes" szót kellett használnom) a tréning kurzusokig, a partnerek által segített fejlesztésekig és a Microsoft Developer Support-ig. Az ingyenes támogatás része a partnerek és fejlesztők által figyelt hírcsoportok, online chat-ek és segédletek.
"Nincs driver támogatás az én hardveremhez."
Windows CE 5.0: A Windows CE tartalmaz legalább egy board support package-et mindegyik támogatott processzor-hoz (x86, ARM, MIPS, SH4). További információért nézze meg a támogatott BSP-k teljes listát. A Windows CE egyik érdekes szempontja az, hogy lehetőséget nyújt a hardver fejlesztők, rendszer integrátorok és alkatrész gyártók számára hogy saját referencia alaplapjuk, BSP-jük és driver-einek támogatásának a hozzáadásával bővítsék a Windows CE komponens katalógusát. A kompatibilitás ellenőrzéséhez nézze meg a listánkat Windows CE által támogatott driverek-ről.
Windows XP Embedded: A Windows XP Embedded tartalmazza ugyanazokat a driver-eket, mint a Windows XP Professional desktop változata, ez több mint 9000 önálló komponensként elérhető driver az XP Embedded számára. A lista könnyedén bővíthető a Windows XP Embedded fejlesztőeszköze segítségével. Ha van egy 3rd party drivere Windows 2000-hez vagy vagy Windows XP-hez, akkor az a driver .INF fájl-jának importálásával közvetlenül a Windows XP Embedded katalógusába importálható. A .INF fájl importálása és a komponens adatbázisban történő ellenőrzése után ugyanúgy használhatja az új drivert, mint az összes többi fejlesztőeszközben lévő drivert.
"Nem akarom hogy az én embedded termékem úgy nézzen ki mint a Windows."
Minden embedded rendszernek megvan a maga követelménye a felhasználói interfész tekintetében. Néhány esetben az embedded rendszer egy kezelő felület nélküli berendezés, melynek az egyetlen felhasználói interfésze Web-alapú. A HTML/DHTML alapú felhasználó interfész használata nagyon rugalmas és a távoli felhasználó interfész megjelenítése teljesen egyedivé tehető. Néhány esetben a HTML alapú felhasználói interfész a kezelőfelülettel rendlkező eszközökön is alkalmazható lehet, ilyenkor használható az Internet Explorer 6.0 alkalmazás vagy az ActiveX control.
Van egy dolog, amit érdemes szem előtt tartani a Windows CE és a Windows XP Embedded esetében is, miszerint a shell képes ugyanúgy kinézni mint a Windows desktop startmenüvel, ikonokkal, stb. De mindkét esetben a Windows Shell teljesen eltűntethető az operációs rendszerből. Eze lehetőséget biztosít, hogy az operációs rendszer közvetlenül az Ön alkalmazásába boot-oljon. A termék végfelhasználója nem fog semmilyen Windows felhasználói interfészt látni, nem fog hozzáférni a desktophoz (mivel nincs is), nem fog hozzáférni a control panel-hez (mivel nincs is) és így tovább. Fejleszthet egy saját alkalmazást ami az Ön eszközének a shell-je lehet. A Windows XP Embedded tartalmaz néhány minta shell-t, például a Windows Explorer-t, a Command Shell-t és a TaskMan Shell-t.
"Nem áll rendelkezésre tréning anyag, ami segítene a projektjeim kivitelezésében."
A Windows CE-hez és a Windows XP Embedded-hez is van tréning lehetőség. A Windows XP Embedded tréning két napos; a Windows CE tréning pedig egy 5 napos kurzus. Nézze meg a Windows Embedded Partnerek oldalát hogy megtalálja a legközelebbi tréning központot.
"Nincsenek olyan partnerek, akik hardvert, drivert, bootloadert vagy tréninget biztosítanának."
Több partnerünk van, mint amennyit meg tudna jegyezni - majdnem 2 500 több mint 50 országban a legutolsó ellenőrzés szerint. Nézze meg a Windows Embedded Partnerek oldalát hogy megtalálja a megfelelő terméket, szolgáltatást vagy hardver partnert a jelenlegi vagy a következő projektjéhez.
"Nehéz fejlesztőket találni a projektemhez."
Mi a közös a SPOT-ban, Windows CE-ben és a Windows XP Embedded-ben? Mindegyiket lehet C#-ban és a Common Language Runtime (CLR) egyik verziójában programozni. A Windows CE és a Windows XP Embedded szintén használja a Win32-t, Microsoft Foundation Classes-t (MFC) és az Active Template Libraries-t (ATL). Úgyhogy ha a fejlesztői jártasak a Windows programozásban ahol Win32-t, MFC-t vagy ATL-t, akkor könnyedén tudnak alkalmazást készíteni Windows CE-re és Windows XP Embedded-re is. Ha a fejlesztőinek menedzselt alkalmazás fejlesztési tapasztalata van, akkor egyszerű dolguk lesz a SPOT, a Windows CE vagy a Windows XP Embedded rendszerekkel. Sőt, világszerte több mint 6 millió képzett fejlesztő van, aki Windows platformra ír kódot. Rengeteg forrás található, ami segítheti az Ön projektjét.
Szintén érdekes a .NET Framework kiterjesztéseknek a fejlesztéseinek a száma - csak nézze meg a The Code Project és az OpenNETCF.org-t. Ráadásul a fejlesztők könnyen át tudnak térni egy Windows CE projektről egy Windows XP Embedded projektre, mivel már tudnak a platformok egyikén programozni.
"Nehéz a fejlesztőket az egyik platformról a másikra átmozdítani."
Ez majdnem ugyanaz mint az előző megjegyzés. Ha van olyan fejlesztője, aki tudja hogy kell egy Windows platformon programozni, akkor már tudja hogy kell Windows CE-vel vagy Windows XP Embedded-del dolgozni.



