Вопросы по теме 'linux-kernel'

Как очистить кеши, используемые ядром Linux
Я хочу заставить ядро ​​Linux выделять больше памяти приложениям после того, как кеш начинает занимать слишком много памяти (как видно из вывода «бесплатно»). Я бегал sudo sync; sudo sysctl -w vm.drop_caches=3; free (чтобы освободить как...
35872 просмотров

Упс: доступ ядра к плохой области, 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 просмотров

вложенная страничная ошибка адреса пользовательского пространства в 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 просмотров

Совместное использование 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