[OSy] Mozna uz se neco na toto tema resilo ...
Rastislav Wartiak
rastik at tereus.eu
Fri Jan 4 18:48:34 CET 2008
A nebylo by jednodušší to nechat ve fyzické paměti na původním místě a
jenom ji namapovat na začátek virtuální paměti daného procesu/vlákna?
Tvoje řešení docela komplikuje použití více uživatelských procesů.
Rastislav Wartiak
> Zdravim,
>
> no s defaultnim nastavenim user.bin pocita, ze je proces nahrany od
> adresy 0 a ze nejaka prvni funkce je na te adrese 0.
> My to resime tak, ze nejprve hodime proces na znamou fyzickou adresu
>
> add rwm mem_process 0x05001000 16M
> mem_process load "process.bin"
>
> pak je jasne, ze v msim to najdu na adrese 0x85001000
>
> ve virtualni pameti procesu pak tuhle binarku vezmu a zkopiruju ji
> z 0x85001000 do 0x00000000 - ja kopiruju proste fixne 128kB. To se
> tam proste musi vejit.... :D
>
> mno... a pak uz staci na vhodnem miste bud udelat
>
> void (*fnc)(void);
> fnc = 0;
>
> fnc();
>
>
> coz to spusti.... ale nejak to neresi nejake drobnosti, jako ze by
> se pri skoku mohlo nastavit, ze se prepina do usermodu apod...
>
> tzn alespon my skaceme pres j 0, pricemz v branch delay slotu
> skoku je zmena toho modu... viz starsi maily v konferenci
>
> MT
>
> 4. ledna 2008, 15:03:48, napsal jste:
>
>> Ahoj!
>> Nedari se mi pochopit, jak se ma pracovat s uzivatelskym programem.
>
>> Z kompilace kernelu a uzivatelskeho programu "vypadnou" tri soubory:
>> loader.bin (zavadec kernelu)
>> kernel.bin (samotny kernel)
>> user.bin (uzivatelsky program slinkovany s knihovnou, ktera
>> implementuje komunikaci s kernelem pres syscally).
>
>> Tady mi neni jasne, na jakou adresu se ma "natahnout" uzivatelsky
>> program. (docela by mi pomohl nejaky priklad konfiguracniho souboru
>> msimu).
>
>> Dalsi vec mi neni jasna, jak mam spustit kod z user.bin.
>> Z binary.lds (ktery je v testech k zadani 3) jsem pochopil, ze linker
>> vytvori binarku, ktara ma entry point na adrese 0x0 (funkce entry).
>> Domnivam se, ze kdyz z kernelu zavolam funkci entry tak by se mel
>> pustit kod z uzivatelskeho programu. (predpokladam, ze ukazatel
>> entry ja nastaven na adresu 0x0).
>
>> Ales
>
>> _______________________________________________
>> OSy mailing list
>> OSy at dsrg.mff.cuni.cz
>> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>
>
>
> --
> S pozdravem,
> Michal Tuláček - iGroup.cz
> mailto:michal.tulacek at igroup.cz
>
>
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>
More information about the NSWI004
mailing list