Pytania otagowane jako linux-kernel

Ten tag jest przeznaczony na pytania dotyczące wewnętrznych elementów samego jądra Linuksa - w szczególności dotyczące pisania kodu działającego w kontekście jądra (np. Modułów jądra lub sterowników). Pytania dotyczące pisania kodu przestrzeni użytkownika w systemie Linux powinny być generalnie oznaczane jako [linux]. Ponieważ elementy wewnętrzne jądra Linuksa stale się zmieniają, pomocne jest uwzględnienie dokładnych wersji jądra, którymi jesteś zainteresowany.

5
Co jest ":-!!" w kodzie C?
Wpadłem na ten dziwny kod makra w /usr/include/linux/kernel.h : /* Force a compilation error if condition is true, but also produce a result (of value 0 and type size_t), so the expression can be used e.g. in a structure initializer (or where-ever else comma expressions aren't permitted). */ #define BUILD_BUG_ON_ZERO(e) …
1665 c  linux  macros  linux-kernel 

10
Jak działają prawdopodobne / mało prawdopodobne makra w jądrze Linuksa i jakie są ich zalety?
Przekopałem się przez niektóre części jądra Linuxa i znalazłem takie wywołania: if (unlikely(fd < 0)) { /* Do something */ } lub if (likely(!err)) { /* Do something */ } Znalazłem ich definicję: #define likely(x) __builtin_expect((x),1) #define unlikely(x) __builtin_expect((x),0) Wiem, że są do optymalizacji, ale jak działają? A o ile …


13
Jak testowane jest jądro Linux?
W jaki sposób programiści jądra Linux testują swój kod lokalnie i po jego zatwierdzeniu? Czy używają jakiegoś rodzaju testów jednostkowych, budują automatyzację? plany testowe?

3
Jaka jest teoretycznie maksymalna liczba otwartych połączeń TCP, jakie może posiadać nowoczesny system Linux
Zakładając, że wydajność sprzętu jest nieskończona, czy Linux może obsługiwać> 65536 otwierać połączenia TCP? Rozumiem, że liczba efemerycznych portów (<65536) ogranicza liczbę połączeń z jednego lokalnego adresu IP do jednego portu na jednym zdalnym adresie IP. Krotka (lokalny adres IP, port lokalny, zdalny adres IP, port zdalny) jest tym, co …

4
Zwiększenie maksymalnej liczby połączeń TCP / IP w systemie Linux
Programuję serwer i wygląda na to, że moja liczba połączeń jest ograniczona, ponieważ moja przepustowość nie jest nasycona, nawet jeśli ustawiłem liczbę połączeń na „nieograniczoną”. Jak mogę zwiększyć lub wyeliminować maksymalną liczbę połączeń, które może jednocześnie otwierać mój system Ubuntu Linux? Czy system operacyjny to ogranicza, czy jest to router …

6
Dlaczego Linux nazywa się monolitycznym jądrem?
Czytam, że Linux jest monolitycznym jądrem. Czy monolityczne jądro oznacza kompilowanie i łączenie całego kodu jądra z plikiem wykonywalnym? Jeśli Linux jest w stanie obsługiwać moduły, dlaczego nie rozbić wszystkich podsystemów na moduły i załadować je w razie potrzeby? W takim przypadku jądro nie musi początkowo ładować wszystkich modułów i …


2
Mierz czas w Linuksie - czas vs zegar vs getrusage vs clock_gettime vs gettimeofday vs timespec_get?
Wśród funkcji czasowych, time, clock getrusage, clock_gettime, gettimeofdayi timespec_getchcę, aby jasno zrozumieć, w jaki sposób są one realizowane i jakie są ich wartości zwracane w celu poznania, w którym sytuacja muszę ich używać. Najpierw musimy sklasyfikować funkcje zwracające wartości zegara ściennego względem funkcji zwracających wartości procesów lub wątków . gettimeofdayzwraca …
148 c  linux  time  linux-kernel 




7
Jaka jest różnica między vmalloc i kmalloc?
Przeszukałem go i zauważyłem, że większość ludzi opowiada się za używaniem kmalloc, ponieważ masz gwarancję, że otrzymasz ciągłe fizyczne bloki pamięci. Jednak wydaje się również, że kmallocmoże się nie powieść, jeśli nie można znaleźć ciągłego fizycznego bloku, którego chcesz. Jakie są zalety posiadania ciągłego bloku pamięci? W szczególności, dlaczego miałbym …


7
Co dzieje się z dojściem do otwartego pliku w systemie Linux, jeśli wskazany plik zostanie przeniesiony lub usunięty
Co dzieje się z dojściem do otwartego pliku w systemie Linux, jeśli w międzyczasie wskazany plik otrzyma: Usunięto -> Czy uchwyt pliku pozostaje ważny? Usunięte -> Czy prowadzi to do EBADF, wskazującego nieprawidłowy uchwyt pliku? Zastąpiony przez nowy plik -> Czy plik wskazuje na ten nowy plik? Zastąpiony przez twardy …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.