Konference: Počítač SHARP MZ-800 a emulátory
Od: | Fuzzy |
Datum: | 18.2.2012 16:56 |
Předmět: | Re: mzix |
Ahoj Michale, jojo, postupne bude. MZIX (zatim) neumi relokaci binarek, takze kazdy proces zacina na 0x0100 a ma k dispozici 32k pameti, vcetne zasobniku a heapu. Zbylych 32k zabira kernel. Aby sel udelat multitasking se tedy potrebuje aktualni proces odswapovat pryc - a k tomu se ted pouziva ramdisk. Jestlize scheduler usoudi, ze je potreba prepnout na jiny proces, tak odlozi ten aktualne bezici na RD a nacte z RD novy. Tahle operace je casove draha, neco pres 0.3s, a tak se nemuze prepinat moc casto, v ukazce je prepinani nastaveno na 0.5s. Obecne to zavisi na priorite procesu, bude se dat nastavovat za behu systemu. Dale, kdyz proces ceka na vstup - napr. sash na zadani prikazu, tak je ve stavu SLEEP a neni aktivni. Tj. kdyz das na pozadi bezet border, tak ten border bezi furt dokud nezadas nejaky prikaz. To se pak sash vzbudi a zkusi ten prikaz vykonat. Muzes to videt treba kdyz mas na pozadi border a das "ls". Pak se sash vypisujici adresar a border budou nekolikrat stridat po te pulsekunde, jde to videt podle toho kdy border blika a kdy ne. V ukazce muzes taky dat 2 (a vice) borderu na pozadi - pak se pravidelne stridaji, v pulsekundovych intervalech jsou videt prestavky na prohozeni tech dvou border procesu. Co se tyka mista na RD - tak kazdy proces sezere 32k, takze napr. 1MB RD staci na rozjeti 32 procesu. Pouziti RD pro swapovani je zatim nouzovka misto memextu. Stary od Davida nemam a novy od Vaska jeste neni, emulator to neumi, takze to nemam na cem vyskouset. Ale s memextem by prepinani procesu byl fukot, to je jasny, nic by se nikam nemuselo kopirovat, jen by se prepinaly stranky memextu. 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/2/18 Michal Hučík (sharpemu tu byla ta zakroucena vec pandora.cz) <ordoz tu byla ta zakroucena vec ordoz.com>: > > > Ahoj, pro experimentovani by se jeste hodilo mit i kill, jobs a nejaky > pstools, aby mel clovek lepsi predstavu co se deje, nicmene i tak je to > pekne. Zkousel jsem spustit nekolik shellu na pozadi :) > Jak je tam udelany shedulling? Pri kazdem zatemneni prepnes na dalsi proces? > > Michal > > > Dne 16.2.2012 22:34, Fuzzy (sharpemu tu byla ta zakroucena vec pandora.cz) napsal(a): > >> Ahojte, >> >> kdo byste se chteli mrknout na dalsi prototyp, tak je tady: >> https://sourceforge.net/projects/umzix/files/prototypes/2012-02-16/ >> >> Co potrebujete: >> - bud emulator, nastavit mzix dsk, nastavit RD a nabootovat >> - nebo relny sharp s unikartou nebo pravym FD, musi byt RD minimalne >> 64kB, nastavit/nahrat mzix dsk, nabootovat z FD (realneho sharpa jsem >> zatim nezkousel, zkusite nekdo?) >> >> POZOR! Ukazka prepise obsah vaseho RD. >> >> co muzete zkouset: >> ls >> cd >> pwd >> mkdir >> rm >> rmdir >> exit >> >> pak muzete zkusit spustit na pozadi jednoduchy proces, ktery blika >> borderem: >> border& >> a dal zkouset vyse uvedene prikazy. Sash a border se stridave >> odswapovavaji na RD (docela sranda :-); zadny memext to jeste neumi - >> s tim by to byl multiprocessing samozrejme uplne jina liga. >> >> Ma to jeste mouchy, napr. kdyz filesystem budete vic trapit tak se >> trochu rozhodi :-( Ale to nevadi, je to zatim jen ukazka. >> >> 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)]