Свързани публикации 'kernel'
Linux адресно пространство
Linux процесите взаимодействат с виртуалната памет, а не с физическата памет. Всеки процес има представа, че е единственият процес, работещ в системата и следователно има неограничен достъп до паметта, присъстваща в системата.
Различни процеси може да имат едно и също адресно пространство на виртуална памет, но то не се сблъсква, защото ядрото се грижи за съпоставянето на виртуалната към физическата памет. Пример, когато даден процес може да се наложи да споделя виртуалната си памет, е..
Свързани въпроси 'kernel'
Как ядрото проследява кои процеси получават данни от прекъсване?
В превантивно ядро (да речем Linux), да кажем, че процес A прави повикване до getc на stdin , така че е блокиран в очакване на символ. Чувствам, че имам основно неразбиране как ядрото знае тогава да събуди процес A в този момент и да достави...
108 изгледи
schedule
17.09.2022
Разпределение на паметта за процесите на Kernel Space и User Space
Is there any difference between kernel space & user space MEMORY ALLOCATIONS?
From which region of memory they get allocated.
Може ли някой да даде някои насоки по този въпрос?
Благодаря.
С Най-Добри Пожелания,
Сандип Сингх
1511 изгледи
schedule
10.10.2022
Как точно се определя и разпределя количеството пространство, разпределено за пакет skb, който трябва да бъде предаден?
Доколкото разбирам, когато буферът на сокет (skb) е разпределен от стека на ядрото (по пътя на Tx), указателите „head“ и „tail“ сочат към началото и края на запазеното пространство в паметта.
Въпросът ми е: какво точно определя това количество:...
756 изгледи
schedule
06.10.2022
Трябва да проследя ядрото си във FreeBSD. То блокира при зареждане, защото сменям планировчика. Как да направя това?
Модифицирам моя планировчик и това го кара да блокира (защото не мога да го внедря правилно и не вземам неща, които хвърлям в опашките). Така че се опитвам да видя докъде ще стигне. Как да запиша неща в журнал и след това как да прочета този журнал,...
43 изгледи
schedule
05.10.2022
Кеш на страницата за споделена памет
В следната връзка в рамките на 4-то изображение отгоре:
http://duartes.org/gustavo/blog/post/page-cache-the-affair-between-memory-and-files
Изобразеният сценарий е този на два процеса, "render" и "3drender", споделящи файл. Авторът описва...
1371 изгледи
schedule
29.10.2022
достъп до стека на ядрото на процес, даден идентификационен номер на процеса при отстраняване на грешки в ядрото
Имам linux, работещ на VMWare, и използвам gdb в хост машината, за да се прикача към него при отстраняване на грешки. Докато работи, моето ядро ще доведе до увисване на някои от процесите и бих искал да проуча повече.
Това, което ядрото ми дава,...
1294 изгледи
schedule
17.10.2022
Как да изброим всички отворени манипулатори на определен процес в ядрото (Windows)
Имам драйвер на ядрото. Как мога да изброя всички отворени манипулатори на определен процес в моя драйвер на ядрото? Искам да затворя тези дръжки.
Благодаря!
2989 изгледи
schedule
30.10.2023
list_empty функция свързан списък с ядрото
list_empty() функцията е дефинирана в ./include/linux/list.h и нейната дефиниция е
static inline int list_empty(const struct list_head *head)
{
return head->next == head;
}
list_head структурата на данните се дефинира като...
5207 изгледи
schedule
02.11.2023
Има ли безопасен начин за извикване на gettimeofday() от нишка в реално време на Xenomai?
Пускам нишка в реално време на Xenomai, която понякога трябва да извика gettimeofday(), за да разбере какво е текущото време според ptpd.
Това обаче изглежда не е безопасно: по-специално понякога поставя нишката на Xenomai и ядрото на Linux в...
1199 изгледи
schedule
11.11.2023
Компилиране на крос-компилатор за компилиране на ядро с помощта на MinGW
Търся начин да компилирам ядро и микро-ОС, написани от любители, на Windows, досега съм намирал предимно съвети за „изградете кръстосано компилатор“ във всички форуми и други подобни места. За съжаление ми липсват знанията да го направя точно сега,...
1526 изгледи
schedule
06.11.2023
Как да управлявате кръпките за проекти с отворен код, които не могат да се насочат към upstream?
Работя върху проект с отворен код. Сега завърших няколко кръпки, които са свързани с бизнеса на компанията, и не мога да прокарам тези кръпки нагоре по веригата.
Така че трябва да пазя тези корекции в моето локално git хранилище. Трябва да...
1150 изгледи
schedule
24.10.2022
Как може да се получи името на начален адрес на процес, както се прави в Process Explorer?
Добре, пиша приложение, предназначено да изброява нишки в даден процес, точно както прави Process Explorer. Наясно съм, че това потенциално ще се счупи между различните версии на Windows, тъй като разчита на "неофициални" API като...
1580 изгледи
schedule
25.11.2023
Как да различим USB и (S)ATA устройство в структурата scsi_device на ядрото?
Според структурата на ядрото struct scsi_device , използвано от SCSI драйверите (ядро 2.6.23):
http://lxr.linux.no/linux+v2.6.23/include/scsi/scsi_device.h#L49
Има ли надежден метод за разграничаване дали устройството е USB или ATA устройство?
366 изгледи
schedule
25.11.2023
все още липсва версия.h, когато се направи include/linux/version.h
Ще компилирам изходния код в linux за моя ethernet atheros ar8152 и ще изисквам изходен код на ядрото за него. Така че получавам източник, като напиша apt-get install apt-get install kernel-source-2.6.32. след това cd /usr/src tar -jxvf...
5513 изгледи
schedule
24.11.2023
Как ОС открива хардуера?
OS получава ли тази информация от BIOS или сканира сама шините, за да открие какъв хардуер е инсталиран в системата. След като разгледах онлайн, различни източници казват различни неща. Някои казват, че BIOS открива хардуера и след това го съхранява...
8850 изгледи
schedule
26.10.2022
Модифициране и повторно компилиране на изходния код на ядрото на Linux
Модифицирам изходния код на ядрото (/linux/net/mac80211/mesh_hwmp.c), за да добавя известно удостоверяване на подписа към рамките за маршрутизиране. След като модифицирам изходния код, трябва ли да създам и инсталирам ядрото отново, за да влязат в...
1996 изгледи
schedule
28.10.2023
как да измерим потреблението на процесора на процеса?
Имам случай, в който процес е разклонен() в силно натоварена система. Искам да знам дали процесът е започнал да работи (започнал е да консумира процесор). Трябва да наблюдавам потреблението на процесора на този дъщерен процес от родителския процес....
85 изгледи
schedule
18.11.2023
Printk за плаващи стойности в ядрото
Има ли начин да регистрирате/отпечатате плаващите стойности вътре в ядрото. Зависи ли от FPU, на който работи ядрото?
Докато компилирам printk(KERN_DEBUG "error = %f " ,floatvalue) , получавам грешката:
недефинирана препратка към __aeabi_f2d
2957 изгледи
schedule
29.10.2022
Защо стекът трябва да бъде подравнен по страниците?
В Linux се опитах (само за забавление) да модифицирам източника на ядрото в process.c, за да създам адрес на стека, който има повече ентропия, т.е. по-специално реда:
sp -= get_random_int() % 8192;
Когато променя това твърде много, ядрото...
305 изгледи
schedule
02.12.2023
Свързан списък с ядрото на Linux
Опитвам се да използвам реализацията на Linux Kernel Linked List, но не мога да компилирам. Следя точно тези източници без резултати ( http://www.roman10.net/linux-kernel-programminglinked-list/ и http://kernelnewbies.org/FAQ/LinkedLists )...
7779 изгледи
schedule
30.11.2023