Mě celkem baví ta dlouhá léta úvah uživatelů Linuxu na téma "Windows určitě přejdou na linuxový kernel". Kernel Windows je v principu dost odlišný od jakéhokoliv unixového, a upřímně o dost lepší. Hlavně se ale liší tím, že se podobné věci dělají jinak. Stačí si projít dokumentaci API (v případě Linuxu asi zdrojáky), a hned uvidíte spoustu rozdílů. Jako příklad si vezměte funkce NtCreateFile() a open() níže. Rozdíly jsou i v práci s pamětí, dramaticky odlišně se liší správa zařízení, grafika atd.
https://learn.microsoft.com/en-us/windows/win32/api/winternl/nf-winternl-ntcreatefile
https://manpages.debian.org/unstable/manpages-dev/open.2.en.html
Je fajn, že existují compatibility layers typu Wine. Jenže ty ve skutečnosti značnou část Win32 API ignorují, aplikaci hlásí že byla akce úspěšně provedena, a spoléhají na to, že to nepovede k nefunkčnosti aplikace. Na straně Windows jste mohl vidět WSL verze 1, kde se implementovaly linuxové syscalls, a výsledek byl výkonem i absencí podpory některých syscalls dost nepřesvědčivý. WSL verze 2 už jedou Linux kernel ve VM, do kterého se zavádějí moduly virtuálních zařízení komunikujících přes VM bus, a přístup k FS se řeší přes network redirector. Na obou stranách jsou tedy vidět omezení compatibility layeru. Když chcete běžet Win32 aplikaci na Linuxu, raději si pusťte Windows ve VM. Když chcete běžet Linuxovou aplikaci na Windows, pusťte si přes WSL Linux (de-facto) ve VM.
Včem je lepší win kernel, když firmy musí platit implentaci a její aktulizaci? Tudíž když firma nemá peníze tak to stagnuje... to znamená zastarávání jejich "jádra" jako takového... Tudíž se vracíme k tomu linux vs win... ale MS je na peníze a nevěřím tomu, že ušetřené peníze za jádra nebudou zrovna malé, aby k tomu rozhodnutí nedošlo...
Oni lidé obecně pracují jen když z toho něco mají. Pokud jde o MS, tak ten je momentálně v žebříčku tržní kapitalizace na druhém místě s částkou 3 395 miliard dolarů, a minulý rok měl příjmy ve výši 211.9 miliard dolarů, což je mimochodem více než dvojnásobek českého státního rozpočtu. Fakt bych se nebál, že by MS neměl peníze na vývoj.
Migrovat Windows na linuxový kernel je asi stejně praktické, jako posadit bagr na podvozek motokáry, nebo naopak. Prostě to na sebe nepasuje, a přineslo by to dlouhou řadu problémů.
To už bych upřímně viděl jako pravděpodobnější, že IBM zabalí AIX, HP zabalí HP-UX a Oracle zabalí Solaris. Všechny jmenované Unixy totiž mají s Linuxem veliký překryv funkcionality a konceptů. Řekněme že je to jako posadit bagr na podvozek jiného bagru, nebo motokáru na podvozek jiné motokáry. Tedy nikoliv triviální, ale přesto daleko snazší. A že ten či onen Unix umí proti Linuxu něco navíc? Přece není problém danou funkcionalitu dodat do Linuxu, zvlášť když k ní máte zdroják. Víte kolik by ty firmy mohly ušetřit na vývoji vlastního OS?
Win32 API bylo "nalepené" na MS-DOSu, OS/2 a NT? To je poměrně odvážné tvrzení, když Win32 bylo vytvořené pro Windows NT.
O Wine jsem přece psal. Spoustu volání Win32 API prostě ignoruje, vrací 0x0 (ERROR_SUCCESS, The operation completed successfully) a spoléhá se na to, že to nezpůsobí ztrátu funkce dané aplikace. A zatraceně často tahle sázka nevyjde.
Kde konkrétně se MS snažil zbavit legacy API nadobro? Snad leda Windows RT, které obsahovaly spoustu Win32 aplikací, ale umožňovaly instalaci dodatečných aplikací pouze přes Store. Jenže to měla být hlavně blbuvzdorná konkurence pro ořezané Chromebooky. Kde jinde se o to MS pokoušel?
Neni pravděpodobnější, že IBM zabalí AIX, protože na tom běží celý jejich portfolio včetně projektu qvantum. U kvantového akcelerátoru by to znamenalo přepsat veškerý kód a začít opravdu od úplného začátku. Proto se můžete setkat u kvantových akcelerátorů s AIX.
HP-UX dejme tomu, jedinej zádrhel může být oblast super počítačů.
Solaris je opravdu svým způsobem všude a třeba afrika na tom zásadně jede, včetně velké části asie nebo se můžem ve velkém setkat v USA nebo kanadě...
Problém těchto zmíněných příkladů jsou záměry na velmi specifické zákazníky, nebo odvětví, kdy změna znamená obrovský problem. V případě Win je to půl na půl.
Není mi jasné, proč by kvantový akcelerátor nemohl běžet na Linuxu namísto AIXu, a proč by bylo nutné přepsat veškerý kód. Ale rád se dozvím, kde konkrétně by podle vás měl být zádrhel.
Superpočítače jsou dneska převážně výpočetní gridy, a tam je úplně jedno, jaký OS běží na nodech. Samozřejmě firmy mají spoustu know-how a kódu, ale opět mi uniká, co konkrétně by mělo bránit přechodu na Linux.
Solaris samozřejmě běží na pár instalacích. To slovo "pár" je ve srovnání s Windows nebo Linuxem, ale jsou to poměrně velké instalace. Ovšem SPARC je podle všeho mrtvý, poslední model CPU vyšel v roce 2017, Fujitsu už migrovalo na ARM. Zbývající HW pro Solaris je na x86-64, a může s klidem běžet na Linuxu. Ano, Solaris je lepší Unix než Linux, ale opět nevidím důvod, proč by Oracle nemohl chybějící funkcionalitu dolepit do Linuxu, zvláště kdy k ní má zdrojáky.
Váš argument byl, že "když firma nemá peníze tak to stagnuje". S IBM to jde od devíti k pěti, resp. od cca 100 miliard dolarů tržeb k pouhým 61 v roce 2023. HPE se od rozdělení HP potácí, minulý rok tržby 29.14 miliard. Oracle jako jediný z té trojice alespoň trochu roste, ale nic moc. Všechny tři ty firmy mají dohromady tržby jako dvě třetiny Microsoftu, ale každá z nich vyvíjí svůj vlastní Unix. Připomíná mi to tři kohouty, kteří na smetišti bojují o jednu poslední žížalu. Roli jejich OS totiž u dlouhé řady zákazníků dávno převzal Linux. Sakra, už i ten SAP, který je tak konzervativní, že vždycky čekám kde se na mě začnou sypat děrné štítky, napsal HANA in-memory DB specificky pro Linux. A to znamená, že na Linux migrují všichni jeho zákazníci. Co víc k AIXu, HP-UX a Solarisu? Snad jen jedno: poslední ať zhasne.
To máte zřejmě na mysli přesun části GDI do win32k.sys (nikoliv .dll). Tenhle přesun snížil overhead volání grafického subsystému, a tím výrazně zvedl jeho výkon.
Pokud bych měl v těch letech na starosti architekturu NT, a mohl si vybrat mezi tím, aby diskutér Wasper považoval NT kernel za "pejsek s kočičkou NEvařili dort", nebo výrazně zvýšil výkon grafického subsystému, tak si vyberu to druhé ;)
Tak v tom případě navrhuji test po fyzikářsku - experimentem. Pozveme někam tehdejší windows a citrix adminy, rozdáme jim středověké zbraně , já budu tvrdit, že to bylo nekoncepční hloupost, vy budete tvrdit to co tvrdíte. A oni si vzpomenou na tehdejší bezesné noci.
(hint: Ono to do kernel space rvalo i printer drivery. *mává na Minoltu*)
O prasárně stylu UAE přelepené přes klasická ACL práva se radši ani nezmiňovat (užitečnější virtualizovat fs se to co si pamatuju naučilo až mnohem později)
Mimochodem, jste si vědom toho (tuhle diskusi jsme před 15 lety vedli na Mageu, ze pane Srnka...) že architektura i386 nemá jen user/supervisor, ale má 4 priority levely (ringy) + IOPL, takže i to, když chcete něco dát do privilegovaného kódu, tak se to nemusí strčit zrovna do kernelové nuly kde chyba = BSOD.
Takže fakt to není stabilita/výkon, ale spíš zprasený výkon.