Hlavní navigace

Názor ke článku „Je lepší Windows nebo Linux?“ je špatná otázka od Lael Ophir - [124] U Linuxu je většinou problém s podporou...

  • 1. 6. 2013 18:11

    Lael Ophir (neregistrovaný) 90.181.145.---

    [124] U Linuxu je většinou problém s podporou toho HW, který je momentálně na trhu, tedy který zákazníci reálně potřebují používat. Ovladače pro pravěké S3 Trio, nebo zvukovou kartu která se už 15 let nevyrábí, většině zákazníků moc nepomůžou. A pak jsou tu samozřejmě problémy s kvalitou driverů - s tím co umožňují (resp. neumožňují), jestli náhodou neničí HW :) apod.

    S Windows 9x se asi opravdu nepočívá. Technicky vzato můžete ten samý jednoduchý driver provozovat ve Windows NT 3.51 a Windows 8. Pochopitelně se v průběhu času změnily požadavky na spoustu driverů - například driver USB zařízení se musí správně zaregistrovat aby byl v případě potřeby natažen, správně komunikovat s nadřazeným driverem apod, a to driver psaný pro NT 3.51 asi nebude umět. Kernel-Mode Driver Framework (což je vlastně jednoduchý wrapper nad PnP managerem, I/O managerem a spol, určený pro snazší psaní driverů) je k dispozici pro Windows 2000 a vyšší. User-Mode Driver Framework je k dispozici pro WinXP a vyšší.

    Myslím že se dají srovnávat i výrobky různých cenových relací. Například tohle video mi přijde zábavné, zvlášť poslední třetina. Některé mobilní OS prostě nepotřebují 4-jádrový CPU, 2GB RAM a 3-jádrovou grafiku, jen aby se GUI neškubalo :). BTW tahle Lumia stojí USD 149, nedotovaná.
    http://www.youtube.com/watch?v=XW-boe_-M4U

    To že je Linux opsisem unixů z osmdesátých let není až takový problém. Kdyby šlo o moderně designovaný OS, nabízející kompatibilitu i s unixy, neřekl bych ani popel. Jenže Linux kombinuje nevýhody tradičních unixů s mizernou implementací. Fakt by býval byl tak velký problém napsat preemptivní reentrantní kernel bez BKL? A pokud nebyly prostředky na implementaci threadingu, tak alespoň připravit architekturu, aby se to pak nemuselo mastit tak jak to bylo vidět? A opravdu bylo potřeba přejmout i minor-major numbers pro adresování driverů? Fakt se nedaly lépe vyřešit drivery a zavést ABI? Nebylo možné od začátku řešit Unicode a bylo nutné ho patlat ještě dlouho po začátku tohoto století (dodnes se všechno převádí tam a zpět)? Fakt nešlo na terminály udělat rozumné API, místo toho bordelu terminálových sekvencí? A nešlo přijít od začátku s něčím lepším než s prehistorickým X11? Atd, atd.

    Windows na pozadí provádějí indexaci, případně defragmentaci.

    [126] Problém je daleko hlubší. Linux při alokaci paměti s klidem slíbí i paměť, kterou ve skutečnosti nemá. Za to může používání mimo jiné smrtící kombinace API fork/exec, které vyžaduje spoustu paměti (fakt nešlo od začátku přijít lepším API?). Když pak aplikace chce použít paměť, kterou kernel slíbil a nemá, je potřeba prostě nějaký proces odstřelit, protože kde nic není, ani kernel Linuxu nebere.
    Například na AIXu existuje SIGDANGER, který umí aplikace upozornit, že paměť brzo dojde. Aplikace mohou například zmenšit buffery apod. A nakonec se nechá nějaká paměť v rezervě, aby mohl dál jet síťová připojení a mohl se přihlásit admin.
    Na Windows když dojde paměť, tak aplikace prostě při alokaci paměť nedostane. Aplikace si s tím pak může poradit podle uvážení - zmenšit nějaký buffer, odmítnout nějakou operaci apod.
    Na Solarisu to funguje podobně jako na Windows (navíc se tam nepoužívá fork/exec), na *BSD pokud vím také.