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'

obțineți numele procesului _complet_ de la pid
Sunt într-un modul kernel și vreau să am întregul nume al procesului dintr-un pid dat. exact: vreau linia care este păstrată în /proc/PID/cmdline. Problema este că task_struct->comm[] are doar 15 octeți lungime și nu se ocupă dacă un program...
6907 vederi
schedule 23.02.2024

Citirea de pe un dispozitiv bloc în spațiul kernel
Scriu un modul kernel și trebuie să efectuez citiri de pe un dispozitiv bloc existent. (/dev/ceva). Știe cineva alte module care le fac pe care să le pot folosi ca referință? Orice indicații ar fi binevenite (Linux.2.6.30)
2592 vederi

Linux Kernel - regăsește în mod programatic numerele de bloc pe măsură ce sunt scrise
Vreau să mențin o listă de numere de bloc, așa cum sunt scrise fizic folosind sursa kernel-ului Linux. Plănuiesc să modific sursa nucleului pentru a face acest lucru. Trebuie doar să găsesc structura și funcțiile din sursa kernelului care se ocupă...
303 vederi
schedule 13.11.2022

Driver Linux phys_mem_access_prot nedefinit
Am un modul încărcat care trimite un avertisment despre phys_mem_access_prot când este construit sub Ubuntu 9.10 (Linux 2.6.31-22-server). [664] make -C /lib/modules/`uname -r`/build M=`pwd` make: Entering directory...
634 vederi
schedule 17.10.2022

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

Cât de strâns sunt legate de Mac OS X și BSD?
Am citit că Mac OS X și bsd sunt legate. Cât de strâns sunt legate. Software-ul Mac OS X poate fi modificat și instalat pe BSD?
65653 vederi

Unde se duce ieșirea tipăririi în nucleu?
Depanez un driver pentru Linux (în special serverul Ubuntu 9.04) și există mai multe instrucțiuni printf în cod. Unde pot vedea rezultatul acestor declarații? EDIT1: Ceea ce încerc să fac este să scriu în nucleu folosind sistemul de fișiere...
45458 vederi
schedule 23.02.2024

O citire arbitrară în spațiul de adrese kernel de către un fir de nucleu va genera panică?
După cum știm în spațiul utilizatorului, dacă un spațiu de adrese virtuale nu este încă alocat, dar este accesat, va apărea o eroare a paginii. Ce zici în spațiul kernel? De exemplu, vreau să rulez un fir de nucleu în Linux pentru a citi, naiv,...
268 vederi
schedule 21.12.2023

De ce este necesară metoda probei în driverele de dispozitiv Linux în plus față de init?
În nucleul Linux, ce face metoda probe() , pe care o oferă driverul? Cât de diferită este de funcția init a șoferului, adică de ce nu pot fi efectuate acțiunile cu probe() funcții în funcția init a șoferului?
67218 vederi
schedule 09.10.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

Reguli care permit reutilizarea portului local de către o aplicație
Pentru un server TCP cu următoarea structură: main(){ socket(); bind(); listen(); while(1){ accept(); fork(); if(child) Process; } } Acesta creează un nou socket pentru fiecare client și...
461 vederi
schedule 11.11.2023

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

Sincronizare thread @ Native Android
Windows CRITICAL_SECTION este implementat într-un mod mai ușor decât mutex (în ceea ce privește costul perf de blocare/deblocare) Prin utilizarea unui spinlock și a unui semafor pentru a reduce comutatoarele utilizator/kernel. Un mutex necesită o...
3257 vederi

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

Modul kernel pentru a obține jitter și lățime de bandă în rețea?
Trebuie să obțin o listă de interfețe pe mașina mea locală, împreună cu adresele lor IP, MAC-urile și un set de măsurători QoS (întârziere, fluctuație, rata de eroare, rata de pierdere, lățime de bandă)... Scriu un modul kernel pentru a citi aceste...
327 vederi

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

gdb pierde informații despre numărul de linie (pe modulele kernelului) după punctul de întrerupere
Conectez gdb la nucleul unei mașini virtuale și încerc să depanez modulul nucleului. Mă pot conecta la mașina virtuală. Am informații despre simboluri pentru codul kernelului și pot parcurge codul nucleului foarte bine. Când adaug fișierul simbol...
582 vederi
schedule 15.11.2023

Emularea kernelului cu Qemu
De fapt, încerc să emulez nucleul linux folosind Qemu și busybox. Până acum am făcut această imagine de kernel: http://depositfiles.com/files/l9x9veg09 și am lansat Qemu folosind aceste argumente: qemu-system-x86_64 -m 256 -s -hda rootfs.img...
3990 vederi
schedule 10.10.2023