Pytania oznaczone «kernel»

103
Do czego służy __gxx_personality_v0?

To pytanie z drugiej ręki z witryny programistycznej systemu operacyjnego, ale zaciekawiło mnie, ponieważ nigdzie nie mogłem znaleźć przyzwoitego wyjaśnienia. Podczas kompilowania i linkowania wolnostojącego programu w C ++ przy użyciu gcc, czasami pojawia się taki błąd...

101
Co oznacza [N… M] w inicjalizatorach agregacji C?

Z linii sys.c 123: void *sys_call_table[__NR_syscalls] = { [0 ... __NR_syscalls-1] = sys_ni_syscall, #include <asm/unistd.h> }; sys_call_tablejest ogólnym wskaźnikiem do tablic, widzę to. Jednak jaka jest notacja: [0 ... __NR_syscalls-1] Co to jest ...? EDYCJA: Nauczyłem się...

99
Odczyt / zapis plików w module jądra Linuksa

Znam wszystkie dyskusje o tym, dlaczego nie powinno się czytać / zapisywać plików z jądra, zamiast tego jak używać / proc lub netlink do tego. Mimo wszystko chcę czytać / pisać. Przeczytałem także Driving Me Nuts - Things You Never Powinieneś robić w jądrze . Jednak problem polega na tym, że...

97
Co to jest? = W Makefile

KDIR ?= $(shell uname -r) Jakie jest znaczenie ?=? Mam rozumieć różnicę między :=, +=a =od innego wątku dostępnych w przepełnienie stosu, ale nie może znaleźć wytłumaczenie ?=.

89
Co to jest VDSO i VSYSCALL?

Zrobiłem sudo cat /proc/1/maps -vv Próbuję zrozumieć dane wyjściowe.Widzę, jak wiele bibliotek współdzielonych jest mapowanych na segment mapowania pamięci zgodnie z oczekiwaniami. 7f3c00137000-7f3c00179000 r-xp 00000000 08:01 21233923

86
Obraz vs zImage vs uImage

Jaka jest różnica między nimi? Wiem, że u-boot potrzebuje jądra w formacie uImage. System, którego używam, najpierw uruchamia się z programu ładującego etapu 1, a następnie wywołuje u-boot. Chcę odrzucić u-boot i uruchomić bezpośrednio z programu ładującego etapu 1. Jakiego typu obrazu jądra...

84
Zrozumienie makra container_of w jądrze Linuksa

Kiedy przeglądałem jądro Linuksa, znalazłem container_ofmakro, które jest zdefiniowane w następujący sposób: #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) Rozumiem, co robi...

82
Wybieranie harmonogramu we / wy systemu Linux

Czytałem, że podobno możliwa jest zmiana harmonogramu I / O dla konkretnego urządzenia w działającym jądrze, zapisując do / sys / block / [dysk] / queue / schedule. Na przykład widzę w moim systemie: anon@anon:~$ cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] że...