Hlavní navigace

Názor ke zprávičce Na Windows 10 běží další distribuce: openSUSE od Lael Ophir - Ad oni mohou implementovat náš svět (opensource), ale...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 18. 1. 2017 13:46

    Lael Ophir (neregistrovaný)

    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.