[linux] ako funguju kniznice ?

Robert Varga niteshadow na hq.alert.sk
Neděle Září 3 16:35:09 CEST 2000


On Sun, Sep 03, 2000 at 01:49:26PM +0200, Matus fantomas Uhlar wrote:
> -> vsimli ste si, kolko mega ma libc v redhat 6.2 ? 4.3 mega. kedze skoro
> -> kazdy program pouziva libc (iba tie staticky linkovane nie), tak to sa
> -> nam libc zakazdym "mmap"uje do pameti ? pokial som to pochopil spravne
> -> tak sa aj relokuje a potom, kedze nechceme prepisovat subor libc mmapuje
> -> sa cez prot_private, pri pouziti copyonwrite nam vznikaju stale nove
> -> stranky a my prichadzame o pamet. pochopil som to spravne ? 
> 
> uplne zle. vsetky binarky aj kniznice sa mapuju do pamate s flagmi PROT_READ
> a MAP_SHARED (man mmap); to znamena ze nech namapujes binarku al;ebo
> kniznicu milionkrat, pamatovy priestor je zdielany (a vdaka strankovaniu
> pamate su v pamati vacsinou len skutocne namapovane stranky, a malokedy cele
> binarky a kniznice). copy_on_write sa pouziva hlavne pre pripady typu fork()
> kde sa na linuxe duplikuje len PID a tabulky a pri pripadnom zapise do dat
> sa tieto zduplikuju...

Co sa tyka statickych dat a stacku, tieto su alokovane osobitne z kazdeho
kontextu procesu, takze pamatove straty su vazne minimalne.

A samozrejme funguje demand-loading, takze nie cele libky su vzby v pamati,
ale len stranky, ktore sa pouzivaju (zalezi na VM handleri).

> -> nebolo by efektivenjsie vymysliet nejaky system bez takejto relokacii,
> -> resp.  inu relokaciu ? mimochodom, kedyi davno malo libc 600kb a vsetci
> -> boli spokojni a fungovalo to. co preboha je v tyvh 4.3 mb ?

... a nevedeli UniCode, neboli tak portabilne, neboli reentrantne, nemali
podporu threadov ...

> viac vlastnosti viac moznosti vacsia efektivita a rychlost staci ?

zabudol si rychlejsi development ;-)))

-- 
Kind regards,
Robert Varga
------------------------------------------------------------------------------
n na hq.sk                                    http://hq.sk/~niteshadow/gpgkey.txt
 
------------- další část ---------------
Netextová příloha byla odstraněna...
Jméno: [žádný popis není k dispozici]
Typ: application/pgp-signature
Velikost: 232 bytes
Popis: [žádný popis není k dispozici]
Url : http://lists.linux.sk/pipermail/linux/attachments/20000903/4d0a6e40/attachment.bin 


Další informace o konferenci linux