[so2] [SO2][Tema 1 Lin]Intrebari

Vlad Dogaru ddvlad at herebedragons.ro
Wed Mar 13 09:28:04 EET 2013


Salut, Cosmin,

On Wed, Mar 13, 2013 at 09:08:26AM +0200, Stoica Cosmin wrote:
> Salut!
> 
>       Am cateva intrebari in legatura cu tema1 Linux.
> 
>       1.Vreau sa retin in vectorul de structuri pe langa datele necesare
>  si un pointer catre syscall initial,
> dar nu imi dau seama ce tip ar trebui sa aiba. Imi inchipuii ca trebuie sa
> returneze long si sa aiba parametrii
> structura definita in slideurile cursului 2 (struct syscall_params), dar nu
> imi dau seama cum sa arata.

Tipul ar trebui să fie "pointer to function(struct syscall_params)
returning int".

This might be a good time to mention cdecl (available in a Linux repo
near you):

$ cdecl
cdecl> explain int (*f)(struct syscall_params)
declare f as pointer to function (struct syscall_params) returning int

>      2. In enunt "Se impune folosirea unei *liste pentru menținerea
> informațiilor despre procesele monitorizate" si *
> un vector pentru fiecare apel interceptat. Ca sa folosim o lista pentru
> toate procesele monitorizate nu ar insemna sa
> se introduca o latenta mare, deoarece daca un proces a facut un syscall si
> apoi face lock pe lista_de_procese pentru
> a se inregistra si vin si alte procese in perioada aceasta se asteapta prea
> mult.

Poți proteja lista de apeluri de sistem cu un lock și lista de procese
monitorizate cu alt lock.

>          Ma gandeam ca ar fi ok sa spargem lista respectiva pe syscall
> interceptat si astfel am aveam procesele grupate
> pe syscall ceea ce nu ar trebuii sa mai blocheze, deoarece daca fiecare ar
                                 ^ that's an extra 'i' right there
> avea propriul lock, un proces care apeleaza
> un syscall s1 si foloseste lista repectiva lui s1 nu va afecta un alt
> proces care face un alt syscall s2 si foloseste lista lui s2.
>        Pentru imbunatatire se poate folosi RWLOCK.
>        Cum este mai eficient si cum se recomanda sa implemenatam?

Sună ok și cum zici tu, dar în cazul ăsta sugerez să 'keep it simple'.
Nu avem teste de stress, nu o să ai niciodată 'multe' procese
monitorizate.

Hope this helps,
Vlad


More information about the so2 mailing list