Hlavní navigace

Názor ke zprávičce Pod Windows už lze neoficiálně rozběhnout i Arch Linux od Pavel Píša - Z mého pohledu je to záchrana pro mnoho...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 16. 9. 2016 10:55

    Pavel Píša

    Z mého pohledu je to záchrana pro mnoho vývojářů. V několika firmách jsem před lety řešil kompilaci GCC a cross toolů pro různé embedded projekty (často ne-Linuxové) a bylo to vždy extrémní množství zbytečně vynaloženého času, pokud jsem to chtěl předvést/udělat tak, aby to mohli reprodukovat. Jednalo se o cílové architektury m68k, PowerPC, ARM.

    O řád lepší bylo připravit toolchain pro Cygwin nebo MSys canadian-crossem na Linuxu. Takové Sysgo, pokud vím, a další naivestovali hromadu času do úprav Linuxového jádra a build systému, aby bylo možné embedded řešení vyvíjet na Windows. Potíž totiž je, že v mnoha velkých firmách je tvrdá korporátní politika, která zakazuje vlastní instalaci OS na zaměstnanecké počítače a i pokud je to možné, tak se často bez proprietárních bezpečnostních řešení vůbec nedostanou na síť nebo to řeší připojením pracovních počítačů přes své soukromé mobilní datové služby.

    Co sleduji současný trend, tak již velké množství těch firem nabízejících podporu embedded Linux vývoje spíš "nativní" Windows řešení pro extrémní spotřebu času jak u nich tak u zákazníků vzdalo a řeší to (často předinstalovanými) Linuxovými virtuály pod Windows. Ale věřím, že řešení s WSL bude často pohodlnější a třeba se jednou přiblíží život embedded a mobilních vývojářů komfortem a trochu i výkonem práci pod GNU/Linuxem. Na druhou stranu mono specializovaných profesionálních nástrojů pro analýzu komunikací atd. existuje jen pro Windows. Takže někdy i nic jiného něž kombinace obou systémů je nutnost. A nebo si nástroje řešit vlastní cestou.

    Například na CAN máme teď díky našim aktivitám a pracem studentů analyzátor, který je v záznamu času příchodu zpráv přesnější a výkonnější než střední až možná i základní vyšší třída nástrojů s Windows only rozhraním. Ale další analýzu záznamu a filtrování si musíme řešit také sami, od jednoduchého grepu v příkazové řádce až po Qt aplikace. Takže pro mnoho firem je klikací Windows řešení rychlejší cesta. Když pak dojde na složitější věci, tak již stejně skriptování a klikání v proprietárním analyzátoru nestačí a je pak celkem jedno, kde se aplikace píše. Na Linuxu je to jednodušší třeba u CANu o to, že existuje jednotné API a není nutné integrovat knihovny několika odlišných dodavatelů CAN HW.

    Obecně tedy považuji WSL za velkou pomoc. Zároveň MS motivuje k analýze a poučení se z řešení před mnoha lety vyvinutými pro Linux. Například museli naimplementovat Futex (i když z pohledu RT a robust Futex je to spíš jen parodie) a API přidali i do WIN32. Až časem vymřou starší verze OS a knihovny tak postupně třeba i výkon takové základní funkce jako zamknutí mutexu a čekání na event bude ve Windows na rozumné úrovni. Analýza vývoje čekání na event je ve WIN32 API je mimochodem extrémně zajímavá tím kolik špatných řešení a optimalizací lze vymyslet. Celkem hezký základ z VMS, kvůli nárokům na inicializační syscally přidání lazy init, výsledkem náhodné padání aplikací až za běhu kvůli vyčerpání prostředků, přidání keyed event aby bylo možné napsat frontu pro čekání na uvolnění prostředků, atd atd. a pak přidání Futexu a možnost to řešit bez inicializačních syscallů úplně.