🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
20 messages
20 total messages Started by dichtertje Mon, 07 Jul 2003 20:05
dll's tijdens opstarten windows laden
#4706
Author: dichtertje
Date: Mon, 07 Jul 2003 20:05
9 lines
1507 bytes
Hallo,

Een aantal applicaties zoals Mozilla als deze optie opstaat laden hun
dll's tijdens het opstarten van windows om later het opstarten van de
programma's te versnellen. Weet iemand hoe dit gedaanwordt?

-- 
Q:	Why did Menachem Begin invade Lebanon?
A:	To impress Jodie Foster.
Re: dll's tijdens opstarten windows laden
#4707
Author: Leon Zandman
Date: Mon, 07 Jul 2003 20:19
14 lines
1810 bytes
> Een aantal applicaties zoals Mozilla als deze optie opstaat laden hun
> dll's tijdens het opstarten van windows om later het opstarten van de
> programma's te versnellen. Weet iemand hoe dit gedaanwordt?

Ik denk dat ze tijdens het opstarten van windows gewoon een executable
starten (via het menu 'opstarten' of via een van die registry-keys) die
de DLL's inlaadt. Als je daarna de 'echte' applicatie opstart, dan zijn
die DLL's al ingeladen door de autostart-applicatie. Daardoor hoeven de
DLL's niet opnieuw geladen te worden, maar kan de applicatie gewoon
direct gelinkt worden aan de DLL's.

Groeten,

Leon Zandman
Re: dll's tijdens opstarten windows laden
#4708
Author: dichtertje
Date: Mon, 07 Jul 2003 20:48
19 lines
2372 bytes
In nl.comp.programmeren Leon Zandman <REMOVETHISleon@wirwar.com> wrote:
>> Een aantal applicaties zoals Mozilla als deze optie opstaat laden hun
>> dll's tijdens het opstarten van windows om later het opstarten van de
>> programma's te versnellen. Weet iemand hoe dit gedaanwordt?

> Ik denk dat ze tijdens het opstarten van windows gewoon een executable
> starten (via het menu 'opstarten' of via een van die registry-keys) die
> de DLL's inlaadt. Als je daarna de 'echte' applicatie opstart, dan zijn
> die DLL's al ingeladen door de autostart-applicatie. Daardoor hoeven de
> DLL's niet opnieuw geladen te worden, maar kan de applicatie gewoon
> direct gelinkt worden aan de DLL's.

Ik had ondertussen de volgende links gevonden:

http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q197/5/71.asp&NoWebContent=1
http://fy.chalmers.se/~appro/nt/DLL_PRELOAD/

-- 
Your mode of life will be changed for the better because of good news soon.
Re: dll's tijdens opstarten windows laden
#4709
Author: Leon Zandman
Date: Mon, 07 Jul 2003 22:18
30 lines
2801 bytes
> Ik had ondertussen de volgende links gevonden:

Oei, ik denk niet dat dit mechanisme bedoeld is voor jouw
vraag/probleem. Dit mechanisme maakt het volgens mij mogelijk om in te
haken op belangrijke systeemonderdelen van Windows, bijv. om bepaalde
onderdelen van Windows te kunnen debuggen of om bepaalde functionaliteit
toe te voegen aan elk win32-programma.

Waarschijnlijk bereik je hiermee daadwerkelijk je doel en worden de
DLL's tijdens het opstarten van Windows ingeladen. Maar ik heb toch het
gevoel dat je hier goed verkeerd zit. De DLL wordt zo gekoppeld aan elk
win32-proces. Dat is waarschijnlijk overkill, aangezien alleen je eigen
applicatie die DLL's nodig heeft. Er zullen nog wel meer haken en ogen
aan dit verhaal zitten, bijv. m.b.t. security en crash-gevoeligheid van
Windows.

Ik denk toch echt dat de beste oplossing gewoon is het gebruiken van een
tweede process, dat tegelijkertijd gestart wordt met Windows en constant
op de achtergrond draait. Dit process moet dan alle door jou te
gebruiken DLL's inladen, zodat ze alvast in het geheugen zitten. Daarna
zal jouw 'echte' applicatie waarschijnlijk sneller opstarten. Microsoft
deed zoiets ook altijd met Office. Daar had je 'osa.exe', een programma
met als enige functionaliteit het inladen van de Office DLL's.

Overigens vind ik zelf dat pre-loaden van DLL's behoorlijk irritant.
Kost weer extra opstarttijd. Maar da's mijn mening ;-)

Groeten,

Leon Zandman
Re: dll's tijdens opstarten windows laden
#4710
Author: Dr.Ruud
Date: Mon, 07 Jul 2003 22:32
11 lines
1792 bytes
Leon Zandman skribis:

> Microsoft deed zoiets ook altijd met Office. Daar had je 'osa.exe',
> een programma met als enige functionaliteit het inladen van de Office

Die osa kan ietsje meer. Met optie -s wordt bijvoorbeeld de screensaver
gestart. Een icoontje daarvoor zit ook in osa.exe, het was een optie in
de Office Shortcut Bar.

-- 
Affijn, Ruud
Re: dll's tijdens opstarten windows laden
#4711
Author: Leon Zandman
Date: Mon, 07 Jul 2003 23:59
10 lines
1659 bytes
> Die osa kan ietsje meer. Met optie -s wordt bijvoorbeeld de
screensaver
> gestart. Een icoontje daarvoor zit ook in osa.exe, het was een optie
in
> de Office Shortcut Bar.

Oh ja? Geinig. Nou ja, maar voor het verhaal van deze thread maakt dat
verder niet veel uit.

Leon
Re: dll's tijdens opstarten windows laden
#4712
Author: Roland Wolters
Date: Tue, 08 Jul 2003 10:07
21 lines
1323 bytes
dichtertje <dichtertje@yahoo.com> wrote in news:1057608346.89177
@seven.kulnet.kuleuven.ac.be:

> Hallo,
> 
> Een aantal applicaties zoals Mozilla als deze optie opstaat laden hun
> dll's tijdens het opstarten van windows om later het opstarten van de
> programma's te versnellen. Weet iemand hoe dit gedaanwordt?
> 

a.k.a. verspillen van recources. Ik haat dat.


Mazzl,


-- 
Roland Wolters
Homepage: http://www.wolters-ict.nl
WebLog  : http://www.roland.135.it
Please reply to newsgroups only. Thanks.
Re: dll's tijdens opstarten windows laden
#4719
Author: Dr.Ruud
Date: Tue, 08 Jul 2003 21:52
14 lines
1767 bytes
Roland Wolters skribis:
> dichtertje:

>> Een aantal applicaties zoals Mozilla als deze optie opstaat laden hun
>> dll's tijdens het opstarten van windows om later het opstarten van de
>> programma's te versnellen. Weet iemand hoe dit gedaanwordt?

> a.k.a. verspillen van recources. Ik haat dat.

Valt best mee, ze belanden (indien lang genoeg ongebruikt) al snel
in je swapfile.

-- 
Affijn, Ruud
Re: dll's tijdens opstarten windows laden
#4720
Author: Roel Schroeven
Date: Tue, 08 Jul 2003 22:22
19 lines
1842 bytes
In article <beflmq.1d8.1@news.isolution.nl>, Dr.Ruud wrote:
> Roland Wolters skribis:
>> dichtertje:
> 
>>> Een aantal applicaties zoals Mozilla als deze optie opstaat laden hun
>>> dll's tijdens het opstarten van windows om later het opstarten van de
>>> programma's te versnellen. Weet iemand hoe dit gedaanwordt?
> 
>> a.k.a. verspillen van recources. Ik haat dat.
> 
> Valt best mee, ze belanden (indien lang genoeg ongebruikt) al snel
> in je swapfile.

Dan heb je er ook niet veel meer aan, want dan moeten ze toch ook
opnieuw in het geheugen geladen worden als je ze nodig hebt. 

-- 
"Codito ergo sum"
Roel Schroeven
Re: dll's tijdens opstarten windows laden
#4721
Author: KLinZ
Date: Tue, 08 Jul 2003 22:48
23 lines
2205 bytes
Roel Schroeven wrote:
> In article <beflmq.1d8.1@news.isolution.nl>, Dr.Ruud wrote:
>> Roland Wolters skribis:
>>> dichtertje:
>>
>>>> Een aantal applicaties zoals Mozilla als deze optie opstaat laden
>>>> hun dll's tijdens het opstarten van windows om later het opstarten
>>>> van de programma's te versnellen. Weet iemand hoe dit gedaanwordt?
>>
>>> a.k.a. verspillen van recources. Ik haat dat.
>>
>> Valt best mee, ze belanden (indien lang genoeg ongebruikt) al snel
>> in je swapfile.
>
> Dan heb je er ook niet veel meer aan, want dan moeten ze toch ook
> opnieuw in het geheugen geladen worden als je ze nodig hebt.

Ja, maar... het laden vanuit de swapfile gaat sneller (paging weetjewel).
Desondanks zou ik er zelf toch ook niet zo snel voor kiezen om DLL's te
preloaden. Laat de OP liever z'n programma optimaliseren :-)

-- 
www.zenobits.com
Re: dll's tijdens opstarten windows laden
#4727
Author: dichtertje
Date: Wed, 09 Jul 2003 08:15
5 lines
1516 bytes
Bedankt voor de reacties!

-- 
He that is giddy thinks the world turns round.
		-- William Shakespeare, "The Taming of the Shrew"
Re: dll's tijdens opstarten windows laden
#4728
Author: dichtertje
Date: Wed, 09 Jul 2003 08:16
10 lines
1646 bytes
KLinZ <klinz@nospamzenobitsspamno.com> wrote:
> Laat de OP liever z'n programma optimaliseren :-)

Het is niet echt mijn programma.

-- 
F.S. Fitzgerald to Hemingway:
	"Ernest, the rich are different from us."
Hemingway:
	"Yes.  They have more money."
Re: dll's tijdens opstarten windows laden
#4731
Author: Nicolas Barbier
Date: Wed, 09 Jul 2003 09:20
32 lines
2609 bytes
KLinZ wrote:

> Roel Schroeven wrote:
> 
>> In article <beflmq.1d8.1@news.isolution.nl>, Dr.Ruud wrote:
>> 
>>> Valt best mee, ze belanden (indien lang genoeg ongebruikt) al snel
>>> in je swapfile.
>> 
>> Dan heb je er ook niet veel meer aan, want dan moeten ze toch ook
>> opnieuw in het geheugen geladen worden als je ze nodig hebt.
> 
> Ja, maar... het laden vanuit de swapfile gaat sneller (paging weetjewel).

Dat betwijfel ik, aangezien pages in je swapfile waarschijnlijk in een meer 
willekeurige volgorde gaan staan dan in het oorspronkelijke bestand.

Bij een gemiddeld besturingssysteem worden de pages voor een uitvoerbaar 
bestand trouwens helemaal nooit in de swapruimte gestoken omdat ze toch 
niet beschrijfbaar zijn. Dat geldt minstens voor Windows (9x en NT), Linux, 
Mach (met een gemiddelde swapper) en voor waarschijnlijk alle BSD's.

De snelheidswinst zal wel vooral te danken zijn aan datastructuren ed (in 
de ruime betekenis, dus ook linken etc) die opnieuw opgebouwd moeten worden 
als je het programma herstart. Bv als je Mozilla helemaal stopt (ook dat 
achtergrondding), dan duurt het toch langer om een nieuwe Mozilla te 
starten dan om een nieuw venster te openen als Mozilla al gestart geweest 
zou zijn. Het duurt wel minder lang dan het van "nul" starten, wat dan 
wordt veroorzaakt door het al in ram aanwezig zijn van die pages.

-- 
Nicolas Barbier
Re: dll's tijdens opstarten windows laden
#4732
Author: Roel Schroeven
Date: Wed, 09 Jul 2003 09:29
33 lines
2479 bytes
In article <3f0bde7e$0$6524$afc38c87@sisyphus.news.be.easynet.net>, Nicolas Barbier wrote:
> KLinZ wrote:
> 
>> Roel Schroeven wrote:
>> 
>>> In article <beflmq.1d8.1@news.isolution.nl>, Dr.Ruud wrote:
>>> 
>>>> Valt best mee, ze belanden (indien lang genoeg ongebruikt) al snel
>>>> in je swapfile.
>>> 
>>> Dan heb je er ook niet veel meer aan, want dan moeten ze toch ook
>>> opnieuw in het geheugen geladen worden als je ze nodig hebt.
>> 
>> Ja, maar... het laden vanuit de swapfile gaat sneller (paging weetjewel).
> 
> Dat betwijfel ik, aangezien pages in je swapfile waarschijnlijk in een meer 
> willekeurige volgorde gaan staan dan in het oorspronkelijke bestand.
> 
> Bij een gemiddeld besturingssysteem worden de pages voor een uitvoerbaar 
> bestand trouwens helemaal nooit in de swapruimte gestoken omdat ze toch 
> niet beschrijfbaar zijn. Dat geldt minstens voor Windows (9x en NT), Linux, 
> Mach (met een gemiddelde swapper) en voor waarschijnlijk alle BSD's.

Dat dacht ik ook al, maar ik durfde het niet zeggen wegens niet zeker.
Van Linux was ik wel 99% zeker, maar van de VM van Windows ken ik
vrijwel niets.

-- 
"Codito ergo sum"
Roel Schroeven

How to Ask Questions The Smart Way: 
    http://www.catb.org/~esr/faqs/smart-questions.html
Re: dll's tijdens opstarten windows laden
#4750
Author: Marco van de Voort
Date: Thu, 10 Jul 2003 17:07
14 lines
1675 bytes
In article <beflmq.1d8.1@news.isolution.nl>, Dr.Ruud wrote:
> Roland Wolters skribis:
>> dichtertje:
> 
>>> Een aantal applicaties zoals Mozilla als deze optie opstaat laden hun
>>> dll's tijdens het opstarten van windows om later het opstarten van de
>>> programma's te versnellen. Weet iemand hoe dit gedaanwordt?
> 
>> a.k.a. verspillen van recources. Ik haat dat.
> 
> Valt best mee, ze belanden (indien lang genoeg ongebruikt) al snel
> in je swapfile.

.dll's belanden als code slechts in de swapfile indien ze gerelocate zijn.
Re: dll's tijdens opstarten windows laden
#4752
Author: KLinZ
Date: Thu, 10 Jul 2003 17:25
21 lines
2136 bytes
Marco van de Voort wrote:
> In article <beflmq.1d8.1@news.isolution.nl>, Dr.Ruud wrote:
>> Roland Wolters skribis:
>>> dichtertje:
>> 
>>>> Een aantal applicaties zoals Mozilla als deze optie opstaat laden
>>>> hun dll's tijdens het opstarten van windows om later het opstarten
>>>> van de programma's te versnellen. Weet iemand hoe dit gedaanwordt?
>> 
>>> a.k.a. verspillen van recources. Ik haat dat.
>> 
>> Valt best mee, ze belanden (indien lang genoeg ongebruikt) al snel
>> in je swapfile.
> 
> .dll's belanden als code slechts in de swapfile indien ze gerelocate
> zijn. 

Waarom slechts dan?

-- 
www.zenobits.com
Re: dll's tijdens opstarten windows laden
#4757
Author: Nicolas Barbier
Date: Thu, 10 Jul 2003 20:42
14 lines
1656 bytes
KLinZ wrote:

> Marco van de Voort wrote:
> 
>> .dll's belanden als code slechts in de swapfile indien ze gerelocate
>> zijn.
> 
> Waarom slechts dan?

Omdat het OS ze anders gewoon terug uit het bestand kan lezen als het ze 
nodig heeft...

-- 
Nicolas Barbier
Re: dll's tijdens opstarten windows laden
#4759
Author: Dr.Ruud
Date: Thu, 10 Jul 2003 22:37
29 lines
2432 bytes
Marco van de Voort skribis:
> Dr.Ruud:
>> Roland Wolters:
>>> dichtertje:

>>>> Een aantal applicaties zoals Mozilla als deze optie opstaat laden
>>>> hun dll's tijdens het opstarten van windows om later het opstarten
>>>> van de programma's te versnellen. Weet iemand hoe dit gedaanwordt?

>>> a.k.a. verspillen van recources. Ik haat dat.

>> Valt best mee, ze belanden (indien lang genoeg ongebruikt) al snel
>> in je swapfile.

> .dll's belanden als code slechts in de swapfile indien ze gerelocate
> zijn.

Met 'ongebruikt' duidde ik op het slapende bestaan van 'preloaded' dll's.
Er is dus een executable die die dll(s) in gebruik houdt, alleen vinden
er (nog/verder) geen calls plaats. Dan zal het memory management de
geheugenruimte waarin die 'actieve' dll(s) staan, op een gegeven moment
wegswappen.

Een dll kan tijdens de dll-initialisatie extra geheugenblokken alloc-en.
Ook die zullen in de swapfile belanden als er (nog/verder) niets mee
gebeurt.

-- 
Affijn, Ruud
Re: dll's tijdens opstarten windows laden
#4761
Author: Marco van de Voort
Date: Fri, 11 Jul 2003 14:49
21 lines
1997 bytes
In article <pjhPa.16050$KF1.302759@amstwist00>, KLinZ wrote:
> Marco van de Voort wrote:
>> In article <beflmq.1d8.1@news.isolution.nl>, Dr.Ruud wrote:
>>> Roland Wolters skribis:
>>>> dichtertje:
>>> 
>>>>> Een aantal applicaties zoals Mozilla als deze optie opstaat laden
>>>>> hun dll's tijdens het opstarten van windows om later het opstarten
>>>>> van de programma's te versnellen. Weet iemand hoe dit gedaanwordt?
>>> 
>>>> a.k.a. verspillen van recources. Ik haat dat.
>>> 
>>> Valt best mee, ze belanden (indien lang genoeg ongebruikt) al snel
>>> in je swapfile.
>> 
>> .dll's belanden als code slechts in de swapfile indien ze gerelocate
>> zijn. 
> 
> Waarom slechts dan?

Omdat ze dan niet direct te reloaden zijn van HDD. (moet dan eerst weer geheel gerelocate worden)
Re: dll's tijdens opstarten windows laden
#4762
Author: Marco van de Voort
Date: Fri, 11 Jul 2003 14:53
29 lines
2360 bytes
In article <bel17d.gs.1@news.isolution.nl>, Dr.Ruud wrote:
> Marco van de Voort skribis:
>>> in je swapfile.
> 
>> .dll's belanden als code slechts in de swapfile indien ze gerelocate
>> zijn.
> 
> Met 'ongebruikt' duidde ik op het slapende bestaan van 'preloaded' dll's.
> Er is dus een executable die die dll(s) in gebruik houdt, alleen vinden
> er (nog/verder) geen calls plaats. Dan zal het memory management de
> geheugenruimte waarin die 'actieve' dll(s) staan, op een gegeven moment
> wegswappen.

Wat is volgens jou "wegswappen"

> Een dll kan tijdens de dll-initialisatie extra geheugenblokken alloc-en.
> Ook die zullen in de swapfile belanden als er (nog/verder) niets mee
> gebeurt.

Data segmenten e.d. wel ja. Code en inited data (read-only) segmenten worden
invalidated (de frames worden als ongebruikt gemerkt, en in de descriptor
tabel wordt "present" uitgezet) en indien nodig wordt het hergeladen van
.DLL, niet van swap. 

Winst: de zoeken en open filesystem overhead. Er wordt een handle naar
de DLL opengehouden dacht ik.

(dus Tenzij ze door een image base conflict gerelocate moeten worden, maar
dat is meestal niet)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads