Публикации по теме '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 просмотров

Кэш страниц для общей памяти
По следующей ссылке на 4-м изображении сверху: http://duartes.org/gustavo/blog/post/page-cache-the-affair-between-memory-and-files Изображенный сценарий представляет собой сценарий двух процессов, «рендеринга» и «3drender», совместно...
1371 просмотров

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 просмотров

системный вызов для уничтожения процесса внутри ядра 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 просмотров

copy_from_user не работает для char*
Я немного новичок в программировании ядра, поэтому, пожалуйста, извините за вопрос. По сути, я хочу отправить строку (char*) в модуль ядра для распечатки. Довольно просто. У меня есть следующее в коде уровня пользователя: char *text = "some...
3419 просмотров
schedule 11.02.2024