Comments 9
Ну во-первых:
https://www.kernel.org/doc/html/latest/process/adding-syscalls.html
Вам не кажется, что оригинал статьи просто плохая калька официальной документации под соусом конкретного дистриба ?
А во-вторых:
https://www.ukuug.org/events/linux2007/2007/papers/Bergmann.pdf
А в-третьих оригинал не открывается:
Oops! That page can’t be found.
На самом деле, в модификации системных вызовов сложно придумать что-то новое, конечно же человек разбирался в статье с системными вызовами и решил это описать. Ну и понятное дело, когда повторяешь шаги, идёшь по документации и также их описываешь. Так что отвечая на вопрос: не кажется, потому что это отдельный путь отдельного человека.
Плюс, тут приведён красивый и изящный пример с весами.
Ссылку поправил.
Тем не менее, отметать «мол это есть в документации», так надо ещё знать что это нужно в документации искать. То что очевидно для специалиста, совершенно неочевидно для начинающего. И люди, кто изучают линукс подобное находят очень полезным.
Со ссылкой на оригинал через графу "Автор оригинала" какая-то проблема. Если что, она в рабочем виде есть в конце статьи.
Простите за нубство, а зачем это?
Вес например, как потом использовать?
Привет, а зачем так велосипедить? Есть же nice ?)
В коде sys_get_total_weight
нет никакой синхронизации списка задач. Обход списка детей процесса должен быть обрамлён вызовами read_lock(&tasklist_lock)
/ read_unlock(&tasklist_lock)
.
Модификация ядра Linux: добавляем новые системные вызовы