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)]