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

Od: Fuzzy
Datum: 18.2.2012 15: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)]