On Thu, Nov 18, 2004 at 08:54:29PM +0100, Michal Kochanowicz wrote: > On Thu, Nov 18, 2004 at 08:11:20PM +0100, havner wrote: > > Nie uzywaj, nikt nie kaze, masz zawsze *BSD. > > Jedyne co mnie w tej chwili powstrzymuje od zainstalowania BSD to > niestrawny dla mnie system portów. > > > Tak, kto powiedzial, ze kernel _musi_ miec te same naglowki co > > wykorzystywane przez userspace? > > Nagłówki opisują interfejs.
Tak. Nagłówki jądra opisują interfejs wewnątrz jądra - zawierają definicje funkcji - które można wywoływać z poziomu jądra/modułów i tylko stamtąd - oraz używane przez nie definicje stałych i struktur. Interfejs między przestrzenią użytkownika a jądrem jest inny - syscall, dev, ioctl, procfs, sysfs, selinuxfs etc. Tylko część stałych i struktur jest ta sama[1]. > Jeśli program z userspace chce gadać z > kernelem to powinien mieć te same - bo się nie dogada. Porównaj <linux/i2c.h> z jąder 2.6.x i <linux/i2c-dev.h> z linux-libc-headers. W tym pierwszym są deklaracje extern wewnętrznych funkcji jądra - żaden program userspace się w ten sposób z jądrem nie dogada. W tym drugim z kolei są wywołania ioctl - dla programów userspace, całkowicie zbędne dla kodu w jądrze. [1] docelowo plany są takie, żeby te wspólne definicje wydzielić do jakichś nagłówków "Linux ABI", wspólnych dla jądra i userspace - które to z kolei byłyby używane przez resztę nagłówków (już oddzielnych dla obu przestrzeni) oraz kod. Ale tego nikt jeszcze nie zrobił od początku istnienia Linuksa. Na LKML coś mruczeli o zaczęciu przy okazji 2.7. -- Jakub Bogusz http://cyber.cs.net.pl/~qboosh/ _______________________________________________ pld-devel-pl mailing list [EMAIL PROTECTED] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
