Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: kernel-user space - komunikacja  (Przeczytany 2609 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.