Article View: pl.comp.os.advocacy
Article #483903Re: Windows 7 się aktualizuje.
From: toslaw
Date: Tue, 26 Nov 2013 08:47
Date: Tue, 26 Nov 2013 08:47
83 lines
5395 bytes
5395 bytes
Sebastian Biały <heby@poczta.onet.pl>: > Gdzie tu wynika niezbedność restartu? Albo zmiany a.dll -> a1.dll > ->a2.dll ->a_final.dll. Wydawało by się że firmę która nie wie na co > kase wydawać stać na to aby napisać inteligentny solver update ALBO mają > to tak spierd... że żadna kasa nie pomaga. Wynika to z lockowania plików przez aktualnie uruchomione procesy? W windowsie lockowanie plików wydaje się być częścią projektu systemu. Osobiście nie podoba mi się to, ale może w ten sposób łatwiej jest im kontrolować środowisko. > > Długi czas instalacji zapewne zależy od odczytywania metadanych istniejących > > bibliotek, odczytywania metadanych nowych bibliotek, weryfikacji zależności, > > sprawdzaniu podpisów cyfrowych. > > Zastanówmy się. > > 1) Co to sa metadane biblitek? Masz na mysli te kilobajty danych np. z > numerkiem wersji ktore są w dll i które odczytuje się jednym machnięciem > talerza dysku? Jeden plik, jedno machnięcie. Tysiąc plików, tysiąc machnięć. Plus inne operacje I/O w tym samym czasie, i między każdym machnięciem system czeka i nie odczytuje niczego. > 2) Co to jest weryfikacja zależności? To to trywialne posortowanie > topologiczne czegośtam? Plus weryfikacja, że faktycznie są zainstalowane? (+ I/O) > 3) Co to jest sprawdzanie podpisu? To ta prosta czynnośc odpalana na > procesorze z prędkością koło 2GHz? Sugeruję sprawdzenie, ile faktycznie czasu zajmuje sprawdzenie podpisu cyfrowego i pomnożenie tej wartości razy tysiąc ;). Do tego, instalując wiele update'ów, pewnie niektóre podpisy sprawdzane są po kilka razy, dla każdego uruchomienia, każdego załadowania, etc. Inna sprawa, że gdy istnieje podpis wykorzystujący istniejący CAT zainstalowany w systemie, trzeba odnaleźć prawidłowy CAT. Nie jestem pewien jak bardzo proces ten jest zoptymalizowany (jeśli w ogóle), ale dochodzi tutaj dodatkowe obciążenie dysku w poszukiwaniu odpowiedniego CAT'a, opóźniające ewentualne inne requesty. Plus, istnieją też dodatkowe opcje update'owania aktualnie używanych plików systemowych o nazwie hot-patching. Polega to na modyfikowaniu początków eksportowanych funkcji przez biblioteki systemowe tak, aby skakały do nowych wersji funkcji, omijając stare, do pierwszego restartu. Dopiero po restarcie pliki są podmieniane, całkowicie usuwając stare wersje funkcji. W oczywisty sposób to wymaga synchronizacji z resztą części w systemie, wpływając na dodatkowe opóźnienie. > I tak Wysoki sądzie kilka razy! Nie potrafie pojąć jak mozna było spierd... > tak prosta czynnośc jak podmiana kilkuset plików. Nawet glupi Linux robi to > o rzędy wielkości szybciej. I oba pozwalaja na pracę w trakcie. no może z > dokładnością do tego że update windowsa wywala *wszystko* do swapu przez co > praca polega raczej na wpatrywaniu się w kontrolkę dysku. Kup więcej ramu ;) > > Aby sprawdzić to bardziej dokładnie, należałoby pewnie uruchomić jakiś > > monitor (procmon, filemon) podczas instalacji jakiegoś update'a. > > Ale mi nikt nie płaci za profiling. Ponadto idę o zakład że tak prostymi > narzędziami niewiele zdziałam. Nikt korporacji nie płaci za zaspokojenie Twoich zaciekawień, więc musisz sam się o to postarać ;) > Po prostu po tych 5 godzinach wiem, że gdybym ja napisal tak gówniany updater > do czegokolwiek to by mnie zwolnili a MS robi z tego ficzer. Szukam więc > uzasadnienia co jest tak skomplikowanego w trywialnej czynności. Gdybyś napisał udater tylko podmieniający pliki i już, wtedy miałbyś więcej problemów na głowie niż czasu na jego rozwój ;) Jednocześnie nie twierdzę, że ten proces mi się podoba, ani, że jest maksymalnie wydajny. Z tego co zauważyłem jednak, update'y rzadko wywalają windowsa (rzadziej, niż chciałbym to przyznać). W całej swojej "karierze" zauważyłem tylko jeden przypadek, gdzie Windows zapętlił się między instalowaniem, wyświetlaniem błędu, robieniem rollbacka, restartem i instalowaniem ponownie, tylko po to, żeby wyświetlić błąd i próbować rollbackować, przy czym system był postawiony na VMce. Z kolei wywalonych update'ów na Linuchach widziałem masę ;)
Technical Details
Message-ID:
<l71n76$vu8$1@dont-email.me>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mailReferences:
<l6t74c$oi6$1@node2.news.atman.pl> <l6tidi$an9$1@dont-email.me> <l6toe4$apj$1@node2.news.atman.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: toslaw <sorry@nomail.4u.pl> Newsgroups: pl.comp.os.advocacy Subject: Re: Windows 7 się aktualizuje. Date: Tue, 26 Nov 2013 08:47:34 +0000 (UTC) Organization: A noiseless patient Spider Lines: 83 Message-ID: <l71n76$vu8$1@dont-email.me> References: <l6t74c$oi6$1@node2.news.atman.pl> <l6tidi$an9$1@dont-email.me> <l6toe4$apj$1@node2.news.atman.pl> Mime-Version: 1.0 Injection-Date: Tue, 26 Nov 2013 08:47:34 +0000 (UTC) Injection-Info: mx05.eternal-september.org; posting-host="dee8a23a3079bab6ac237103cf6efd4e"; logging-data="32712"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX196B97T78ill0GH3nicUMe6wRaBa18xuac=" User-Agent: slrn/1.0.1 (Linux) Cancel-Lock: sha1:iUWGjXvQxcBywUVTcWMDJey4EDk= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit