/ Forside / Teknologi / Hardware / Mac / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Mac
#NavnPoint
UlrikB 4810
kipros 1675
Klaudi 1010
myg 920
pifo 907
Stouenberg 838
molokyle 830
Bille1948 815
rotw 760
10  EXTERMINA.. 750
update prebinding, osX
Fra : Anders


Dato : 06-03-02 09:37

Jeg faldt over applicationen Pacifist, som giver mulighed for at kigge
ind i pakker, der er også en menu som hedder update prebinding hvad er
det? hvad gør det, skulle optimere systemet, men jeg synes det er rart
at vide hvad der sker.

Venlig Hilsen
Anders Krøyer

 
 
Michael Tysk-Anderse~ (07-03-2002)
Kommentar
Fra : Michael Tysk-Anderse~


Dato : 07-03-02 10:14

Anders <bassballs@mac.com> wrote:

> Jeg faldt over applicationen Pacifist, som giver mulighed for at kigge
> ind i pakker, der er også en menu som hedder update prebinding hvad er
> det? hvad gør det, skulle optimere systemet, men jeg synes det er rart
> at vide hvad der sker.

Mac OS X gør brug af dynamiske biblioteker. Det dynamiske består i at et
program først under afvikling linker til et biblioteks rutiner.
Prebinding er et cache system som gør at rutinernes adresser i
bibloteket er kendte på forhånd. Hvis et biblotek bliver opdateret ser
systemet bort fra chachen og dynamikken træder i kraft igen, indtil der
igen bliver kørt en prebinding eller programmet bliver rekompileret.

check "man update_prebinding" i terminalen

Det er værd at bemærke at programmerne ikke bliver langsommere af ikke
at være prebounded, men at de starter langsommere. Under afvikling af et
program bliver rutinernes adresser også cached.

Klip fra Apples developer sider:
------------------------------------------------------------------------
When an application is launched, the dynamic linker (dyld) must bind the
needed undefined references from the executable and dynamic libraries to
their respective definitions. The binding process can take time, since
the linker must map the library to an unoccupied address range and
calculate the address of each referenced symbol in the library.

Building a dynamic library with prebinding enabled eliminates the normal
binding overhead by predefining the library at a specified address
range. When an executable or other dynamic library is built against a
prebound library, the linker can directly reference symbols in the
prebound library by address, instead of leaving the addresses undefined.

The static linker also records the time stamp of libraries dependent
libraries. When the program is executed, the dynamic linker checks to
see that all the build time stamps match and that the prebound address
ranges of all code does not overlap. If both of these conditions are
met, the binding of undefined references is already done, which saves a
considerable amount of time. If the time stamps don't match, or prebound
executable addresses overlap, the prebinding is undone and the program
is bound normally.
--
Mvh Michael Tysk-Andersen

Thorbjørn Ravn Ander~ (07-03-2002)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 07-03-02 10:18

mta@mac.com (Michael Tysk-Andersen) writes:

> Prebinding er et cache system som gør at rutinernes adresser i
> bibloteket er kendte på forhånd. Hvis et biblotek bliver opdateret ser
> systemet bort fra chachen og dynamikken træder i kraft igen, indtil der
> igen bliver kørt en prebinding eller programmet bliver rekompileret.

Det giver _RIGTIGT_ meget.

Efter en genstart af maskinen tager det enorm lang tid at få
programmer i luften. Når først det kører, kan de startes igen meget
hurtigt. Mit standardeksempel er "java", som kører hurtigt nok til at
kunne bruges som alle andre almindeligt programmer. Det ville jeg
ikke synes hvis det tog 10-20 sekunder at komme i luften hver gang.

--
Thorbjørn Ravn Andersen
http://homepage.mac.com/ravn

Jan Jonasen (07-03-2002)
Kommentar
Fra : Jan Jonasen


Dato : 07-03-02 22:13

Thorbjørn Ravn Andersen <ravn@mac.com> wrote:

> Efter en genstart af maskinen tager det enorm lang tid at få
> programmer i luften. Når først det kører, kan de startes igen meget
> hurtigt. Mit standardeksempel er "java", som kører hurtigt nok til at
> kunne bruges som alle andre almindeligt programmer. Det ville jeg
> ikke synes hvis det tog 10-20 sekunder at komme i luften hver gang.

Har du prøvet det med WebStart? Gives der også gevinst ved kasse ét der?

--
Mvh/re Jan Jonasen
jonasen (at) it (dot) dk

If I wanted culture, I'd eat yogurt.

Thorbjoern Ravn Ande~ (08-03-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 08-03-02 10:21

jonasen@it.dk (Jan Jonasen) writes:


> Har du prøvet det med WebStart? Gives der også gevinst ved kasse ét der?

Nej - alt ligger lokalt - men WebStart er mere end blot ren Java. Jeg
kan jo kun sige "Proev det, proev det".

--
Thorbjørn Ravn Andersen
http://homepage.mac.com/ravn

BassBalls (07-03-2002)
Kommentar
Fra : BassBalls


Dato : 07-03-02 20:33

In article <1f8n7hh.1k7r9zr1q6b7amN%mta@mac.com>,
mta@mac.com (Michael Tysk-Andersen) wrote:

> Anders <bassballs@mac.com> wrote:
>
> > Jeg faldt over applicationen Pacifist, som giver mulighed for at kigge
> > ind i pakker, der er også en menu som hedder update prebinding hvad er
> > det? hvad gør det, skulle optimere systemet, men jeg synes det er rart
> > at vide hvad der sker.
>
> Mac OS X gør brug af dynamiske biblioteker. Det dynamiske består i at et
> program først under afvikling linker til et biblioteks rutiner.
> Prebinding er et cache system som gør at rutinernes adresser i
> bibloteket er kendte på forhånd. Hvis et biblotek bliver opdateret ser
> systemet bort fra chachen og dynamikken træder i kraft igen, indtil der
> igen bliver kørt en prebinding eller programmet bliver rekompileret.
>
> check "man update_prebinding" i terminalen
>
> Det er værd at bemærke at programmerne ikke bliver langsommere af ikke
> at være prebounded, men at de starter langsommere. Under afvikling af et
> program bliver rutinernes adresser også cached.
>
Tak for forklaringen, jeg skal vist til at bruge man i terminal lidt
oftere.

Venlig Hilsen
Anders Krøyer

Søg
Reklame
Statistik
Spørgsmål : 177517
Tips : 31968
Nyheder : 719565
Indlæg : 6408634
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste