Лабораторные работы по системному программированию за 10 семестр.
В данной папке лежит три задания.
- Обмен данными между именнованными пайпами (pipes).
- Перехват сигналов и демонстрация факта того, какие сигналы перехватить нельзя.
- Работа с сокетами. Запуск сервера и клиентской части, а также обмен данными.
В данном задании производится написание индивидульного linux kernel module, его установка и выгрузка.
В общем и целом, kernel modules - это часть кода, которая может быть загружена или установлена в ядро linux или же выгружена из него. Такие модули расширяют возможности использования ОС linux и позволяют конфигурировать работу системы непосредственно под себя без необходимости ее перезагрузки.
Узнать подробнее о том, как создавать linux kernel modules, можно перейдя по ссылке: https://sysprog21.github.io/lkmpg/
Модуль может быть настроен как встраеваемым, так и загружаемым (устанавливаемым).
Для того чтобы пересобрать kernel module автоматически, когда установлен новый модуль, посмотри Dynamic Kernel Module Support (DKMS).
Character device linux kernel. Символьные специальные файлы или символьные устройства обеспечивают небуферизованный прямой доступ к аппаратному устройству. Они не всегда позволяют программам читать или записывать отдельные символы за раз; это зависит от рассматриваемого устройства.
solid cube_corner
facet normal 0.0 -1.0 0.0
outer loop
vertex 0.0 0.0 0.0
vertex 1.0 0.0 0.0
vertex 0.0 0.0 1.0
endloop
endfacet
facet normal 0.0 0.0 -1.0
outer loop
vertex 0.0 0.0 0.0
vertex 0.0 1.0 0.0
vertex 1.0 0.0 0.0
endloop
endfacet
facet normal -1.0 0.0 0.0
outer loop
vertex 0.0 0.0 0.0
vertex 0.0 0.0 1.0
vertex 0.0 1.0 0.0
endloop
endfacet
facet normal 0.577 0.577 0.577
outer loop
vertex 1.0 0.0 0.0
vertex 0.0 1.0 0.0
vertex 0.0 0.0 1.0
endloop
endfacet
endsolid