Вопросы по теме 'linux-kernel'
Как очистить кеши, используемые ядром Linux
Я хочу заставить ядро Linux выделять больше памяти приложениям после того, как кеш начинает занимать слишком много памяти (как видно из вывода «бесплатно»).
Я бегал
sudo sync; sudo sysctl -w vm.drop_caches=3; free
(чтобы освободить как...
35872 просмотров
schedule
24.05.2022
Упс: доступ ядра к плохой области, sig: 11 - 'swapper' - уничтожение обработчика прерываний
Во встроенной среде Linux (настроенная 2.4.25 на PowerPC) я получаю следующую панику ядра через несколько часов:
Oops: kernel access of bad area, sig: 11
NIP: C9471C7C XER: 20000000 LR: C0018C74 SP: C0198E20 REGS: c0198d70 TRAP: 0800 Not...
9682 просмотров
schedule
02.08.2023
Могу ли я заменить функцию ядра Linux на модуль?
Я занимаюсь ядром для небольшого летнего исследования. Мы планируем внести изменения в TCP в конкретных расчетах RTT. Я бы хотел заменить разрешение одной из функций в tcp_input.c на функцию, предоставляемую динамически загружаемым модулем ядра. Я...
9656 просмотров
schedule
21.02.2022
Как изменить структуру sk_buff
Мне нужно написать модуль vpn. Прежде всего, я написал модуль ядра, который модифицирует все входящие и исходящие TCP-пакеты. Он использует хуки netfilter. Для входящих пакетов я изменил байты между указателями (struct sk_buff)->data и...
1358 просмотров
schedule
21.06.2022
printk - отображается в журнале сообщений, но не отображается в терминале для любого уровня журнала ядра
Я делаю некоторую модификацию ядра и пытаюсь заставить printk выводить информацию обратно на консоль. Я передаю с ним любой уровень журнала ядра и не получаю должного ответа на консоль даже для самых высоких уровней журнала.
Я проверил, и текущая...
5483 просмотров
schedule
06.06.2022
Могу ли я использовать strtok() в модуле ядра Linux?
Мне нужно выполнить синтаксический анализ данных, записанных в мой модуль, и использование функции strtok() из string.h было бы полезно. Однако я пробовал
#include <string.h>
и
#include <linux/string.h>
без успеха. Это...
13936 просмотров
schedule
05.12.2022
Измерение статистики процессов в Linux
Я создаю программное обеспечение для соревнований по программированию. Программа пользователя принимается нашей системой оценивания и оценивается путем ее компиляции и запуска с помощью функций fork() и exec(). Родительский процесс ожидает...
1597 просмотров
schedule
03.05.2023
вложенная страничная ошибка адреса пользовательского пространства в Linux
Я хотел бы знать, является ли функционально неправильным сбрасывать страницу с ошибкой адреса пользовательского пространства, когда ядро запускает обработчик сбоев для ввода пользовательской страницы.
ОС - Linux 2.6.30
Предположим, что оба...
761 просмотров
schedule
01.11.2023
Ядро Linux — обновление кэша Dentry VFS
Я написал системный вызов, который открывает каталог и получает файловый объект и структуру dentry. Я пытаюсь перечислить все записи, включая записи в подкаталогах, используя макрос list_for_each(). Проблема в том, что он отображает только то, что в...
792 просмотров
schedule
24.08.2022
Блокировка системных вызовов без другой нагрузки в системе (ядро Linux)
Если в системе есть только одно работающее приложение (и по умолчанию 100 спящих процессов), и оно выполняет блокирующий системный вызов (мне интересно блокировать recv или блокировать чтение). Удалит ли ядро Linux это приложение из указателя...
121 просмотров
schedule
25.02.2023
Несовместимость версии module_layout
Я пытаюсь модифицировать устаревший модуль ядра Linux, портируемый мной. Появляются следующие ошибки:
> sudo insmod camac-mx.ko
insmod: error inserting 'camac-mx.ko': -1 Invalid module format
dmesg |tail -n 1
[1312783.938299] camac_mx:...
91685 просмотров
schedule
20.07.2022
inode_operations, предупреждение: инициализация из несовместимого типа указателя
Я пытаюсь скомпилировать простую программу ядра, которая читает и записывает из файла proc.
Я пытаюсь установить разрешение для этого файла, переопределив разрешение fp в структуре inode_operations (.permission)
static int...
2244 просмотров
schedule
16.07.2023
Пользователь в режиме ядра большую картину?
Я должен реализовать символьное устройство, LKM.
Я знаю некоторые основы ОС, но чувствую, что у меня нет общей картины.
В программе C, когда я вызываю системный вызов, я думаю, что происходит то, что процессор изменяется на ring0, затем...
317 просмотров
schedule
16.09.2022
Книги по реализации протокола транспортного уровня в компьютерных сетях
Я пытаюсь реализовать протокол транспортного уровня для своего проекта. Я собираюсь использовать Linux в качестве операционной системы. Не могли бы вы предложить мне несколько книг или ссылок, объясняющих реализацию транспортного уровня (например,...
1125 просмотров
schedule
06.12.2023
Совместное использование spinlock и cli
Недавно я загрузил исходный код Linux с http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.1.tar.bz2 . Я наткнулся на абзац ниже в файле spinlocks.txt в папке linux-2.6.34.1 \ Documentation.
"это действительно означает, что если у вас...
1158 просмотров
schedule
06.07.2023
Исторический репозиторий ядра Linux с полной историей
Думаю, многим разработчикам нравится исследовать исходники с помощью git gui blame . Как объясняется в фиксации для Linux- 2.6.12-rc2 (также отражено на Github ), необходимо для этой цели есть специальный исторический репозиторий Linux....
17191 просмотров
schedule
11.04.2022
Сопоставление буферов DMA с пользовательским пространством
я пишу драйвер устройства на linux-2.6.26. Я хочу, чтобы буфер dma отображался в пользовательском пространстве для отправки данных из драйвера в приложение пользовательского пространства. Пожалуйста, предложите хороший учебник по нему.
Спасибо
21138 просмотров
schedule
13.05.2022
Почему спин-блокировка в ядре Linux находится в .subsection 1 (или .text.lock.smth)?
В ядре Linux при реализации спин-блокировок, например. http://lxr.linux.no/#linux+v2.6.18/include/asm-i386/semaphore.h#L97
97static inline void down(struct semaphore * sem)
98{
99 might_sleep();
100 __asm__ __volatile__(...
658 просмотров
schedule
19.12.2023
Можно ли полностью перечислить команды ioctl в Linux?
В целях обзора исходного кода, ориентированного на безопасность, мне интересно найти (всесторонне) все команды ioctl, которые зарегистрированы в ядре Linux. Кроме того, я хотел бы классифицировать их как доступные для администраторов (например, root)...
2296 просмотров
schedule
29.04.2022
sys/wait.h и sys/kthread.h не компилируются вместе
Я компилирую модуль ядра в Linux, связанный с созданием kthreads для достижения параллелизма, но я застрял в проблемах компиляции.
Вот мой код:
#include <linux/init.h>
#include <linux/errno.h>
#include <asm/byteorder.h>...
693 просмотров
schedule
08.10.2023