Я знаю, что есть контекст процесса и контекст прерывания, но я не понимаю при выполнении softirq или тасклета, в каком контексте он выполняется. Я видел, как некоторые люди использовали термин «дно -...
У меня есть некоторые сомнения относительно параллелизма потоков posix в многопроцессорной машине. Я нашел аналогичные вопросы в SO по этому поводу, но не нашел окончательного ответа. Ниже мое понимание. Я...
В чем разница ч/б __raw_readl/__raw_writel и readl/writel в ядре Linux? Говорят, что readl/writel безопаснее, чем __raw_readl/__raw_writel, тогда почему мы все еще используем __raw_readl/__raw_writel? ...
Я работаю над некоторыми новыми технологиями для обнаружения ядра Linux Linux в качестве моей диссертации. Мне нужен образец руткитов, чтобы протестировать мой метод, а также пройти тесты машинного обучения. Но не старый пыльный ...
Я новичок в ядре Linux и низкоуровневом программировании. Я хотел знать, как планировщик Linux должен быть O (1) по временной сложности. Я наткнулся на следующую статью, которая очень информативна, но ...
Я новичок в программировании ядра, поэтому я хотел бы узнать, какой стиль кодирования является более приемлемым. Например, в случае обработки ошибок, что из следующего лучше? Этот: / * некоторые ...
Сейчас я читаю книгу "Linux Kernel Development 3d Edition" Роберта Лава. Там он пишет про поток _info struct который содержит указатель на задачу _struct struct и, как я понял,...
Можем ли мы получить доступ к драйверу микрофона моего телефона Android с помощью Android NDK, если да, то как я могу? Можно ли отключить драйвер на какое-то время? Могу ли я определить имя приложения моего телефона, которое использует...
Я изучал вызов inotify, но все еще немного нестабилен, когда дело доходит до чтения интерфейс. Это наиболее подходящие ресурсы, которые я мог найти относительно того, как правильно взаимодействовать с inotify ...
Примечание :Я перечисляю эту проблему, как она есть на сегодняшний день, я не против изменения реализации (переноса создания класса в общую область например )если это упростит задачу... Я просто не...
Я хочу сгенерировать System.map из vmlinuz, потому что на большинстве машин нет файла System.map. Фактически, vmlinuz сжимается в vmlinuz или bzImage. Это любой инструмент или скрипт может это сделать? Пробовал :...
Я написал несколько модулей ядра на Аде и столкнулся с небольшой проблемой. Лицензия определяется как макрос c, и я не могу понять, что это такое на самом деле. Это подходящее решение, чтобы просто иметь некоторые c re -...
Я создаю модуль ядра, использующий интерфейс hrtimer. У меня модуль компилируется успешно, и у него есть МОДУЛЬ _ЛИЦЕНЗИЯ ("GPL" )set :make -C /lib/modules/3.0.0 -23 -server/ построить SUBDIRS=/...
Я не смог найти правильного ответа на следующие вопросы даже в некоторых хорошо написанных книгах по ядру :Они говорят, что ISR не может спать, потому что невозможно перепланировать ISR, поскольку это не так...
Я хочу смоделировать состояние iret на сервере Linux x86 _64. Я нашел три инструкции iret :размер операнда 16 iretd :размер операнда 32 iretq :размер операнда 64 Не могу отличить от...
Linux 3.4.6 определяет следующие макросы в arch/x86/include/asm/segment.h. Кто-нибудь может объяснить, почему макросы __USER добавляют 3 к определенной константе и почему этого не делается для макросов __KERNEL? #...
Я пишу драйвер устройства, который помимо всего прочего выделяет блок памяти с помощью kmalloc. Эта память освобождается, когда пользовательская программа закрывает файл. В одном из моих экспериментов пользовательская программа...
Я пытаюсь создать простой модуль ядра. Я пытаюсь напечатать сообщения в dmesg, но продолжаю получать insmod :init _модуль «hello.ko» не удалось (ошибка формата Exec )в android после :dmesg :неизвестно...
Я работаю над небольшой встроенной системой. Когда мой Linux загружается в пространство пользователя, я знаю, где в физической памяти находятся мои устройства. Я хочу сопоставить их с виртуальными адресами пользовательского пространства. В настоящее время
Есть ли способ одновременно установить приятное значение процесса и его сходство? Например :taskset -c 0,1 nice -20 proc Update :Работает так. Я думал, что это должно мне что-то более сложное.
У меня есть довольно большой модуль драйвера, который я пытаюсь скомпилировать для последнего ядра Linux (3.4.4 ). Я могу успешно скомпилировать и внедрить тот же модуль с ядром 2.6.27.25. Версия GCC также...
Как я читал, jiffies увеличивается на каждый тик таймера ISR таймера. Но в SMP все процессоры будут иметь свое собственное прерывание по таймеру и, следовательно, свои собственные ISR таймера. Итак, мой вопрос: :Является ли мигом...
Вот моя реализация спин-блокировки, но, похоже, она не может защитить критический код. Что-то не так с моей реализацией? статический __встроенный __int xchg _asm (int *lock, int val ){...
Как определить номер страничного кадра для памяти устройства? Из LDD3/гл. 15/ разделы "Использование диапазона переназначения _pfn _" и "Простая реализация", pfn был приравнен к полю vm _pgoff. Я...
Я использую Qemu, чтобы изучить разработку/взлом ядра Linux и хотел отладить процесс загрузки Linux (2.6.34.3 ). Я скомпилировал для универсальной платформы ARM и использую руку Codesourcerys -...
В обычном случае open ()возвращает новый файловый дескриптор или -1, если произошла ошибка, и в этом случае errno устанавливается соответствующим образом. Я не понимаю, почему здесь используется этот механизм errno?...
Я изменяю модуль kvm и добавляю операторы printk в код ядра. После запуска виртуальной машины printk дает мне адрес ошибки и другую информацию о гостевой ОС....
Я пишу модуль ядра, который использует ловушки Netfilter для изменения некоторой информации заголовка TCP, и, очевидно, перед отправкой я хочу повторно -вычислить контрольную сумму. Я также редактирую заголовок в...