суббота, 17 октября 2015 г.

4 статьи о системных вызовах Linux

Статьи посвящены тому, как из модулей ядра (которые вы подгружаете динамически) могут изменяться или даже создаваться новые системные вызовы Linux в интересах вашего собственного проекта.

Статьи достаточно большие, чтобы их пересказывать. Кроме того, каждая из них содержит пример кода, который можно непосредственно перенести в свой проект. Поэтому я даю только ссылки, где всё это можно скачать совершенно свободно.

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

2. Модификация системного вызова.
Это о том, как вы можете изменить стандартное поведение любого системного вызова Linux.
Скачать здесь.
Код здесь.

3. Сетевые системные вызовы.
Сетевые (сокетные) системные вызовы в Linux обрабатываются не так, как сотни прочих системных вызовов. Это достаточно мало известно.
Скачать здесь.
Код здесь.

4. Добавить системный вызов.
А это на тот случай, если вы захотите динамически добавлять новый системный вызов в Linux для своего целевого проекта.
Скачать здесь.
Код здесь.