Nowe posty

Autor Wątek: kernel-user space - komunikacja  (Przeczytany 2612 razy)

nevalon

  • Gość
kernel-user space - komunikacja
« dnia: 2008-03-17, 15:25:58 »
Witam.

Mam pewien problem, mianowicie mam do zbadania szybkosc komunikacji miedzy kernel space a user space przy roznych sposobach dostepu.
Chodzi o dostep do konkretnego urzadzenia, adres fizyczny mam podany.
Jestem raczej poczatkujacym programista jesli chodzi o kwestie linuxowe.

Sposoby dostepu:
-proc fs
-mmap
-device driver
-syscall

Na bank bede musial zatem utworzyc modul kernelowy i userowa aplikacje ktora bedzie sie z nim komunikowac na rozne sposoby.

Pierwsza kwestia:
proc fs. To chyba najprostsze z tego co mam. Z tego co udalo mi sie wyczytac powinienem uzyc ioremap i poprzez readb / writeb i funkcje proc_read / proc_write we wpisie zwracac to do user space'a. Dobrze mysle?

Kolejna kwestia:
mmap. Czy tutaj tez powinienem uzyc ioremap, poprzez np. proc_fs zwrocic do user space'a zremapowany adres i dopiero jego mmapowac? Czy stworzyc device driver (znow ioremap) i na nim robic mmapa? Czy jak? Przyznam szczerze ze nie do konca rozumiem wywolania mmapa (vma itd).

Nastepnie:
Device driver. Czy tutaj tez musze ioremap zrobic i poprzez funkcje na read / write na /dev zrobic mniej wiecej to samo co z proc fs?

No i syscall. Z tego co slyszalem bede musial robic rekompilacje jadra, sam modul nie wystarczy, ale w to sie jeszcze zbytnio nie wczytywalem, wiec to na pozniej.

Z gory dzieki za odpowiedz i wskazowki.