[so2] [curs2] nelamuriri

Andrei Epure epure.andrei at gmail.com
Thu Mar 7 00:20:12 EET 2013


Salut.

Am niște întrebări legate de cursul 2:

slide 26
f=sys_call_table[NR_open]; // aici înțeleg că iau pointerul apelului
de sistem open
r=f(sp); // nu înțeleg
Cum pot să-i dau lui open ca parametru o structură conținând
regiștrii? Poate explica cineva mecanismul? Mi-e neclar.

slide 38
Am înțeles că se face căutare binară a adresei instr. care a cauzat
page-fault [1] folosind adresele __start_ex_table și __stop_ex_table.
Întrebări:
- Nu înțeleg ce este punctul aici: "__start_ex_table = ."
- *(__ex_table) înseamnă ceva de genul copiere a tabelei acolo?
- Ce înseamnă AT(ADDR(__ex_table) - LOAD_OFFSET)?
- În general, ce se întâmplă în codul ăla?

Se poate pune pe ocw o legătură către cursul extra de assembly
language [3]? Ar fi util. Mie mi-au folosit puțin și extra explicații
la [4].

Mersi,
Andrei

[1] http://lxr.linux.no/#linux+v3.8.2/arch/x86/mm/extable.c#L82
[2] http://lxr.linux.no/#linux+v3.8.2/kernel/extable.c#L51
[3] https://docs.google.com/presentation/d/1qmKGpAiDX0GNAXnNXBtSE2xV8s659PZDb2ZLtQKjzbw/edit#slide=id.i178
[4] http://staff.ustc.edu.cn/~xlanchen/cailiao/x86%20Assembly%20Programming.htm

-- 
Andrei Epure


More information about the so2 mailing list