[OSy] otazka ohledene startu systemu

Jiri Tousek jiri.tousek at gmail.com
Fri Dec 22 12:47:25 CET 2006


Dobry den,

doporucuji jeste jednou si precist popis struktury virtualni pameti MIPSu.

Nic takoveho jako prekladany a neprekladany mod neexistuje, funguje to
tak, ze v kernel modu je pristupny i nemapovany KSEG0 a v user modu je
pristupny jen mapovany USEG.

Pokud jde o otazku, jak vypada mapa pameti:
Je treba si uvedomit, ze mapa pameti (pokud myslite strukturu pro
prevod virt->fyz) neni struktura systemu, ale struktura dane skupiny
vlaken (zaklad procesu, vmem). Tedy po volani memory_init() jeste
zadna neexistuje, pouze je system pripraven na jeji vytvoreni. V
kernel_start se pak v nasem kernelu (NanOS) prvni vlakno (init)
vytvari s novou mapou, ostatni pak mohou bud jeho mapu sdilet nebo si
vytvorit novou.

Doufam ze tohle pomuze, protoze otazka mi tak uplne nedava smysl.

Jiri Tousek

On 12/22/06, Vaclav Klecanda <vencax at centrum.cz> wrote:
> Zdravim vsechny, dostali jsme se na zvlastni otazku, na kterou nikdo z nas nebyl schopen odpovedet. Po startu stroje se program dostane az do fce kernel_start, kde se vola fce memory_init, ktera inicializuje virtualni adresaci. Jak ovsem vypada mapa pameti, kdyz jeste neni zadne pametove mapovani a procesor pracuje pouze s neprekladanymi( fyzickymi) adresami? A kde se prepne mod procesoru (prace uz s virtualnimi adresami). V pripade, kdyz se vytvori nejaka promenna v case behu stroje v neprekladanem rezimu, kde se tato ocitne kdyz se potom spusti prekladany rezim? Doufam, ze to neni az tak hloupa otazka. Diky a pekny Vanoce vsem. Vasek
>
> void kernel_start()
> {
>         thread_t t;
>
>         /* Initialize timer module, but do not start timer interrupts */
>         init_timer_handling();
>
>         /* do teto doby se jeste bezi v neprekladanem rezimu, pokud se nepletu */
>
>         /* run the unified memory init */
>         memory_init();
>
> ....
>
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> http://dsrg.mff.cuni.cz/mailman/listinfo/osy
>



More information about the NSWI004 mailing list