.dsy:it. Pages (8): « 1 2 3 4 [5] 6 7 8 »
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Sistemi operativi I (http://www.dsy.it/forum/forumdisplay.php?forumid=269)
-- [BRUSCHI] 13/04/07 primo compitino (http://www.dsy.it/forum/showthread.php?threadid=30079)


Posted by Kurt84 on 11-04-2007 19:25:

che spasso l'ultima videolezione quando perde una decina di minuti a far ripartire windows ^^


Posted by Xander on 11-04-2007 20:34:

Originally posted by dani-dani
Ciao ragazzi..volevo chiedervi come faccio ad accedere alle videolezioni..cioè..che username e password serve..??
grazie mille..


...ricordarsela la psw :sad:
anzi sono anche quasi sicuro che sia giusta ma nn va..me l'avranno hackata..
è case sensitive?
ciao


Posted by Kurt84 on 12-04-2007 13:06:

Qualcuno mi sa dire :

1- nelle istruzioni tipo sseg mov (old_cs), eax viene copiato eax nella locazione di memoria puntata da old_cs nello stack segment ?

2- nella save:
mov dx, ss
mov ds, dx
mov es, dx
Qui cosa fa, cambia il segmento dati corrente con quello dello stack di kernel giusto? perchè?

3- jmp RETADR-P_STACKBASE(eax) il prof ha detto che con questa jump arrivo all'istruzione successiva a quella che ha chiamato la save... in che modo? RETADR E P_STACKBASE che valori hanno?

^^ grazie a chiunque riesca a rispondermi


Posted by poi_1969 on 12-04-2007 13:10:

RETADR-P_STACKBASE(eax) per questa devi vedere cosa vale RETADR-P_STACKBASE perche viene sommato a eax e poi fa la jump


Posted by Kurt84 on 12-04-2007 13:13:

si infatti stackbase dovrebbe puntare a qualcosa tipo la base dello stack... a cui aggiunge poi eax (che contiene il vecchio esp). a occhio mi sembra che si vada a prendere l'indirizzo che la "call save" ha memorizzato nello stack, prima di tutte le varie push, ma nn mi spiego bene come


Posted by poi_1969 on 12-04-2007 13:17:

reg_t retadr; /* return address for assembly code save() */
vai a cercare nel codice di minix retadr ti usciaranno fuori delle cose tipo la riga che ti ho messo.

ascolta ti vedo ferrato sul discorso, percui ti faccio delle domande.

Come avviene la chiamata eccezzione?
Ad esemip dopo avere incrementato il pc=pc+1 si controlla se il bit del segnale di int è attivo, in questo caso si deve trattare l'eccezzione, siamo a livello HardWare.
Ma a questo punto cosa succede? Non ho capito come si passa alla gestione dell'eccezione con le routine.
Poi altra cosa per il trattamento dell'eccesione vengono creati due stack? ma chi li crea e come?

Ciao


Posted by Kurt84 on 12-04-2007 13:24:

a quanto ho capito io, in exception.c ( _exception in assembler) viene presa la decisione se avviare un nuovo processo, continuare quello vecchio o interrompersi, quindi penso comprenda anche la risposta all'eccezione.
Non ne sono sicuro, ma dovrebbe quindi essere quando fa la chiamata call _exception la gestione della routine

Gli stack in tutto sono 3: quello della procedura che chiama, quello nuovo creato da cpu (hardware) e un altro creato dal kernel


Posted by poi_1969 on 12-04-2007 13:26:

ma come fa ad arrivare li


Posted by Kurt84 on 12-04-2007 13:34:

viene creato via hardware l'indirizzo della routine di risposta all'eccezione : nella IDT (interrupt descriptor table) è associato, per ogni eccezione, l'indirizzo della routine di risposta ( segmento + offset).

Ogni interrupt o eccezione è associato a un numero: hai 8 bit a disposizione ( quindi 2^8 = 256 eccezioni interrupt diversi) e questo numero è un indice nella tabella degli interrupt.


Posted by poi_1969 on 12-04-2007 13:37:

OK CHiaro.
Ma prima di arrivare li, sono già stati salvati sullo stack diversi registri. E' corretto? Se è cosi chi è che li ha salvati?

Ciao

E grazie di tutto


Posted by Kurt84 on 12-04-2007 13:41:

la cpu salva i registri in automatico nello stack, dopo ne aggiunge altri il sistema operativo con la save


Posted by poi_1969 on 12-04-2007 13:50:

Ora è più chiaro.
Quindi la cpu, quindi l'hardware si salva dei registri e poi chiama la routine di gestione dell'eccezione che richiama la save.
Ma la cpu li salva via hw?


Posted by Kurt84 on 12-04-2007 13:52:

si è automatico, non glielo dici tu in nessuna istruzione lo fa lei di suo


Posted by poi_1969 on 12-04-2007 13:59:

Grazie per la conferma.
Non ricordo proprio che il prof ne abbia parlato in dettaglio questa parte di salvataggio, ricordo solo che viene fatto e si ha il passaggio da user-mode a kernel mode.
Quindi
Stack processo in corso user-mode--->CPU---> salva in stack e passa in kernel MODE
Viene chiamata la save e vengono fatti altri aggiornamenti sullo stack sempre in kernel-mode.
Quindi in fine ho solo due stack o tre se considero:
1 stack quello fatto dalla CPU
2 stack quello fatto dalla procedura di save
3 stack quello necessario alla chiamato di trattamento dell'eccezione

ciao

E' utile ripassare in questo modo, almeno per me mi chiarisco diverse cose.


Posted by Paul03 on 12-04-2007 14:45:

Scaricati la videolezione che lo spiega molto bene saltando la parte iniziale della fase di boot.


All times are GMT. The time now is 15:01. Pages (8): « 1 2 3 4 [5] 6 7 8 »
Show all 113 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.