Wstęp


Urządzenie mem jest to urządzenie znakowe o numerze głównym 1. Realizuje ono pewien zestawem urządzeń (o różnych numerach podrzędnych):
  • mem (minor=1) dostęp do pamieci.
  • kmem (minor=2) dostęp do pamięci wirtualnej jądra.
  • null (minor=3) urządzenie które czyta wszystko a nic nie zwraca.
  • port (minor=4) dostęp do portów.
  • zero (minor=5) zwraca zera, czta wszystko.
  • full (minor=7) zwraca zera, przy próbie zapisu zwraca błąd braku miejsca.
  • random (minor=8) synchroniczny generator liczb losowych.
  • urandom (minor=9) asynchroniczny generator liczb losowych.

Otwarcie któregoś z tych urządzeń przechodzi przez funkcję memory_open. Jest to jedyna funkcja zdefiniowana w strukturze operacji na urządzeniu (fops), którą podajemy podczas rejestracji urządzenia. Dopiero w tej funkcji podmieniana jest struktura operacji na strukturę odpowiadającą poszczególnym urządzeniom, i jeśli jest zdefiniowana, w nowej strukturze, funkcja open to jest ona wywoływana.
Urządzenia: mem, kmem, null, port, zero, full zdefiniowane są w pliku mem.c, natomiast random i urandom w pliku random.c.

Wstecz Tomasz Wadowski Dalej