Jenže když se s vámi váš "úhlavní" nepřítel začne takhle moc mazlit tak to v těch "hc linuxácích" vyvolává strach, protože jsou očekávány postranní úmysli, na druhou strana Microsoft to hraje dobře, když poběží věci z opensource světa nativně na windows tak obyčejný uživatel nepotřebuje kernel, nikdo napracuje přímo s kernelem, lidé používají aplikace, také je potřeba si uvědomit, že Windows nutně potřebuje vyřešit vlastní kontejnery protože to teď točí světem, proto tak makají, aby jim tam šlapal Docker a světě div se on běží a nakonec to vše roztočí přes kubernetes a co poznáte, prd, protože tam poběží stejné služby (nginx, php, haproxy, redis, mongo, mysql...) a to tady jde, kernel vývojáři pro Windows nejsou o nic horší než ty pro Linux, jen požadavky co implementovat zhora jsou jiné, dalo by se říct, že v jistém slova smyslu (úhlu pohledu) mají navrch, protože oni mohou implementovat náš svět (opensource), ale mi toho nejsme schopni, protože jejich svět nemá dostatečně dobrý popis fungování (viz. projekt Wine a jeho snaha), vlastně bych řekl, že je to neskutečné plýtvání energii psát neustále tyto překladováné vrstvy syscallů.
Ad oni mohou implementovat náš svět (opensource), ale mi toho nejsme schopni, protože jejich svět nemá dostatečně dobrý popis fungování (viz. projekt Wine a jeho snaha) - na prvním místě MS implementuje v SFL unixové syscalls. Neimplementuje libc ani nic nad ní (i když spousta funkcí libs jen propadne na syscall). SFL umožňuje jen spustit binárky, které používají ty syscalls. Podotýkám že MS může implementovat i POSIX, což dělaly Services for UNIX.
Na druhém místě Wine toho implementuje daleko víc: snaží se o kompletní API Windows, které je daleko rozsáhlejší než API Unixových systémů. Právě proto implementuje jen 73% volání Win32 API (s tím že minimálně DX12 ani nepočítají do statistiky), v těch 73% má jistě spoustu problémů, a zbytek Win32 API prostě ignoruje. MS na vývoji Windows tráví hodně úsilí, a snažit se autory Windows dohonit reimplementací API je jako honit vlak pěšky.
Takže o popisu API to není, to má MS naopak popsané velmi dobře. Je to hlavně o tom to API vůbec kompletně implementovat, čemuž se Wine ani zdaleka neblíží. A pak jde i o vlastnosti API, které sice nejsou formálně dokumentované a aplikace by na něj neměly spoléhat, ale bohužel na ně někdy spoléhají. Jde například o pořadí ve kterém chodí callbacky (typicky window messages). Nemluvě o tom že občas aplikace tahají resources ze shellu (ikony a animace), parsují a v nejhorším případě i mění nedokumentované struktury atd. Tam to není o dokumentaci Win32 API, ale spíš o dokumentaci prasáren, které autoři aplikací napáchali. MS tyhle informace má, protože existující aplikace na Windows testuje, plus má crash reporting.
AHA! Teď to chápu. Wine není dokonalé, protože to celé MS Win API je totální bloatware! :-) :-) :-) Ó díky, mocný! Prozřel jsem!
BTW: Services for UNIX umožňovaly běh pouze jedné aplikace, tj. žádný multitasking. Hned od začátku to byl výsměch a nic pod tím pořádně nechodilo. Byla to šaškárna na tehdejší požadavek na veřejné zakázky v USA, že systém musí mít kompatibilitu s POSIX. Tenkrát to mohli arogantně ignorovat. Dneska to horkotěžko implementují. Kdyby si tehdy viděli na špičku nosu, nemuseli by dnes být v takových potížích... a bohužel si na špičku nosu nevidí ani dnes :-|
Chápu vaši frustraci z toho, že vaši identifikaci s vítězným týmem hatí realita... ale to že není vítězný, bylo jasné už tehdy, když MS podepsal smlouvu s IBM, která jim zajistila monopol. Žádný monopol nežije věčně...
Ad Wine není dokonalé, protože to celé MS Win API je totální bloatware - Win32 má takový "bloat" jako třeba file open dialog, podporu kreslení jedním API po obrazovce a stránce tiskárny, přidávání uživatelů, správa servisů (daemonů), změna nastavení síťového adaptéru... Jo, fakt bloatware :D, POSIX totiž taková API nemá.
Ad Services for UNIX umožňovaly běh pouze jedné aplikace, tj. žádný multitasking - ehm, mohu se zeptat z jakého zdroje informace pochází? Já si bez problému pouštěl více POSIXových aplikací najednou, architektonicky nevidím takové omezení, a nepamatuji si nic takového ani z dokumentace.
Ad Hned od začátku to byl výsměch a nic pod tím pořádně nechodilo. Byla to šaškárna na tehdejší požadavek na veřejné zakázky v USA, že systém musí mít kompatibilitu s POSIX - byl to způsob jak vzít aplikaci psanou pro Unix, a provozovat ji na Windows. Pokud jste si doinstaloval X11 server, mohl jste běžet i GUI aplikace. Já jsem tak měl nainstalovaný mimo jiné Gimp. V ČR se POSIX subsystem moc nepoužíval. V US se používal také poměrně málo, ale využití tam bylo.
Ad Chápu vaši frustraci... hatí realita... vítězný... monopol... - předpokládám že SW je pro vás náboženství, jinak vaše výroky těžko vysvětlit. A čiší z nich frustrace z toho, že má Linux po 26 letech trvání projektu na desktopu 1%, přestože je k dispozici zdarma. To i ten MacOS, který je k dispozici jen na ultra-předraženém HW od Apple, je úspěšnější. No, poperte se s realitou.