Publicații conexe 'linux-kernel'


Cum să invocați funcții nereintrante cu semnale Linux?
O funcție este denumită reintratoare dacă poate fi invocată în siguranță (și fără efecte secundare) în mijlocul execuției sale. Unele aplicații cu un singur thread pot funcționa cu funcții care nu sunt reintrante. Deoarece majoritatea aplicațiilor nu gestionează semnale și nu au deloc funcții recursive de apel invers. Ar fi dificil să depanați codul dacă îl încărcați în Linux Kernel ca modul sau într-un sistem încorporat. În acest cod, funcția calculate este o funcție care nu..

Primul Candidat de lansare al nucleului Linux 6.1 este disponibil acum
După ce fereastra de îmbinare de două săptămâni care a început cu lansarea din 2 octombrie a nucleului Linux 6.0 s-a închis oficial, este timpul să aruncăm o privire asupra lansării majore iminente, nucleul Linux 6.1. Primul Release Candidate (RC) al nucleului Linux 6.1 este acum disponibil pentru descărcare pentru testeri, cei care adoptă timpuriu și utilizatorii de ultimă oră care doresc o prezentare a ceea ce va fi în versiunea finală, care este anticipată la începutul sau la..

Remediați gestionarea proastă a memoriei pe orice distribuție Linux
Pe scurt, am un laptop cu specificații decente IMO (i7 Gen 11 Series, 16 GB RAM, 32 GB SWAP, cu compresie lzo și 512 GB NVME), dar cumva stau ca pe un computer vechi, mă deranjează, mai ales când încerc să construiesc sau să compilez Android Project, de aceea am întrebat Google și chiar ChatGPT, dar nu îmi rezolvă problema, sistemul meu de operare continuă să se prăbușească, nici schimbarea mediului desktop nu ajută. Așa că mi-am aflat vechea setare în esență care ajută cu adevărat..

Studiu de caz: Blocajele de rețea pe un server Linux: Partea 2 — Kernelul
Studiu de caz: Blocajele de rețea pe un server Linux: Partea 2 — Kernelul În articolul precedent am trecut peste câteva potenţiale blocaje legate de NIC-ul în sine. În acest articol, vom analiza câteva dintre modificările kernelului care pot fi utile și efectul pe care îl poate avea asupra traficului de rețea. Seria este împărțită în (probabil) aceste patru părți: „Partea 1: NIC” Partea 2: Kernel-ul (acest articol) Partea 3: întreruperi Partea 4: Merg mai departe În..

Întrebări înrudite 'linux-kernel'

Există restricții de memorie pentru modulele Linux Kernel?
Există restricții privind utilizarea memoriei de către un modul Linux Kernel, adică dimensiunea segmentului de cod sau cantitatea de memorie globală sau orice altceva.
901 vederi
schedule 09.08.2022

Cum se creează un nod de dispozitiv din codul init_module al unui modul kernel Linux?
Scriu un modul pentru nucleul linux și vreau să creez câteva noduri de dispozitiv în funcția init int init_module(void) { Major = register_chrdev(0, DEVICE_NAME, &fops); // Now I want to create device nodes with the returned major number...
55086 vederi
schedule 27.06.2022

Kmalloc nu funcționează corect
Am niște probleme cu acest apel de sistem și probabil cu kmalloc. Ei bine, practic, construiesc un apel de sistem, iar acest apel de sistem și nucleul sunt compilate fără probleme. Dar când îmi apelez apelul de sistem, shell-ul afișează o mulțime...
1104 vederi
schedule 12.08.2022

Există explicații bune pentru programatorii de nucleu?
Recent, am început să mă întreb despre programatorii de kernel și altele. Există vreo resursă care oferă o prezentare generală a algoritmului de programare a nucleului utilizat în mod obișnuit? Programatorul CFS are o mulțime de literatură despre...
237 vederi
schedule 19.08.2022

Dezvoltarea driverelor de dispozitiv în Linux
Intenționez să învăț Linux încorporat și să scriu drivere de dispozitiv Linux. După ce am citit despre driverele de dispozitiv și am parcurs câteva tutoriale, sunt puțin confuz cu privire la sursa kernelului care va fi folosită pentru compilare....
890 vederi
schedule 15.07.2022

Netfilter din modulul Kernel provoacă blocarea sistemului meu
Am scris acest modul Kernel și de fiecare dată când îl încarc, se blochează întregul sistem (chiar și LED-urile tastaturii încep să clipească) Iată codul a ceea ce fac: /* Coder: Adel *. ****** Creation Date: April/5th/2012 Last...
1127 vederi
schedule 18.07.2022

cum se convertesc dublu între gazdă și ordinea octeților de rețea?
Ar putea cineva să-mi spună cum să convertesc precizia dublă în ordonarea octeților de rețea. am incercat uint32_t htonl(uint32_t hostlong); uint16_t htons(uint16_t hostshort); uint32_t ntohl(uint32_t netlong); uint16_t ntohs(uint16_t netshort);...
11747 vederi

Încercarea de a porta GCC asm specific merge la Clang
Am încercat să transform un pic de extensii GNU în standardul C real, astfel încât să ruleze pe clang, cunoscând standardul C și nu extensiile GNU, sunt puțin în pierdere. __asm__ (goto("1:" STATIC_KEY_INITIAL_NOP...
3489 vederi
schedule 02.07.2022

rezolvarea redefinirii timespec-ului în timp.h
Scriu un program care include atât /usr/include/linux/time.h cât și /usr/include/stdlib.h. Problema este că: stdlib.h include /usr/include/time.h , care definește „ struct timespec' , iar /usr/include/linux/time.h definește, de...
10350 vederi
schedule 23.08.2022

Cum sunt implicate antetele nucleului în construirea lanțului de instrumente gcc?
Am aflat că anteturile nucleului specifică modul în care programele pot interacționa cu nucleul, deci trebuie să fie implicate în construirea bibliotecii standard, sau? Tocmai am citit un tutorial care explică destul de bine cum să construiești un...
1913 vederi
schedule 10.09.2022

Cum să găsiți procesul proprietar al unui inod deschis în nucleul Linux?
Având în vedere un număr de inod (un soclu deschis), vreau să găsesc procesul care a deschis soclu-ul, este posibil? Există vreo funcție pe care aș putea folosi?
1531 vederi
schedule 12.07.2022

Cum să goliți memoria cache unificată / cache de date în ARM pe baza VA
Am găsit acest MCR p15, 0, Rd, c7, c5, 1 Dar dacă am o adresă VA - 0x40008000 cum să setez Rd?
189 vederi
schedule 26.07.2022

Iptables: Pachete de potrivire care părăsesc o interfață cu punte
Îmi cer scuze dacă ați văzut deja acest lucru pe serverfault, dar există de câteva zile și nu am avut absolut nicio tracțiune... Construiesc un instrument de configurare a paravanului de protecție bazat pe iptables și încerc să funcționeze un...
2241 vederi
schedule 23.09.2022

Ce bloc de cod din nucleu scrie în /proc când este creat/șters un nou proces?
Știu că ori de câte ori un proces este creat/distrus, în /proc este creat un director care conține toate informațiile legate de proces care sunt actualizate dinamic. Aș dori să știu unde în nucleu este linia de cod care: 1. Creează un director...
83 vederi
schedule 18.09.2022

Cum accesează procesorul Intel bufferul Branch Trace Store?
Procesorul Intel dispune de Branch Trace Store (BTS), care înregistrează ramurile și le stochează în buffer-ul specificat de utilizator/program. De fapt, mă întreb dacă procesorul accesează buffer-ul BTS prin unitatea MMU (tabelul de pagini) sau doar...
785 vederi
schedule 18.09.2022

Nu se poate compila modulul kernel pentru BeagleBone Debian
Urmăresc ghidul Derek Molloys pentru a construi module de nucleu încărcabile, dar rămâneți blocați la anumite puncte. Am codul nucleului într-un fișier .c: hello.c #include <linux/init.h> // Macros used to mark up...
1149 vederi

Ce este parametrul modului silențios de pornire Kernel?
Acest fișier de configurare poate fi găsit sub /boot/grub/grub.conf . Mă întreb ce înseamnă quiet în acest fișier de configurare. kernel /vmlinuz-2.6.32-71.29.1.el6.i686 ro root=UUID=977d4c1d-6127-409f-b53a-694c17e13d90 rd_NO_LUKS rd_NO_LVM...
802 vederi
schedule 11.09.2022

înregistrați un handler de protocol pentru un protocol de transport în nucleul Linux
Încerc să implementez protocolul QUIC în nucleul Linux. Deoarece QUIC lucrează pe baza UDP, am folosit codul UDP ca bază de învățare. Acum vreau să înregistrez handlerul de protocol pentru protocolul QUIC, dar nu înțeleg cum și unde să o fac,...
549 vederi

Modulul kernel Linux - deschiderea dispozitivului char creat are ca rezultat o eroare
Tocmai am început să citesc Ldd3 și am încercat să implementez un modul simplu, mai mult sau mai puțin urmând exemplele din carte. Modulul adaugă dispozitivului char cu fops personalizate (funcții goale) la kernel. Modulul se încarcă fără probleme,...
503 vederi

De ce nu ar trebui să folosesc ioremap pe memoria sistemului pentru ARMv6+?
Trebuie să rezerv un buffer mare de RAM fizic contiguă de la nucleu și să pot garanta că tamponul va folosi întotdeauna o adresă fizică specifică, codificată. Acest buffer ar trebui să rămână rezervat pentru întreaga durată de viață a nucleului. Am...
2437 vederi