Klávesové zkratky na tomto webu - základní­
Přeskočit hlavičku portálu


Exkluzivní rozhovor s Čechem, který šéfuje vývoji Windows Vista

aktualizováno 
Velmi otevřený rozhovor s nejvýše postaveným Čechem v Microsoftu vám mimo jiné odpoví na otázku, proč nový operační systém uživatele neustále bombarduje kontrolními dotazy, proč si nerozumí s některým hardwarem a co na něm bude Microsoft ještě vylepšovat.

Aleš Holeček - vedoucí vývoje Windows Vista | foto: Václav Nývlt, Technet.cz

Rozhovor s Alešem Holečkem, který má na starosti vývoj shellu Windows Vista, se odehrál částečně v restauraci v Seattlu, částečně v jeho acuře, když nás vezl zpět do hotelu. Během rozhovoru působil vesele, uvolněně a bez váhání odpovídal i na nepříjemné otázky šťourající do slabin nového operačního systému.

Ani na okamžik nebylo možno pochybovat, že ho jeho práce baví. A i když se rozhovor protáhl do velmi pozdních nočních hodin, nedal nám nikdy najevo, že už bychom měli končit. 

Windows Vista a otravná bezpečnostní hlášení

Začnu trochu nepříjemně. Je již teď něco, o čem jste přesvědčeni, že je u Windows Vista špatně?

No určitě. Například UAC (User Acount Control - kontrola procesů a práv - pozn. redakce) 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, třeba svojí mámu, tak ta 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ě? Ona to přece neví! 

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 "single-user" 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. A aby ta "user experience", tedy možnosti systému, které může uživatel využívat, byla co největší, tak všichni uživatelé běží jako root (uživatel s plnými právy, administrátor - pozn. redakce). Když se podíváte, jak jsou lidé u počítačů přihlášení, tak každý funguje jako administrátor…

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 Vist - zde nikdo primárně nefiguruje jako root, 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.    

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 s odpuštěním blbí a budou instalovat každou volovinu a klikat na cokoli bez rozmyslu. Dá se říci, že jsme tenkrát byli naivní. A to bez nadsázky.

Například když jsme dělali XPčka, 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 samej – bylo nutné, aby uživatel figuroval jako administrátor, což je však z bezpečnostního hlediska nevyhovující.

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, které říkáme "shimi". 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 "create process" podívá do databáze, zda tam program je. Pokud je odpověď "ano", pak se systém zapatchuje tak, aby měla aplikace pocit, že běží na OS, 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, podstrčíme jinou - vlastní - z databáze shimi. Tím se vyvarujeme konfliktů některých starších a současných aplikací s Win Vista.

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 Windows Vista fungoval. A pak se budeme moci obejít bez těchto různých mezikroků, které jsou rozhodně špatné a otravné.

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 admin, 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.

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é.

Windows Vista a potíže s hardwarem

Visty měly zhruba rok zpoždění oproti původnímu ohlášení – proč tomu tak bylo, co se stalo?

Měli jsme obrovské investice do WinFS (souborový systém) a .NET Framework Manage Code (programovací jazyk) a ty investice se ne zcela úplně materializovaly. 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ě odznovu. 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žitej problém, že se nám ho nepodařilo vyřešit. A to na něm pracovalo přes 500 lidí.

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.

Současní uživatelé Windows Vista musí řešit problémy s kompatibilitou ovladačů hardwarových součástí. Asi nejznámější je neexistence kvalitních ovladačů pro některé zvukové karty Creative. 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 ty ovladače běhaly v takzvaném "kernel mode", tedy na úrovni jádra systému. A protože, když je ovladač zařízení špatně napsaný – a mohu říci, že prakticky v každém ovladači nějaká ta chyba je - tak když došlo z nějakého důvodu k pádu ovladače, strhlo to s sebou celý operační systém.

Potom se objevil takzvaný "bluescreen", tedy modrá smrt. 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ýš, do takzvaného "user mode". Kernel teď běží nezávisle na zbytku systému, každý přihlášený uživatel má svoji session a ovladače právě běží v každé té session. 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í.

Kdo je Aleš Holeček ?

Je to ředitel vývoje shellu Windows Vista a jeden z nejvýše postavených Čechů v Microsoftu. Spolu se třemi partnery šéfuje týmu 1200 lidí.

Je mu 39 let, narodil se v Jeseníku a v USA žije od roku 1995. Vystudoval grafiku na ČVUT v Praze a díky tomu, že publikoval odborné články, si ho všimla firma MetaCreations ze Santa Barbary.

Pracovní nabídku přijal a postupně se stal vedoucím grafikem. MetaCreations se zabývala vylepšováním a vývojem GUI. Rozhodně není bez zajímavosti, že část lidí odešla do Apple, kde pracuje na vývoji GUI OSX.

Aleše poté "přetáhla" společnost Microsoft, kde v současné době šéfuje vývoji klientské části operačního systému Windows. Je ženatý a má dvě děti.


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 poměrně agresivní plány. Ve Vistách jsme se hodně zabývali bezpečností, řešili jsme ovladače, stabilitu a rigiditu systému. Na těchto třech pilířích se dá říci, že Visty nyní opravdu stojí a všechny ty diskutované technolgie, jako třeba Bitlocker, 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é.

A jaké jsou teď ohlasy na Visty?

No já bych řekl, že poměrně dobrý. A prodeje jsou výborný, jen v prvním čtvrtletí, co byla Vista na trhu, jsme prodali více kopií než MacOS ve všech svých verzích dohromady.  

Windows Vista a inspirace u konkurence

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ý browser 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 ne úplně korektním IE5 a 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. A ty taby? Tlak trhu jasně řekl, že je chce. A tak v IE7 jsou.





Hlavní zprávy

Další z rubriky

Před 100 lety propukly v Houstonu rozsáhlé rasové nepokoje
Před 100 lety propukly v Houstonu rozsáhlé rasové nepokoje

VIDEO 23. srpna uplynulo přesně 100 let ode dne, kdy se v texaském Houstonu odehrál incident mezi policisty bílé barvy pleti a místní černoškou. Ten vyvolal...  celý článek

Kanadsko-americký jevištní kouzelník a vědecký skeptik James Randi
Jak odhalit šarlatána. Rozhovor se skeptickou legendou, úžasným Randi

Kanadsko-americký iluzionista, legenda svého oboru, mistr známý po celém světě. A také profesionální skeptik. Už půl století bojuje proti nejrůznějším...  celý článek

Před 100 lety vyhnali cara Mikuláše II na Sibiř
Před 100 lety vyhnali bývalého cara Mikuláše II. na Sibiř

VIDEO Abdikací cara Mikuláše II. skončilo na konci zimy 1917 panování dynastie Romanovců v Rusku. V srpnu téhož roku byla celá jeho rodina vyhnána do...  celý článek

Najdete na iDNES.cz



mobilní verze
© 1999–2017 MAFRA, a. s., a dodavatelé Profimedia, Reuters, ČTK, AP. Jakékoliv užití obsahu včetně převzetí, šíření či dalšího zpřístupňování článků a fotografií je bez souhlasu MAFRA, a. s., zakázáno. Provozovatelem serveru iDNES.cz je MAFRA, a. s., se sídlem
Karla Engliše 519/11, 150 00 Praha 5, IČ: 45313351, zapsaná v obchodním rejstříku vedeném Městským soudem v Praze, oddíl B, vložka 1328. Vydavatelství MAFRA, a. s., je členem koncernu AGROFERT.