Публикации по теме 'linux-kernel'
Я имею в виду загрузку в ядро Linux.
Итак, я собираюсь прочитать книгу под названием Понимание ядра Linux, написанную Дэниелом П. Бове и Марко Чезати , которую мне рекомендовал г-н. Маниш Кумар Бходжасиа , руководитель учебного заведения под названием Sanfoundry , его курс впервые познакомил меня с этим предметом. Как работают операционные системы, это всегда было в моей голове, когда я сталкивался с некоторыми нерасшифровываемыми журналами, когда я был администратором Linux.
Поэтому я собираюсь перевести здесь свое..
7 шагов, которым я следую для разработки драйвера устройства
7 шагов, которым я следую для разработки драйвера устройства
За годы работы в области разработки программного обеспечения, а затем перехода к поддержке клиентов в разработке приложений программного обеспечения, я либо разрабатывал драйверы устройств с нуля, либо изменял существующее программное обеспечение драйверов устройств для клиента или конкретного варианта оборудования.
Я заметил, что этапы разработки драйвера устройства остаются одинаковыми для любого устройства в любой ОС,..
Вопросы по теме 'linux-kernel'
Как создать запись в proc в / proc / driver?
Я хочу создать файл в каталоге /proc/driver . Я хотел бы использовать макрос, например proc_root_driver (или что-то еще, предоставленное), а не использовать явно "driver / MODULE_NAME". Я использую create_proc_entry :
struct proc_dir_entry...
12339 просмотров
schedule
16.04.2024
Можно ли узнать, находится ли процесс в заблокированном состоянии при вызове Receive() в Linux?
Моя основная цель — выполнять процессы один за другим в циклическом режиме, пока один из них не вызовет Receive() и не будет заблокирован, чтобы выполнение переключилось на следующий процесс в очереди. Существует приложение контроллера,...
778 просмотров
schedule
15.02.2024
linux netfilter передает содержимое пакета в приложение сокета пользовательского пространства
Я хочу написать Linux 2.6 netfilter module , который может проверять информацию о входящем IP пакете, такую как IP-адрес назначения, IP-адрес источника. После этого передайте эту информацию в приложение user space , которое (т.е. приложение...
3097 просмотров
schedule
13.12.2023
Куда исчезло поле владельца структуры proc_dir_entry? [Ядро Linux]
Согласно списку изменений API в серии ядра 2.6 на LWN поле .owner struct proc_dir_entry был удален в ядре 2.6.30.
Итак, вот пара вопросов:
Было ли действительно когда-либо необходимо или полезно устанавливать это поле?
Поле было...
3982 просмотров
schedule
17.09.2022
debugfs_create_file не создает файл
Я пытаюсь создать файл debugfs, используя команду debugfs_create_file(...). Я написал пример кода для этого.
static int __init mmapexample_module_init(void)
{...
2887 просмотров
schedule
25.11.2022
Отладка зависания ядра
Я пытаюсь запустить приложение, использующее драйвер режима ядра. Система зависает каждый час, и единственный способ восстановить ее — полный сброс. Sysrq перестает отвечать на запросы, сеансы telnet зависают, сообщений об ошибках нет. К сожалению,...
4561 просмотров
schedule
13.11.2023
spin_lock на не приоритетных ядрах Linux
Я читал, что в системе с 1 ЦП и не приоритетным ядром Linux (2.6.x) вызов spin_lock эквивалентен пустому вызову и, таким образом, реализован таким образом.
Я не могу этого понять: разве это не должно быть эквивалентно сну на мьютексе? Например,...
3306 просмотров
schedule
15.11.2023
Компиляция программы для пользовательского режима Linux
Я только что реализовал «псевдо» драйвер устройства и хочу его протестировать. Что я могу сделать в качестве теста, это просто:
echo "something"> /dev/mydev
cat /dev/mydev
Мой драйвер поддерживает более продвинутый функционал и я...
638 просмотров
schedule
20.03.2024
Кэш страниц для общей памяти
По следующей ссылке на 4-м изображении сверху:
http://duartes.org/gustavo/blog/post/page-cache-the-affair-between-memory-and-files
Изображенный сценарий представляет собой сценарий двух процессов, «рендеринга» и «3drender», совместно...
1371 просмотров
schedule
29.10.2022
LINUX: порядок загрузки статически связанных модулей
Если у меня есть два модуля, которые статически связаны. Функция module_init одного модуля зависит от уже запущенной функции module_init другого модуля. Есть ли способ заставить один модуль загружаться раньше другого?
Кроме того, гарантировано ли...
5567 просмотров
schedule
27.02.2024
Отображение прерываний DMA в ядре Linux
Я пишу модуль ядра для PowerPC SoC, который содержит контроллер DMA. Я хочу сопоставить прерывания DMA в ядре Linux. моя структура DMA имеет два прерывания:
struct dma
{
u32 dma1;
u32 dma2;
}*dma;
Я сопоставил структуру памяти с DMA в...
3466 просмотров
schedule
17.10.2022
Вопрос по реализации page_address()
На машинах x86 с highmem, когда ядро хочет запросить виртуальный адрес ядра физического фрейма, оно будет использовать page_address . Как это работает, зависит от того, определен ли макрос WANT_PAGE_VIRTUAL, который решает, будет ли добавлено...
588 просмотров
schedule
07.11.2022
kmalloc снова и снова возвращает один и тот же адрес [Linux 2.4]
Я работаю над некоторым кодом в ядре Linux (2.4), и по какой-то причине kmalloc возвращает тот же адрес (я думаю, это происходит только после середины теста). Я проверил, что между вызовами kmalloc не было обращений к kfree (т.е. память все еще...
359 просмотров
schedule
10.12.2023
есть ошибки для замены функции ядра Linux
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/types.h>
#define CODESIZE 7
static unsigned char original_code[CODESIZE];
static unsigned char jump_code[CODESIZE] =...
792 просмотров
schedule
17.11.2023
Помощь с функциями APIC в Linux
Я пытаюсь поиграть с локальными функциями APIC в ядре Linux 2.6.32.40, но у меня возникают некоторые проблемы. Я хочу попытаться отправить немаскируемые прерывания (NMI) на все процессоры в моей системе (я использую Intel i7 Q740). Сначала я...
1039 просмотров
schedule
26.03.2024
системный вызов для уничтожения процесса внутри ядра Linux
Я начал с программирования ядра и хотел бы убить группу задач. Я хочу знать, какой системный вызов использовать.
У меня уже есть current->tgid и current->pid, но как мне запустить процесс внутри ядра??
Спасибо
1776 просмотров
schedule
12.12.2023
Понимание планировщика Linux
Я новичок в ядре Linux и низкоуровневом программировании. Я хотел знать, как планировщик Linux должен быть O (1) по временной сложности.
Я наткнулся на следующую статью, которая очень информативна, но у меня возникли проблемы с пониманием...
1430 просмотров
schedule
22.10.2023
Получить поля atime, mtime, ctime с точностью до наносекунды для файла (статистика?)
Некоторые файловые системы (например, ext4 и JFS) предлагают наносекундное разрешение полей atime/mtime. Как я могу прочитать поля ns-разрешения? stat системный вызов возвращает time_t , что второе разрешение.
4823 просмотров
schedule
07.02.2024
Как найти сходство потоков в Linux, кроме использования маски сходства?
У нас есть встроенный 2-ядерный процессор MIPS под управлением SMP Linux (2.6.18).
Мы планируем назначить привязку основных потоков графического интерфейса к одному из двух ядер, а другое ядро будет использоваться для обработки пути к...
946 просмотров
schedule
23.04.2024
copy_from_user не работает для char*
Я немного новичок в программировании ядра, поэтому, пожалуйста, извините за вопрос. По сути, я хочу отправить строку (char*) в модуль ядра для распечатки. Довольно просто.
У меня есть следующее в коде уровня пользователя:
char *text = "some...
3419 просмотров
schedule
11.02.2024