Konference: Počítač SHARP MZ-800 a emulátory

Od: Fuzzy
Datum: 20.2.2012 21:55
Předmět: Re: mzix


No, videl bych to tak, ze binarka bude na disku v nejake relokovatelne
forme, coz by nemel byt problem. Je potreba jen poladit linker, aby
neco takovyho produkoval. OS si ji pak umisti tam, kam bude potrebovat
a pak uz se s ni nebude hybat.

MZIX ma ted pro aplikace nastaveny stack od 0x7FFF a potom hned za
kodem a statickymi daty zacina heap. Pri behu aplikace pak rostou
proti sobe. To by slo zmenit/zoptimalizovat, napr. tak, ze pro stack
bude pevne omezeny prostor urceny pri kompilaci aplikace, a konec
heapu bude urcovat pametovy narok aplikace; podle toho se pak taky
bude alokovat aplikacni pamet. Uvazuji spis o vetsich alokacnich
jednotkach, treba 8kb. Aplikace by pak alokovaly misto v nasobcich
techto jednotek. Do 32kb aplikacniho prostoru by se tedy vlezky 4 male
aplikace 8kb aplikace. Ty by mohly sdilet procesorovy cas bez
swapovani i bez memextu.

Fuzzy

2012/2/18 Michal Hučík (sharpemu tu byla ta zakroucena vec pandora.cz) <ordoz tu byla ta zakroucena vec ordoz.com>:
>
>
> Ahoj Martine,
>
> o realokovatelnem kodu uz jsem kdysi taky uvazoval. U malych projektu to
> snad neni takovy problem, ale u cehokoliv vetsiho by se bud v pravidelnych
> intervalech musely v kodu udrzovat nejake orientacni tabulky a nebo by pred
> startem programemu musela probehnout nejaka alokacni inicializace, ktera by
> v podstate prepsala kod jeho kod - coz by ovsem znamenalo realokovatelnost
> programu jen do chvile, nez dojde k jeho spusteni, ale pak uz by zrejme
> musel zustat na stejne pozici.
>
> Co se tyka swapovani - nebylo by efektnejsi udrzovat u kazdeho procesu
> nejake info o datovem prostoru, ktery si alokuje a swapovat pak jen to co je
> nezbytne?
>
> Michal
>
> Dne 18.2.2012 16:56, Fuzzy (sharpemu tu byla ta zakroucena vec pandora.cz) napsal(a):
>
>> Obcas si taky pohravam s myslenkou udelat relokovatelne binarky, aby
>> kazdy sebemensi proces nezabiral tech 32k.
>> Nezkouseli jste nekdy nekdo (obecne) relokovat (jinak nerelokovatelny) z80
>> kod?
>>
>> Fuzzy
>>
>
>
> ---
 
[2012/1 (125)] [2012/2 (34)] [2012/3 (57)] [2012/4 (46)] [2012/5 (40)] [2012/6 (44)] [2012/7 (64)] [2012/8 (57)] [2012/9 (32)] [2012/10 (55)] [2012/11 (25)] [2012/12 (63)]


[1999 (1)] [2000 (168)] [2001 (733)] [2002 (459)] [2003 (654)] [2004 (224)] [2005 (105)] [2006 (182)] [2007 (201)] [2008 (294)] [2009 (363)] [2010 (782)] [2011 (522)] [2012 (642)] [2013 (442)]