sobota, 28 czerwca 2008

Windows XP - czy to naprawdę najsensowniejszy Windows na desktop?

Systemów operacyjnych Microsoftu nie używam od wielu lat. O ile pamiętam ostatnie wersje z którymi się zetknąłem to Windows 3.11 i może przez chwilę Windows 95. Od tego czasu na moich stacjach roboczych stosowałem Linuksa, a ostatnio także Mac OS Xa.

Wybrałem inne niż Windows systemy nie tyle ze względów ideologicznych, co pragmatycznych - przynajmniej tak wolę o tym myśleć :). W roku 1997, będąc na pierwszym roku studiów informatycznych, miałem do wyboru - programowanie w DOS, lub nakładkach na DOS :), gdzie musiałbym zakupić stosowny pakiet Borlanda lub Microsoftu (był jeszcze mityczny Watcom), lub programowanie z użyciem narzędzi GNU w Uniksie (Oczywiście ten ostatni sam w sobie wart był poznania :) ). Na pierwszą opcję zdecydowanie podówczas nie było mnie stać, choć wynalazki w rodzaju Visual Basic (zdążyłem go już nieco poznać), czy Delphi (miałem spore doświadczenie w Turbo Pascalu) mocno kusiły. Z drugiej strony tak "abstrakcyjne" narzędzia wybrane "na początek" IMO zaciemniają istotę programowania.

Zainstalowałem Debiana i poraziło mnie, że w jednym miejscu mam dokładnie opisane, łatwo dostępne, zintegrowane wzajemnie i przy tym całkowicie "free" (zarówno w aspekcie dostępności kodu źródłowego jak i ceny :) ) narzędzia do programowania z pomocą takich języków jak: C, C++, Pascal, Java, Python, Perl, LISP, Ada, Logo, etc.. Większości z tych języków nie poznałem zbyt dogłębnie - z czasem skupiłem się na Javie, co było również wyborem pragmatycznym. Zakochałem się też w Xemacsie, a przy okazji zyskałem biegłość w stosowaniu Linuksa do bardzo różnych celów. To były piękne czasy - rozpoczęła się przygoda, która w pewnym sensie trwa do dzisiaj.

Pierwsza instalacja Debiana była dla mnie naprawdę ciężka. Setki komunikatów w trybie tekstowym, z których nic nie rozumiałem. Po instalacji format i jeszcze jedna próba, potem następna - zaczynałem coś z tego kumać.

No ale pisać miałem o Windowsie. O jakości dalszej ewolucji systemów operacyjnych z Redmond do tej pory się nie wypowiadałem, nie mając dostatecznego porównania i doświadczenia pracy w stosownym środowisku.

Niestety dzisiaj zostałem skonfrontowany z instalacją Windowsa XP i poczułem trochę jakby czas cofnął się o co najmniej dekadę :(

Najpierw o kontekście zadania - znajoma poprosiła mnie o spojrzenie na komputer jej syna - maszynka przestała działać. Objawy były takie, że podczas startu systemu następował restart komputera. Sprawdziłem z pomocą płyty instalacyjnej Ubuntu, że sam komputer jest w porządku (BTW Ubuntu Live od razu znalazł i zastosował sterowniki do wszystkich bebechów). Nawet nie myślałem o zaproponowaniu przesiadki na Vistę - komputer by tego nie udźwignął, a ponadto zbyt wiele złego już o tym systemie słyszałem i czytałem. Z tych względów traktuję Windows XP jako najpoważniejszą obecnie ofertę Microsoftu w temacie systemów operacyjnych.

Pomyślałem sobie - kurcze instalacja systemu operacyjnego to nie jest taka skomplikowaną sprawą - chłopak mógłby się tego nauczyć. Z czasem jednak pozbyłem się złudzeń. W porównaniu z Ubuntu czy Mac OS X, poprawne ustawienie Windows XP przypomina rycie dłutem w kamieniu.

Podstawowa instalacja przebiegła w miarę sprawnie, choć ilość upierdliwych pytań wyskakujących co i rusz trochę denerwuje. Denerwują także marketingowe teksty mające urozmaicić żmudny proces - ich wartość poznawcza jest niestety znikoma, jeśli nie ujemna :). Co więcej w trakcie instalacji można wyklikać trochę opcji, które zupełnie nie wiadomo czemu służą, a ich znaczenie nie jest w żaden sposób opisane (syndrom pierwszych instalacji debiana? ;) ).

Po instalacji systemu zabrałem się za instalację uaktualnień. Ciężko było się z razu do tego dokopać - zupełnie nie intuicyjne. Naklikałem się chyba z 30 razy. Musiałem najpierw zainstalować kontrolkę ActiveX Microsoftu, przed czym IE mnie ostrzegał (sic!), zaraz potem "Genuine Microsoft Software"- cośtam, znowu ze 20 klików i restart.

W międzyczasie zainstalowałem Firefoxa 3 i uczyniłem go domyślną przeglądarką - niestety Firefox pod Windows XP nie stosuje antyaliasingu czcionek. :( Zdrowy rozsądek i doświadczenie z innymi systemami podpowiadałyby, że to już wszystko com zrobić miał. Intuicja jednak zasiała to niemiłe przeczucie, że to jeszcze nie koniec.

Ponowne odpalenie Windows Update znowu wymagało trochę zachodu - odpalił mi się firefox, a on nie obsługuje ActiveX :( Ale poszperałem i w innym miejscu opcja "Microsoft Update" - odpala IE. No i niestety nie myliłem się - oczekująca aktualizacja Service Pack 3 - dłuższa chwila czekania i znowu restart.

Okazało się, że na tym nie koniec. W kolejce czaka jeszcze IE 7 i parę innych "security patches", znowu restart.

Wciąż nie koniec - tym razem Zbiorcza aktualizacja zabezpieczeń dla programu Internet Explorer 7 w systemie Windows XP - niestety próba jej instalacji nie powodzi się. Znowu restart (tym razem z własnej woli), który niestety nic nie dał. Postanowiłem zatem ściągnąć tego patcha "ręcznie". Próba dokopanie się do strony na www.microsoft.com zawierającej właściwy link do ściągnięcia aktualizacji zakończyła się fiaskiem wydatnie podnosząc mój poziom frustracji. Postanowiłem zatem skopiować sobie kod aktualizacji i poszukać jej w "Microsoft Download Center". Tam nieopatrznie wybrałem interfejs beta (myślałem, że dzięki temu szybciej znajdę), co poskutkowało ściągnięciem pluginu Silverlighta, czyli odpowiedzi Microsoftu na trend Rich Internet Applications. Po instalacji wbudowana wyszukiwarka MDC zwróciła mi wyniki, ale chciałem przejrzeć te spośród nich, które zawierają frazę XP. Wciskam zatem CTRL-F i nic. :( Przeszukiwana jest zawartość strony HTML, a nie contentu wyświetlonego za pomocą pluginu. Czy odpowiedź Microsoftu na trend RIAs nie jest nieco chybiona?

Wróciłem zatem do standardowego interfejsu "Windows Download Center" i pobrałem enigmatyczną wersję "IE7 PL z dodatkiem". Znowu restart. Niestety bez powodzenia. :(

Kolejne podejście - tym razem udało się ściągnąć odpowiedni plik w wersji polskiej - co ciekawe waży on 8,5MB, ponad połowę tego co cały instalator IE7, doprawdy dziwne. By zainstalować znowu z 10 klików - m.in. zgoda na licencję. No i znów restart, ale tym razem się udało. :) Chwila spędzona na "Microsoft Update" - w okienku po prawej stronie pojawia się porada, by zainstalować SP2, kiedy przecież płyta instalacyjna przyszła z SP2, a system ma już SP3. W dodatku interfejs użytkownika "Microsoft Update" maksymalnie nieprzejrzysty i nieintuicyjny, zgroza.

Podsumowując zatem co uzyskałem po wielogodzinnej walce: mam system zaktualizowany, lecz wciąż pojawia się monit o możliwych zagrożeniach ze strony "bardzo groźnych wirusów komputerowych". Użytkowniku Windows XP który to czytasz i który przeszedłeś przez podobną gehennę mając to za dobrą monetę - w Ubuntu czy Mac OS X też są aktualizacje, analogiczny upgrade wymaga z reguły dwóch kliknięć - i wierz mi, zostało to pomyślane tak, by mózg użytkownika zaangażować w stopniu bliskim zeru!!!

System zdaje się działać, coś jest jednak nie tak. Długo mi zajęło doklikanie się do przeglądarki sprzętu. Dźwięk nie działa wcale. sterowniki chipsetu płyty też nie są optymalne, nie mówiąc o driverach karty graficznej.

Miałem nadzieję, że "Windows Update" przetrzymuje informacje o optymalnych driverach dla określonego sprzętu - jest niby opcja "Aktualizuj Sterownik". Niestety wielokrotne próby na niewiele się zdały - coś jakby drgnęło z kartą muzyczną, ale nie do końca.

Wtedy przypomniałem sobie, że w przypadku Windows ciężar dostarczenia odpowiednich driverów spoczywa na producencie sprzętu, a nie na Microsofcie. Niby logiczne, ale cholernie uciążliwe. Tym bardziej że np. Apple w ogóle nie ma tego problemu produkując system pod określony sprzęt, a np. Linuksowi udało się przezwyciężyć ten chory paradygmat z driverami - często za sprawą ogromnego wysiłku ludzi, którzy dokonać musieli inżynierii odwrotnej. Dzięki temu "otwarte" drivery dla Linuxa są często znacznie wyższej jakości niż "zamknięte" drivery producenta sprzętu przeznaczone dla Windows, a co najważniejsze drivery są rozwijane zazwyczaj jako część kodu źródłowego jądra systemu!

No dobra, ale co ten komputer ma w środku? W dawnych czasach używałem na Linuksach komendy lspci by poznać szczegóły odnośnie komponentów kompa. Dziś większość użytkowników dajmy na to Ubuntu, nie musi nawet o tego typu sprawach myśleć - sprzęt jest w większości wypadków rozpoznawany automatycznie. Tutaj musiałem ściągnąć narzędzie EVEREST Home Edition - bardzo pozytywne wrażenie - wykryty został symbol płyty głównej - mam nadzieję, że poprawnie. :) No właśnie - "symbol płyty głównej" - w zasadzie jedyny w przypadku Windows sposób, by zainstalować optymalne sterowniki, to ściągnąć je ze strony producenta płyty głównej, licząc równocześnie na to, że Ci którzy je tam umieścili wiedzieli na czym polega ich praca.

Weźmy najpierw na tapetę chipset - w tym przypadku VIA. VIA produkuje bundle driverów pod dźwięczną nazwą "4 in 1". Przy próbie ściągnięcia najnowszej wersji dowiaduję się jednak, że do starszych chipsetów, między innymi KT333 na którym oparta jest płyta główna rzeczonego komputera, należy ściągnąć wersję jakąś tam - znacznie starszą. No ale na stronie producenta płyty jest z kolei polecana wersja "pomiędzy" - jak przypuszczam będąca najnowszą w momencie produkcji sprzętu :) . Ściągam zatem właśnie tę. BTW małe porównanie z Linuksem - najnowsza wersja jądra wyposażona jest w drivery VIA zoptymalizowane dla wszystkich wersji chipsetów tej firmy (dotyczy to wszystkich popularnych producentów) - o niczym nie trzeba myśleć, bo nowe jądro zawsze pozostanie w tym względzie "kompatybilne w dół" - jeśli nie, to jest to traktowane jako błąd.

Tak więc instalacja "4 in 1" i kolejny restart. Instalacja driverów wbudowanej karty muzycznej i kolejny restart.

Czas na sterowniki karty graficznej - Instalacja driverów ATI zarządała .NET w wersji 2.0, który nie chce instalować się przez Microsoft Update :(, oczywiście po instalacji restart.

Przy okazji Windows Update pokazuje aktualizację sterowników dźwięku - niestety one też się nie instalują. :(

Instaluję .NET 2.0 ze ściągniętej paczki, na szczęście już nie trzeba robić restartu, ja jednak dla pewności by drivery ATI rozpoznały obecność .NET robie restart z własnej inicjatywy. :)

Hmm, restart - w zasadzie jedyna sytuacja w przypadku Linuksa, gdzie konieczny jest restart komputera, to upgrade samego jądra systemu.

No i to by było na tyle w temacie instalacji. I właściwie po co to wszystko? - W praktyce po to, by syn przyjaciółki mógł poubijać kilku alienów. Czy nie jest sensowniej w takim wypadku kupić konsolę do gier, choćby Xboxa? Do wszelkich innych rodzajów prac na komputerze (które raczej nie będą obciążać zasobów tej maszynki), z powodzeniem można wykorzystać np. Ubuntu.

Nie chcę tu porównywać funkcjonalności Windows XP z innymi systemami. Powiedzmy, że to kwestia gustu, choć znam szereg specjalistycznego oprogramowania dostępnego niestety tylko na tę platformę Microsoftu. Na instalację Windows XP straciłem wiele godzin czasu - czasu który jest cenniejszy niż wartość rynkowa jednej kopii Windowsa. Ale producentowi jak przypuszczam właśnie o ten efekt tutaj chodzi.

Prosto i łatwo to może być u Apple. Windows to nie tylko Microsoft - to cały konglomerat firm powiązanych w ten czy inny sposób z gigantem z Redmond - producentów sprzętu, sterowników, oprogramowania - gier w szczególności, firm udzielających wsparcia technicznego. Wszystkim tym instytucjom zależy na tworzeniu nimbu tajemniczości wokół tego co dzieje się "w środku" systemu - użytkownik powinien mieć poczucie, że instalacja i aktualizacja systemu to proces żmudny i skomplikowany, w którym muszą go wspomagać specjaliści, jego komputer zaś stale narażony jest na ataki wrednych wirusów komputerowych, przed którymi ma moralny obowiązek się bronić. :) Na marginesie - nie znam żadnego użytkownika Mac OS X, czy też Linuksa, który stosowałby oprogramowanie antywirusowe - widziałem natomiast Windows 2003 Server pracujący faktycznie jako serwer, a przy tym z zainstalowanym antywirem - co stanowi IMO kompletną abberację. Serwer potrzebuje Itrusion Detecion System, a nie oprogramowania antywirusowego!

Nie wiem jak wygląda i działa Windows Vista. Słyszałem tylko o kłopotach - z jednej strony zasobożerność, z drugiej strony znacznie gorsze wsparcie dla sterowników niż to jest w XP. To kolejna przesłanka ku wnioskowi, że paradygmat systemu operacyjnego oferowany przez Microsoft powoli się wyczerpuje.

Z drugiej strony w NCDC właśnie będziemy zatrudniać administratora ze znajomością systemów Microsoftu. Nasi obecni admini - wszyscy Uniksowcy, zazwyczaj świetnie radzą sobie z Windowsem. Niestety niektóre problemy pojawiające się u klienta na nowych laptopach dostarczonych z Vistą, po prostu transcendują wszelkie wyobrażenia.

Produkty Microsoft przypominają mi gmach przesycony biurokratycznymi procedurami - teoretycznie można uzyskać wszystko - potrzebna jest tylko stosowna "pieczątka", "podpis", "zgoda uzyskana w innym dziale". Projektowane w ten sposób oprogramowanie ma czasem problemy z uwierzytelnieniem samego siebie - chyba że dołoży się kolejną warstwę mediacji ponad wieloma, które powstały już wcześniej. Niestety kiedy to z kolei się "wysypuje", wtedy mnożącą poziomy abstrakcji procedurę obejścia problemu trzeba zaaplikować w kolejnej wersji systemu. Windows jako system w przeciwieństwie do otwartych Uniksów nie ewoluuje - nie działa tu dobór naturalny - kolejne wersje Windows nabudowywane są na starych. Jak długo jeszcze fundamenty wytrzymają to obciążenie? Jak daleko zajść może proces elefantyzacji?

Najważniejszy dla mnie wniosek z tego wszystkiego o czym pisałem jest mniej więcej taki: świat PC w kwestii sterowników musi poradzić sobie z niebagatelnym problemem różnorodności sprzętu - dystrybucje Linuxa w drodze ewolucji wypracowały rozwiązanie, które najlepiej sprawdza się w praktyce. Udało się uzyskać dla świata PC coś, co dostępne było dotychczas jedynie użytkownikom systemów firmy Apple - nie tylko system operacyjny, ale też wszystkie sterowniki dostępne są w jednym miejscu - od producenta systemu (np. firmy Canonical). a wykrywanie optymalnych (zawsze aktualnych dzięki paradygmatowi rozwoju jądra systemu) dla danego sprzętu sterowników jest całkowicie automatyczne.