[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