RECENZJE | Windows 8 - przegląd systemu przed wyjściem Bety
Windows 8 - przegląd systemu przed wyjściem Bety
Autor: Przemysław Rel | Data: 07/02/12
Pod maską
a) Szybkie bootowanie
Wraz z każdą kolejną wersją systemu, Microsoft obiecuje przyspieszenie uruchamiania się okienek. Pomimo najróżniejszych optymalizacji różnice nie są raczej zbyt spektakularne. Dotychczasowe prezentacje Windows 8 są jednak dość ciekawe - Microsoft zademonstrował laptopa ze standardowym twardym dyskiem, który uruchomił się w 8 sekund. Jak takie coś jest w ogóle możliwe?
Najważniejszą nowością w procesie uruchamiania systemu jest skorzystanie z hibernacji. Funkcja ta była częściowo dostępna już w Windows 95, zatem nie wydaje się być niczym nowym. Użytkownicy też niezbyt często korzystają z tej opcji - najczęściej stosowane jest "usypianie" komputera (Suspend To RAM), czyli tryb, w którym podtrzymywane jest tylko zasilanie pamięci RAM, zaś pozostałe komponenty - twarde dyski, karty graficzne, procesor, itp. - są wyłączane. Tryb ten pozwala na niemal natychmiastową gotowość do pracy po wciśnięciu przycisku "power". Hibernacja jest wolniejsza, gdyż stan pamięci zrzucany jest na twardy dysk do specjalnie w tym celu przygotowanego pliku (hiberfil.sys). Zaletą tego rozwiązania jest to, że nie obchodzi nas brak zasilania - można wymienić baterię w laptopie, odłączyć komputer stacjonarny od sieci elektrycznej, a cała nasza praca zostanie wznowiona. Windows 7 wprowadził też tzw. tryb hybrydowy, który polega na tym, że komputer jest hibernowany i... usypiany. Dzięki temu można skorzystać z szybkiego obudzenia, jak w trybie Suspend To RAM, a w przypadku utraty zasilania mieć pewność, że nasza nie zakończona praca zostanie przywrócona.
Mimo wielu zalet hibernacji, nie jest ona zbyt często wykorzystywana. Zahibernowany system uruchamia się szybciej i mamy uruchomione wszystkie programy w identycznym stanie, jak w chwili, kiedy skorzystaliśmy z tej opcji. Przeważająca większość użytkowników po prostu zamyka system - wyłącza wszystkie programy, klika start i wybiera opcję "Zamknij system" albo po prostu wciska przycisk "power" na obudowie.
Programiści Microsoftu w poszukiwaniu nowych rozwiązań mających na celu przyspieszenie "zimnego" startu systemu, wpadli na pomysł skorzystania z hibernacji. Standardowo, w dużym uproszczeniu, podczas zamykania systemu, zamykane są wszystkie uruchomione procesy i usługi, następnie zakańczana jest praca jądra systemu i wysyłany sygnał ACPI do odcięcia zasilania. W Windows 8 zrezygnowano z zamykania jądra - zamiast tego, jest ono hibernowane. Uruchomienie systemu następuje potem dużo szybciej, co przedstawia grafika:
Microsoft twierdzi, że takie rozwiązanie zaowocowało wzrostem prędkości uruchamiania aż o 30-70%
Rozwiązanie to pociąga za sobą jednak pewien problem - sterowniki urządzeń w nowym trybie, są podczas startu jedynie ponownie inicjowane. Nie następuje pełna enumeracja urządzeń Plug & Play. Microsoft, na szczęście, udostępnia opcję "pełnego" restartu systemu z poziomu interfejsu, choć tylko w ramach opcji ponownego uruchomienia - aby "w pełni" wyłączyć komputer, należy użyć polecenia shutdown.exe /s /full /t 0. Nastąpi wtedy standardowe zakończenie sesji i możemy bez obaw zmienić lub dodać sprzęt.
Sposób, w jaki odbywa się zamykanie systemu może powodować problem kiedy używamy dwóch (lub więcej) systemów na jednym komputerze, np. obok Windows 8 mamy zainstalowany Windows 7. Najzwyklejszy ekran systemowy daje nam możliwość wyboru, którą wersję chcemy uruchomić - tu nie zaszły żadne zmiany. Jednak wyłączając komputer z Windows 8, jest on częściowo hibernowany i przy następnym włączeniu komputera nie zobaczymy klasycznego menu - "ósemka" uruchomi się i dopiero wtedy pokaże menu, tym razem wyglądające zupełnie inaczej. Jeśli w tym momencie wybierzemy starszą wersję... komputer uruchomi się ponownie.
Dodatkowo, system jest w stanie użyć wszystkie dostępne rdzenie procesora podczas startu. Odczyt i dekompresja danych z pliku hiberfil.sys odbywa się przy użyciu pełnej mocy procesora, co dodatkowo zwiększa szybkość wznawiania pracy z klasycznej hibernacji.
Kolejna zmiana jest już tylko wizualna i występuje na urządzeniach wyposażonych w UEFI. Od momentu wciśnięcia przycisku "power" do chwili ujrzenia ekranu startowego widzimy np. logo producenta laptopa lub płyty głównej. Animowane, "fikuśne" ekrany ładowania systemu tym razem naprawdę odejdą w zapomnienie. Poprzednia taka próba miała miejsce w Windows Vista, gdzie ekran logowania sprowadzał się tylko do przesuwającego się paseczka. Przy okazji Windows 7 powrócono do pełniejszego, graficznego rozwiązania, ale tylko ze względu na to, że UEFI nie stało się wystarczająco szybko popularne - no i użytkownicy często narzekali na ubogość tego ekranu w Viście.
Poniższy filmik przedstawia wyłączenie i ponowne włączenie komputera. Jest to bardzo świeża instalacja systemu, więc można przypuszczać, że start jeszcze odrobinę przyspieszy wraz z dalszym użytkowaniem.
b) Zmniejszenie zapotrzebowania na pamięć
Microsoft z każdą wersją Windows obiecuje optymalizacje związane z zarządzaniem pamięcią. Kiedy zajrzymy na fora o tematyce komputerowej, dość szybko znajdziemy wątki dotyczące ilości zajmowanej przez system pamięci - użytkownicy licytują się, kogo menedżer zadań pokaże mniej. Inny użytkownik napisze "Mam 4GB pamięci RAM. System po uruchomieniu zajmuje 1GB. Jak to naprawić?". Choć ilość wolnej, dostępnej dla aplikacji pamięci jest ogromnie ważna, nie każdy zrozumiał, czym różni się Vista od XP pod tym względem.
Wraz z Windows Vista wprowadzono nieco inne podejście do pamięci, niż dotychczas - stwierdzono wreszcie, że niewykorzystana pamięć to zmarnowana pamięć. W uproszczeniu, Vista i 7 robią wszystko, aby zająć tej pamięci jak najwięcej... ale jednocześnie pozwolić na to, że kiedy któryś program zażąda dużo przestrzeni RAM, natychmiast mu ją udostępnić.
Dodatkowo wprowadzono usprawnione buforowanie danych - w trakcie bezczynności, system ładuje do pamięci pliki najczęściej uruchamianych programów, aby móc je uruchomić niemal całkowicie z pamięci RAM zamiast z dużo wolniejszego dysku twardego. Dzięki temu, po przesiadce z Windows XP, po jakimś czasie daje się zaobserwować dużo szybszy start niektórych cięższych programów - np. pakietu OpenOffice. W przypadku "napędów" SSD usługa Superfetch nie jest już niezbędna i Windows 7 domyślnie wyłącza ją kiedy wykryje, że zainstalowany jest na tego typu dysku.
Pomimo tych wszystkich usprawnień, na słabszych maszynach systemy Vista i 7 działają mniej wydajnie niż "staruszek" XP, choć odczuć można to raczej tylko np. na tanich netbookach, które nierzadko wyposażone są w jednordzeniowy procesor Intel Atom oraz cały 1GB RAM. Choć Windows 7 działa dużo sprawniej od starszej Visty w takich warunkach, wciąż nie jest to zbyt optymalne - Windows 8 idzie o krok dalej.
Jednym z nowych rozwiązań zastosowanych w Windows jest łączenie pamięci (memory combining). Często kilka uruchomionych aplikacji pracuje na podobnym lub identycznym zestawie danych. Często dochodzi do tzw. redundancji, czyli w pamięci dane mogą być powtórzone kilka razy, dla każdej aplikacji oddzielnie. "Ósemka" analizuje pamięć pod tym kątem i jeśli wykryje, że dwie lub więcej aplikacji korzystają z tych samych danych, usuwa wszystkie kopie i zostawia tylko jedną. Według Microsoftu, pozwala to zaoszczędzić nawet kilkaset megabajtów. Jeśli aplikacja zechce zmodyfikować połączone dane w pamięci, system natychmiast udostępni jej prywatną kopię.
Zmiany dotknęły także systemowe usługi, które nierzadko są pieczołowicie analizowane przez użytkowników, którzy zmieniają ich sposób uruchamiania i często wyłączają niektóre całkowicie, oszczędzając czasem do kilkudziesięciu MB cennej pamięci... Co zmieniają nowe okienka? Microsoft mówi o całkowitym usunięciu 13 usług i zmianie sposobu uruchamiania pozostałych - nawet usługa Plug and Play nie jest już uruchomiona cały czas. Odpala się tylko wtedy, kiedy potrzebna... Niby taka banalna rzecz, a jak cieszy ;)
Jako, że Microsoft bardzo promuje nowy interfejs "Immersive", pierwszą rzeczą, którą widzimy po uruchomieniu systemu jest nowy ekran startowy. W jaki sposób można zaoszczędzić trochę pamięci? Ano poprzez nie ładowanie elementów związanych z pulpitem, można pozbyć się kilkudziesięciu megabajtów...
Dodatkowo, system udostępnia coś nowego dla programistów. Mianowicie, programista może określić które elementy programu znajdujące się w pamięci mają "niski priorytet". Pamięć oznaczona w ten sposób może być przez system zwolniona w pierwszej kolejności, jeśli nastąpi sytuacja, że zaczyna jej brakować. Dzięki temu, programista może zagwarantować, że program dłużej zachowa "żwawość", a nie zostanie niemal natychmiast w całości przeniesiony do pliku stronicowania.
c) WinRT
Microsoft nie tylko opracował nowy interfejs "Immersive", korzystający z wytycznych "Metro" - powstał także nowy model API dla programistów. Kod napisany w WinRT jest uruchamiany przez Windows "natywnie" - nie jest to zatem następca Silverlight, ani .NET. Wydaje się być to następca... Win32, a przynajmniej jest traktowany przez Microsoft jako tak samo ważny. W sieci możemy znaleźć dokumentację precyzującą, które rzeczy, do których przywykli programiści, działają bez zmian przy wykorzystaniu API WinRT, a które zastąpione są czymś innym. Co oznacza jednakowa bliskość WinRT do systemowego jądra? Możliwość pisania programów w C++, C#/XAML, HTML+JavaScript wraz z pełnym dostępem do DirectX. Jako, że nie jest to kod uruchamiany w sposób zarządzany (jak .NET), programy napisane w WinRT będą posiadać taką samą wydajność jak typowe aplikacje Win32 - np. gra używająca Direct3D będzie działać tak samo wydajnie napisana w WinRT.
Co daje pisanie programów w WinRT? Między innymi to, że będą one działać na naszych pecetach oraz na coraz popularniejszych tabletach, czy nawet telefonach komórkowych. Ponadto, takie programy są odizolowane od reszty systemu - użyta jest tzw. piaskownica (sandbox), zatem jeden program nie jest w stanie przeszkodzić drugiemu, ani samemu systemowi. Nowością jest także sposób instalacji (w tym szybkość tego procesu) - programy zajmują tylko jeden folder. Poza tym, użytkownik musi wyrazić zgodę na dostęp danej aplikacji do systemu plików - zatem zanim otworzymy jakiś plik, ujrzymy stosowny komunikat UAC. Wszystko wskazuje na to, że WinRT nie musi pozostać ciekawostką, której zastosowanie skończy się na ekranie startowym w postaci kafelków bazujących na JavaScript. Jako, że WinRT pozwala na pisanie aplikacji w znanym programistom środowisku, dość szybko może zyskać na znaczeniu i popularności - ale o tym przekonamy się w ciągu kilku miesięcy, a nawet lat po premierze Windows 8. Pewnym problemem jednak pozostaje kwestia interfejsu - czy będą mogły powstawać programy używające do pracy wielu okien? Interfejs "Immersive" jest zoptymalizowany dla pełnoekranowych aplikacji, które wyglądają i działają najlepiej na dotykowych ekranach tabletów.
Standardowy model Win32 nie odchodzi jednak do lamusa - zapewne będzie dalej rozwijany przez Microsoft. Co ciekawe, aplikacje WinRT będą mogły odwoływać się do Win32 oraz .Net bez problemów, przynajmniej na PC, co obrazuje poniższy zrzut ekranu:
Najprostsza aplikacja "hello world" napisana w WinRT, ale z odwołaniem do klasycznego okna dialogowego Win32 [źródło: winsupersite.com]. Czy coś takiego zadziała na urządzeniu z procesorem ARM? (kliknij, aby powiększyć)
d) Pozostałe nowinki
Łatwa reinstalacja jest ciekawą rzeczą, która sprawi, że wielu informatyków dorabiających reinstalując rodzinie, znajomym i sąsiadom straci jedno ze źródeł dochodów. Windows 8 będzie wyposażony w opcje odświeżenia i "resetowania" systemu. Jak to działa? Opcja "resetowania" to w praktyce właśnie przeinstalowanie systemu - z tą różnicą, że odbywa się dużo szybciej i w pełni automatycznie. Nie jest to też dosłownie reinstalacja: system jest przywracany do stanu z pierwszego uruchomienia. Opcja odświeżenia działa podobnie, ale zachowuje pliki użytkownika, przechowywane w bibliotekach oraz zainstalowane aplikacje zakupione w Windows App Store. Pozostałe rzeczy, czyli programy instalowane w standardowy sposób oraz ustawienia programów i systemu zostaną przywrócone do pierwotnego stanu.
Na wypadek, kiedy system Windows nie daje się w ogóle uruchomić i nie można skorzystać z żadnej z tych dwóch opcji, z pomocą mogą przyjść pewne rozwiązania: znane już uruchomienie komputera z instalacyjnej płyty DVD i skorzystanie z opcji naprawy lub użycie tych samych opcji z poziomu programu rozruchowego (bootloadera). Całkowicie nową rzeczą jest możliwość utworzenia bootowalnego pendrive'a.
(kliknij, aby powiększyć)
Skoro o pendrive'ach mowa, należy wspomnieć o Windows To Go. Jest to funkcja pozwalająca na... uruchamianie systemu z pamięci USB lub innych pamięci zewnętrznych. Jest to oferta skierowana dla administratorów, zatem najprawdopodobniej nie znajdzie się w edycjach domowych.
Integracja z Windows Live. Podobna opcja pojawiła się już w Windows 7, ale w "ósemce" ma dużo większe znaczenie i jest ściślej zintegrowana z samym systemem. Domyślnie tworząc nowe konto użytkownika, tak naprawdę logujemy się na konto Windows Live. Oczywiście, możliwość utworzenia standardowego, lokalnego konta jest wciąż możliwa. Co daje powiązanie z Windows Live? Poza lepszą integracją np. ze SkyDrive, możliwa jest synchronizacja niektórych ustawień systemu i wybranych aplikacji (najprawdopodobniej tylko tych z App Store) oraz plików. Łatwiejsze jest także uzyskanie dostępu do komputera w przypadku zapomnienia hasła, gdyż można je zmienić na stronie internetowej usługi Live.
(kliknij, aby powiększyć)
Ponadto, Windows 8 obsługiwać będzie standard USB 3.0 (bez konieczności instalowania sterowników) oraz - co chyba jest najważniejsze - działać na innych niż x86 architekturach. Potwierdzone jest działanie nowej wersji systemu na procesorach ARM, co jeszcze bardziej podkreśla nowe podejście do Windows przez Microsoft: "ósemka" będzie działać na tabletach, a nawet na telefonach! Windows Phone 8 będzie bowiem oparty na jądrze "zwykłego" Windows 8, a nie jak do tej pory, na jądrze Windows CE.
Ostatnią ważną funkcjonalnością jest Storage Spaces. Jest to tzw. wirtualizacja magazynu - polega to na tym, że można łączyć wiele dysków w jedną przestrzeń. W praktyce, w największym uproszczeniu, oznacza to, że możemy podłączyć wiele dysków (przez USB, SATA, a także za pośrednictwem serwera NAS itp.) w jedną literę dysku widoczną w oknie Komputer. Jest to dość podobne do RAID - dane są duplikowane na poszczególnych dyskach, aby zwiększyć ich trwałość na wypadek awarii jednego z dysków oraz przyspieszyć odczyt i zapis danych, gdyż odbywa się to na wielu napędach naraz. Microsoft zapowiada, że Storage Spaces będą konkurencyjne pod względem wydajności ze standardowymi systemami RAID0 i RAID10.