1
ответ

Безопасно ли перезапускать системные вызовы?

Я читал учебник, в котором описывается, как обращаться с системными вызовами, когда они прерваны. :Системные вызовы могут быть прерваны. Системные вызовы, такие как чтение, ожидание и принятие, потенциально могут блокировать...
02.10.2020
1
ответ

Насколько хорошо масштабируется одновременная запись с помощью io_uring?

Предыстория: я очень заинтригован потенциальным приростом производительности io_uring, но у меня недостаточно знаний о C, ядре Linux или внутренней работе блочных устройств, чтобы реализовать...
28.09.2020
1
ответ

Как системный вызов (по адресу )приводит к записи файла на диск?

Я пытаюсь узнать как можно больше о взаимодействии между системными вызовами, VFS, обработке драйверов устройств и, в конечном счете, о том, как конечное устройство выполняет некоторые операции. Я думал, что посмотрю на...
26.08.2020
1
ответ

Монтирование CIFS возвращает ошибки при работе с удаленными файлами (файл существует, системный вызов прерван)

Мне нужно заменить строку в файле, расположенном на монтировании CIFS (NTFS NAS ). Он монтируется с sudo mount -t cifs -o rw,guest,vers=1.0 //192.168.1.1/hdd /hdd Я никогда не сталкивался с этой проблемой до недели назад,...
20.07.2020
1
ответ

Процедура (не)загрузки модуля в ядре linux

Я хотел бы знать, как пользовательская программа, такая как modprobe, может внедрить исполняемый файл из пользовательского пространства в память ядра? Какие системные вызовы он выполняет и какие интерфейсы предоставляет ...
16.05.2020
1
ответ

Почему «новый» системный вызов быстрее, чем системный вызов «interupt»?

Я пытаюсь понять разницу между «старым» механизмом системных вызовов, использующим прерывание, и текущим, основанным на конкретной инструкции процессора. Насколько я знаю, оба работают одинаково с точки зрения ...
03.05.2020
1
ответ

Как реализации системных вызовов Linux обрабатывают перехваченный сигнал?

Я понимаю, как работают сигналы в целом, и я понимаю, что системные вызовы изменяют состояние задачи на ЗАДАЧА _ПРЕРЫВАЕМАЯ или ЗАДАЧА _НЕПРЕРЫВНАЯ, чтобы предотвратить прерывание сигнала на критических участках....
29.04.2020
1
ответ

strace все системные вызовы, кроме указанных

Как запустить strace и записать все системные вызовы, но не читать и не записывать?
04.02.2020
1
ответ

Почему нам нужно установить no_new_privs перед вызовом SECCOMP_MODE_FILTER?

На справочной странице я прочитал следующую строку: вызвать попытку использовать setuid(2) для установки идентификаторов пользователей вызывающего абонента в ненулевые значения вместо возврата 0 без фактического выполнения системного вызова. Я не могу...
19.01.2020
1
ответ

Как правильно использовать sys_read() в пространстве ядра

Я написал системный вызов, который ищет заданный ввод в файле. Но мой код не работает, потому что не работает sys_read(). #include #include #...
30.11.2019
1
ответ

Объяснение hrtimer_nanosleep

Я искал в Интернете и не нашел никакого объяснения для hrtimer_nanosleep. Каково использование этой функции и чем она отличается от API clock_nanosleep? Может кто-нибудь объяснить...
05.11.2019
1
ответ

Как разбить прототип системного вызова signal в Linux?

Я читаю «Интерфейс программирования Linux», где я нахожу прототип системного вызова signal, как указано: #include недействительным ( * сигнал (int sig, недействительным (* обработчик) (int)) ) (int); Что такое сигнал...
21.09.2019
1
ответ

Из какой версии Bash удаляет привилегии?

Я пытался провести атаку на переполнение буфера и подумал, что могу использовать system ("/ bin / bash") по порядку для получения корневой оболочки. Затем я прочитал документацию по system (). Там написано: system () ...
20.09.2019
1
ответ

Что входит в syscall.h в Linux?

Я компилирую набор собственных двоичных файлов из исходного кода для AIX 7.1. Исходный код ссылается на заголовок sys/syscall.h, который присутствует в Linux, но не в AIX. При копании необработанного кода это...
09.09.2019
1
ответ

Если ядро ​​может засыпать при обработке системного вызова, как выполнение возвращается к системному вызову?

Я читаю "Linux Kernel Development" Роберта Лава, и он написал, что системный вызов выполняется в контексте процесса и может засыпать. Текущий указатель будет ссылаться на текущую задачу, ...
04.09.2019
1
ответ

Является ли один большой запрос на чтение/запись менее затратным для операционной системы, чем несколько небольших запросов на чтение/запись?

Согласно официальной документации, одна из причин, по которой Java реализует буферизованные потоки, заключается в том, что в большинстве рассмотренных нами примеров используется небуферизованный ввод-вывод. Это означает, что каждый запрос на чтение или за
25.07.2019
1
ответ

Как должен работать системный вызов sendfile() FreeBSD/DragonFlyBSD?

sendfile() Аргумент offset имеет тип off_t, а nbytes имеет тип size_t, хотя оба они описывают одно и то же: длину файла. Что делать, если мой файл длиннее, чем off_t, но короче, чем size_t? Если ...
11.07.2019
1
ответ

Зачем glibc нужны заголовки ядра?

Зачем таким программам, как glibc, нужны заголовки ядра Linux? API Linux предоставляется через syscalls, а другие реализации libc, такие как musl, не требуют этих заголовков. Что делает glibc особенным?
07.07.2019
1
ответ

Доступ к выходным данным карты сетевого интерфейса

Я работаю над проектом, в котором мне нужно напрямую взаимодействовать с картой сетевого интерфейса WLAN, т. е. с использованием драйверов, конечно. Это очень похоже на wireshark. Кроме того, я хочу отправить некоторые пользовательские ...
23.06.2019
1
ответ

Как ОС распознает файловую систему? Какова роль ОС в файловых системах? [закрыто]

Я хочу понять среду между файловой системой и операционной системой. Заботится ли операционная система о каких-либо манипуляциях с файлами?
19.06.2019
1
ответ

Недопустимые аргументы при монтировании с MS_SHARED

Я пытаюсь смонтировать файловую систему ext4 на / mnt в mount_dir, который является временным каталогом, который я создал с помощью mkdtemp (2) с MS_SHARED, а затем перемонтировал с MS_PRIVATE. Идея создается монтирование ...
01.05.2019
1
ответ

Изменить формат вывода трассировки событий системного вызова на ftrace

Я включил трассировку событий ftrace для системного вызова sys_enter_openat. Соответствующий формат вывода, указанный в events / syscalls / sys_enter_openat / format: print fmt: "dfd: 0x% 08lx, filename: 0x% 08lx, flags: 0x% ...
15.04.2019
1
ответ

Другие разрешения, кроме доступа к файловой системе

Цитируется из этого ответа о разнице между идентификатором пользователя файловой системы и эффективным идентификатором пользователя процесса, в нем говорится, что FSUID используется для доступа к файловой системе, EUID — для других целей. Что ...
25.03.2019
1
ответ

Можно ли остановить системный вызов до его выполнения с использованием стекируемых файловых систем? [закрыто]

Предположим, что у меня есть приложение X. Я отслеживаю только системные вызовы, которые вызывает X. Например, в системах типа "CS-STILo". Система обнаруживает аномальные последовательности системных вызовов для обнаружения повторного использования кода..
06.03.2019
1
ответ

Как настроить мой неразъемный твердотельный накопитель?

Я использую сервер CentOS 7 с твердотельным накопителем емкостью 500 Гбит/с. Через SSH i получен этот вывод [root @ localhost ~] # df Файловая система 1K-blocks Используется Доступно Использовать% Смонтировано на / dev/sdb1 33538048 33537160 ...
03.03.2019
1
ответ

Сбой оболочки и способы его отладки

Как часть моего приложения C, работающего в Linux, я вызываю сценарий с помощью библиотечной функции system(). Этот скрипт выполняет размонтирование подключенной флешки. Очень редко (1 из 7-8k) итераций, я вижу...
01.03.2019
1
ответ

Как Linux узнает, разрешено ли процессу выполнять системный вызов?

Допустим, процесс хочет выполнить системный вызов, который может быть выполнен только привилегированным процессом. Как Linux узнает, разрешить ли процессу выполнять такой системный вызов или нет, Linux ...
26.02.2019
1
ответ

Является ли использование функции system() внутри кода C++ более быстрым способом, чем использование исходных кодов? [закрыто]

Насколько я знаю, я могу использовать функцию system() для использования команд терминала Linux внутри моего кода C++. Например, system("aplay sound.wav");. Я не знаю, смогу ли я написать все команды Linux так или нет, ...
16.12.2018
1
ответ

файловые операции aio_read изменены в ядре 4.1

У меня есть поддерживаемый мной драйвер, мне нужно скомпилировать его с заголовками Linux 4.1.21, но Я получаю ошибки компиляции для aio_read, aio_write, они отсутствуют в struct file_operations, я предполагаю, что они были заменены. ...
26.11.2018
1
ответ

создать vdso в linux

В настоящее время я пытаюсь реализовать свой собственный VDSO. Я видел этот учебник, который объясняет, как это сделать. Однако это руководство создано для Linux 2.6.x, и я хотел бы использовать его в Linux 4.8.x. Но...
20.11.2018