Tucet otázek a odpovědí o Windows Vista

OBJEKTIVNÍ PRAVDA O VISTĚ
1
Je již teď něco, o čem jste přesvědčeni, že je u Windows Vista špatně?

Například UAC (User Acount Control) je příliš upovídaná. Těch bezpečnostních hlášení a upozornění je tam zatím prostě moc. Máme změřené, že zhruba první tři měsíce užívání čerstvě instalovaného systému UAC povídá opravdu hodně. Potom se to uklidní a jde průměrně o dvě hlášení za týden – což je únosné. Aktivní uživatelé, kteří častěji něco instalují, tím trpí nejvíce.
Asi nejpalčivější je, že ty otázky, které systém pokládá, nejsou vždy optimální. Pokud vezmu normálního uživatele, tak na většinu z nich nedokáže s úplnou jistotou odpovědět. My se zeptáme "to a to se ti snaží nainstalovat na počítač – je to dobře, nebo špatně?" No - je to dobře, nebo špatně?

2
Pak ale nechápu, proč jste to takto udělali…

Je důležité si uvědomit, že UAC není takto upovídaná proto, že jsme to v Microsoftu nezvládli. To opravdu ne. Hlavní důvod je ten, že naprostá většina softwaru, který je na trhu, je špatně napsaná. Čímž ale nechci napadat jejich výrobce. Stačí se podívat do historie. MS-DOS i Windows 95 byl v podstatě naprosto "pro jednoho uživatele" operační systém. Nikdo nepředpokládal, že by v něm mělo pracovat více různých uživatelů. A to se částečně dědilo i do ostatních verzí Windows, tedy W98, W2k a především XP. Možnosti systému, které může uživatel využívat, byla co největší, tak všichni uživatelé běží jako uživatel s plnými právy. Když se podíváte, jak jsou lidé u počítačů přihlášení, tak každý funguje jako uživatel s plnými právy!

3
Což je průšvih…

Jo, to je průšvih. No a teď je situace, že celý softwarový průmysl, který píše programy pro Windows, automaticky počítá s tím, že každý je jako root opravdu přihlášený. A to je ten problém u Visty zde nikdo primárně nefiguruje jako uživatel s plnými právy, ale jako lokální uživatel s omezenými právy, protože je to daleko bezpečnější řešení. A tím vznikají konflikty se softwarem. Když některý program potřebuje například něco zapsat do registrů, tak mu to systém nepovolí - a od toho jsou ty upovídané bezpečnostní dotazy.

4
Takže to řešení u W98, W2k a XP, kde mají všichni administrátorská práva, byla spíše vaše chyba než záměr…

Ale ne, tenkrát to byl záměr. V té době byly cíle úplně jiný než dneska. Nikdo nevěděl, jak se internet vyvine, jaké problémy s bezpečností teď budeme mít a jak lidi budou instalovat každou volovinu a klikat na cokoli bez rozmyslu. Dá se říci, že jsme tenkrát byli naivní. Například když jsme dělali XP, tak pro nás bylo důležitý, aby software, který běhal na 95kách, běhal i na těch XP. A ten problém byl úplně ten samý – bylo nutné, aby uživatel figuroval jako uživatel s plnými právy, což je však z bezpečnostního hlediska nevyhovující.

5
A jak to bude dál? Snaží se výrobci svůj software psát tak, aby Visty nemusel pořád žádat o přístup k systémovým zdrojům?

Aby byla zachována funkčnost staršího softwaru a zároveň bezpečnost systému, vytvořili jsme rozsáhlou databázi, v ní jsou kousky kódu různých potenciálně konfliktních aplikací. Ty píšeme sami pro konkrétní aplikace nebo třídy aplikací. Ve Vistě je takzvaná databáze kompatibility, ve které jsou záznamy o obrovské spoustě různých programů. Pokud tedy spustíte nějakou aplikaci, tak se funkce podívá do databáze, zda tam program je. Pokud je odpověď "ano", pak se systém upraví tak, aby měla aplikace pocit, že běží na systému, pro který byla napsána.
Funguje to tak, že když se pak tato aplikace snaží zavolat nějakou funkci, tak my jí, aniž by to poznala, mazaně podstrčíme jinou - vlastní - z naší databáze. Tím se vyvarujeme konfliktů některých starších a současných aplikací. Druhá cesta je taková, že spolupracujeme s výrobci softwaru, dáváme jim k dispozici informace a nabízíme školení, jakým způsobem software psát, aby s Vista fungoval. A pak se budeme moci obejít bez těchto různých mezikroků, které jsou rozhodně špatné a otravné.

6
To znamená, že administrátorská práva pak vlastně nebude mít uživatel, ale konkrétní aplikace?

V UAC ve Vistách existuje takzvaný token, který popisuje, jaký práva tam máš jako přihlášený uživatel. Pokud je uživatel přihlášen jako administrátor, tak má token dvě části. Jedna pro funkci běžného uživatele, druhá pro administrátorskou. No a my v tuto chvíli utneme tu administrátorskou část a odstavíme ji. Takže i když ses v tu chvíli příhlásil jako administrátor, což je v současné době typické chování, tak jím ve Vistách ve skutečnosti nejsi.
Ale tu informaci, že ses přihlásil jako administrátor, schováme. A v případě, že nějaký proces vyžaduje administrátorská práva, tak se tě v dialogu zeptáme, zda opravdu chceš být administrátorem (a povolit chod programu), a pokud souhlasíš, tak ten token zase slepíme a získáš administrátorská práva. Předcházíme tím tomu, aby si v systému každá aplikace (včetně virů a spyware) mohla dělat, co je jí libo. Pokud budeš přihlášený jako normální uživatel, tak navíc musíš zadat administrátorské heslo.

7
Typický uživatel ale stejně varovný dialog bez čtení odsouhlasí, protože ho vidí každou chvíli a zdržuje ho od práce…

A to je právě ten problém. My teď potřebujeme především docílit toho, aby výrobci toho legálního – ve smyslu správného a neškodného – softwaru psali své aplikace tak, aby tyto varovné hlášky vůbec negenerovaly. Počítáme, že zhruba za tři roky, až bude všechen tento software upravený, tak varovný dialog, to se zastavíte a řeknete si – sakra, co to je? A budeš z toho neklidný, protože to bude něco neobvyklého. Všechen správný software se bude chovat korektně, z čehož vyplývá, že nekorektní chování vyvolá jen špatný, a tedy nebezpečný program. No a to je dnes nerozlišitelné.

8
Windows Vista a potíže s hardwarem

Systém byl hotový, ale situace kolem nového filesystému i programovacího jazyka byla natolik komplikovaná, že se nedařilo optimalizovat jednotlivé parametry systému. Provedli jsme testy a výsledky byly tristní. Kompatibilita aplikací byla hrozná a výkon mizerný. Jako optimální postup se ukázalo začít znova načisto. Takže někdy v září 2004 jsme kompletně vymazali celý kód a začali jsme Visty psát úplně znovu. Místo souborového systému WinFS jsme použili NTFS a místo. NET pak programovací jazyk C++. Koncepčně i vizuálně je systém úplně identický, ale je napsaný zcela jinak. Bylo to hodně náročný, ale ve všech parametrech se systém dramaticky vylepšil.
A zrovna od nového filesystému se poměrně dost očekávalo, s čím byl problém?
WinFS byl strukturovaný souborový systém, postavený na databázi. A bohužel se nepodařila vyřešit spolupráce staršího softwaru s novým filesystémem, což je však věc, kterou naši zákazníci po právu očekávají. A to byl tak složitý problém, že se nám ho nepodařilo vyřešit. Ve Vistách jsme chtěli především pokročilé funkce vyhledávání a indexování, který WinFS právě umožňoval. Takhle jsme ho museli obejít a vytvořit nástavbu NTFS, která pak tyto funkce umožnila. A to samozřejmě není optimální, ale je to plně funkční kompromis.

9
Současní uživatelé Windows Vista musí řešit problémy s kompatibilitou ovladačů hardwarových součástí. Jak to řešíte?

Tohle je velký problém. My jsme museli změnit rozhraní, jakým se ovladače zapojují do činnosti systému. Hlavním důvodem bylo zvýšení stability systému. Historicky ovladače běhaly na úrovni jádra systému, když je ovladač zařízení špatně napsaný, strhlo to s sebou celý operační systém.
Když jste viděli modrou obrazovku, tak to nebylo proto, že bychom v Microsoftu neuměli napsat dobrý kód, ale protože se ovladače zapojovaly přímo do jádra, a tak v případě jakéhokoli problému shodily i jeho chod.
V nové verzi jsme ovladače vytlačili o úroveň výš, teď běží nezávisle na zbytku systému, každý přihlášený uživatel má svoji adresu a ovladače právě běží v každé té adrese. Takže v tuto chvíli, když ovladač spadne, tak jádro dokáže tento proces "zabít" a znovu spustit. A život jde dál.
Na tuto změnu ale musí výrobci hardwaru reagovat. U nových zařízení s tím není žádný problém. Ale pokud jde o starý hardware, který se již moc neprodává, tak se výrobcům vůbec nevyplatí investovat do vývoje nových ovladačů. Spousta lidí má pět, šest let starý hardware, se kterým již jeho výrobci nic dělat nechtějí.

10
Jak bude vypadat další vývoj Windows? Budete pokračovat v trendech, které jste zahájili ve Vistách? Budou změny evoluční, nebo chystáte nějaké zásadní?

Směr bude pokračovat, máme veliké plány. Ve Vistách jsme se hodně zabývali bezpečností, řešili jsme ovladače, stabilitu a zkostnatělost systému. Na těchto třech pilířích se dá říci, že Visty nyní opravdu stojí a všechny ty diskutované technologie, jako třeba šifrování, do toho zapadají. Ve Vistách jsme změnili hodně věcí a to jsou teď základy, ze kterých budeme vycházet a na kterých budeme dále pracovat. Samozřejmě taky uvidíme, co na to budou říkat uživatelé.

11
A jaké jsou teď ohlasy na Visty?

Prodeje jsou výborný, jen v prvním čtvrtletí, co byla Vista na trhu, jsme prodali více kopií než Mac ve všech svých verzích dohromady.

12
Mnoho lidí vás kritizuje za silnou inspiraci u konkurence. Jak ve Vistách, tak v Internet Exploreru 7 lze vysledovat jasnou podobnost s konkurenčními produkty.

Tohle je ožehavé téma. Částečně jde o přirozený vývoj, částečně o požadavky trhu. Bylo by nesmyslné záměrně ignorovat již ověřené a fungující postupy a tvrdohlavě vyvíjet nové.
Úpravy IE7 byly o dvou věcech. Jednak musel nový prohlížeč splnit požadavky webových standardů, a současně jsme nechtěli tolik zkomplikovat život webovým programátorům, kteří leckteré stránky upravili pro správnou funkci v IE6. Druhou změnou bylo jeho rozdělení ve Vistách do dvou procesů - jeden s nízkými právy pro práci se zdrojovým kódem a vstupními daty a druhý, který vykresluje finální výsledek. Ten má práva vysoká. Díky tomu omezujeme možné útoky na systém prostřednictvím webového prohlížeče.




Fantasy a Sci-fi: Jeremiho Čítárna
© Jirka 'Jeremius' Wetter, jeremius@fantasy-scifi.net, 2000 - 2004

http://fantasy-scifi.net/citarna/