🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.advocacy
Article #483911

Re: Windows 7 się aktualizuje.

#483911
From: toslaw
Date: Wed, 27 Nov 2013 04:59
41 lines
3719 bytes
Marek <fake@fakeemail.com>:
>  On Tue, 26 Nov 2013 08:47:34 +0000 (UTC), toslaw <sorry@nomail.4u.pl>
>  wrote:
> > 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.
>
>  To jest jakiś absurd. Rozwiązanie, które od razu by design wymaga
>  restartu. 20 lat developingu i ciągle mają w tym MS jakas fixacje na
>  punkcie tych restartów. A unixach wystarczy aby proces upate'u zrobil
>  unlink lib.so a nastepnie cp newlib.so lib.so. Procesy uruchomione i
>  zlinkowane z lib.so (starą wersją) będą nadal działać ze starą lib
>  (unlink nie usunie fizycznie z dysku otwartej lib przez inny proces,
>  plik znika tylko z dirlist) a nowo ładowane procesy już będą
>  zlinkowane z nowa wersją lib.so. Stare procesy/usługi wystarczy
>  zrestartować aby skorzystały już z nowych funkcji lib.so.
>  I nie ma potrzeby restartowania systemu. Rozwiązanie proste i
>  genialne w swojej prostocie, bo wykorzystuje natywne mechanizmy
>  dostępu do fs.

Chodzi chyba właśnie o to, aby wprowadzić nowe wersje funkcji BEZ konieczności
restartu? ;)

Z kolei restart jest spowodowany tym, że Windows "by design" lockuje pliki po
otwarciu. Nie wiem czym z kolei jest to spowodowane, ale być może tym, że pliki
wykonywalne PE w Windowsie posiadają dość popularną sekcję z zasobami, w
których znajdują się dane binarne wykorzystywane w programie, podzielone na
kategorie językowe. Program po uruchomieniu często doczytuje potrzebne
informacje z pliku wykonywalnego w miarę jego działania, a sam windows nie
ładuje tej sekcji do pamięci. Przy podmianie tego pliku na nową wersję, nie
byłoby możliwości załadowania/sprawdzenia starych zasobów. Może dlatego decyzja
została podjęta, aby uniemożliwić usuwanie/modyfikację pliku ;)

Z kolei w ELFach na UNIXach ewentualne zasoby kompilowane są w postaci
zmiennych bezpośrednio w programie, więc są teoretycznie częścią sekcji danych
kodu. Są ładowane od razu ze wszystkim do pamięci i na chwilę działania
programu plik wykonywalny jest zbędny, aż do czasu zamknięcia programu.
Technical Details
Message-ID: <l73u81$4cm$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-mail
References: <l6t74c$oi6$1@node2.news.atman.pl> <l6tidi$an9$1@dont-email.me> <l6toe4$apj$1@node2.news.atman.pl> <l71n76$vu8$1@dont-email.me> <almarsoft.6640777945790376198@news.neostrada.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: Wed, 27 Nov 2013 04:59:45 +0000 (UTC)
Organization: A noiseless patient Spider
Lines: 41
Message-ID: <l73u81$4cm$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> <l71n76$vu8$1@dont-email.me> <almarsoft.6640777945790376198@news.neostrada.pl>
Mime-Version: 1.0
Injection-Date: Wed, 27 Nov 2013 04:59:45 +0000 (UTC)
Injection-Info: mx05.eternal-september.org; posting-host="dee8a23a3079bab6ac237103cf6efd4e"; logging-data="4502"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1979o5X+E6vvDgsmVjj9ww8EPocpsL3Woo="
User-Agent: slrn/1.0.1 (Linux)
Cancel-Lock: sha1:F0w9DCD4cqa9wMepXjlh28q7h/E=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit