Войти или зарегистрироваться чтобы ответить!

Ответы


"Мужик, я ни хера не понял, что ты сказал мне, но ты мне близок. Ты заговорил и достучался до моего сердца" (с).
от: tell danesa loca 1 years ago ответ
А можно пояснение для дилетантов: как в целом выставляется частота цпу? Можно ли ее выставить явно (с т.з. ядра), или там какой-то хитрый алгоритм/запрос на стороне прошивки?
от: root 1 years ago ответ
Очень объемные вопросы задаете. Только сейчас добрался до просмотра нескольких драйверов. С точки зрения ядра из governor'а, кажется, зовется ->target_index (куда передается индекс массива таблицы описывающей "частоты") или ->target (куда передается "частота"). Если все верно понимаю, то "частота" не обязательно будет приличной частой в МГц. Хотя пока еще в большинстве драйверов все более-менее честно. Драйвер волен реализовывать эти метода как он хочет и в том числе может сконвертировать принятое значение или домножить.
от: reimers 1 years ago ответ
Теперь второй вопрос. Некоторые драйверы явно рулят клоками или, например, пишут в PMU (это power management unit здесь). Примеры: mt8173-cpufreq и exynos5440-cpufreq. (Лирика: руление клоками в свою очередь тоже может быть реализовано по-разному, и напрямую из ядра и отправление запроса в неведомую даль).
Другие драйвера могут пересылать этот _чёрт знает куда_: на другой процессор или в firmware на этом же процессоре. Зависит от конкретной платформы, вендора и отдельное спасибо ACPI. Примеры: pcc-cpufreq, cppc-cpufreq. И вот прошивка в свою очередь может заюзать условно-хитрый алгоритм и решить удовлетворять запрос или ...
от: reimers 1 years ago ответ
Кстати, давно хотел спросить, /dev/urandom секурный или там берется энтропия из одного источника контролируемого производителем процессора?
от: Смит 1 years ago ответ
Я помню срач на эту тему, что мол де брали энтропию только из интеловоского непонятного источника, который явно был забакдорен анб
от: Смит 1 years ago ответ
Интелловский hw rng драйвер читает данные из каких-то PCI устройств. Еще интел заранее умывает руки: About the Intel RNG hardware, from the firmware hub datasheet: The Firmware Hub integrates a Random Number Generator (RNG) using thermal noise generated from inherently random quantum mechanical properties of silicon.
от: reimers 1 years ago ответ
Начал гуглить и ололо начало всплывать: https://en.wikipedia.org/wiki/RdRand раздел Reception. Да, линуксовое ядро пытается "разбавить" рандомные данные своими рандомными событиями (кажется одним из таких событий являются времена прихода/начало обработки прерываний от устройств)
от: reimers 1 years ago ответ
Нормально так.. Написал длинный ответ, а потом щелкнуло в голове, что файлов-то не два, а три должно быть: /dev/random, /dev/urandom и /dev/hw_random и тут началось..
от: reimers 1 years ago ответ
В общем, вряд ли смогу сказать больше, чем само ядро за себя. Ядро говорит следующее: 1. /dev/random - Nondeterministic random number gen, dev/urandom - Faster, less secure random number gen. 2. The hw_random framework is software that makes use of a special hardware feature on your CPU or motherboard, a Random Number Generator (RNG). The software has two parts: a core providing the /dev/hw_random character device and its sysfs support, plus a hardware-specific driver that plugs into that core. Those tools (речь про юзерспейсные rng-tools) use /dev/hw_random to fill the kernel entropy pool, which is used internally and exported by the /dev/urandom and /dev/random special files. Как Вы видите, здесь достаточно мест и так, чтобы навставлять палки в колеса великой энтропии, даже не поднимая вопрос о секурности. Про секурность: этот вопрос для меня сложен. Мне не очень понятно, что значит секурный (речь про hw rng). Обычно всякие firmware имеют доступ ко всему, что имеется и в состоянии творить непотребные вещи и ничего им за это не будет (тут, кстати, всякие Столлманы правы -- надо полностью открытое хардваре со всеми прошивками и загрузчиками). Если закрытый от фирмваре, то как бы ололо, если закрытый от пользователя так, что почитать их HW rng можно только следуя конвенции, то пожалуйста. Еще хотелось бы заметить, что фирмвари бывают дырявые и секурные миры на ARMv7, вроде, ломали даже студенты. А так более низкая история такая же, как и везде в ядре: драйвер регистрирует во фреймворке свои методы и волен заимплементить ->data_read или ->read как ему вздумается. Судя по коду большинство реально читает из какого-то хардваре, но что там на темной стороне силы со стороны хардваре и хардваре ли там вообще... У гнусмаса на телефонах (это информация из открытых исходников аднроеда) был драйвер, которые запрашивал рандомные данные из секурного мира, например.
от: reimers 1 years ago ответ
Секурность здесь понимается в непредсказуемости -- из этой штуки планируется генерировать ключи шифрования и всякое еще.

Спасибо, нужно будет внимательно почитать про дополнительные источники энтропии используемые /dev/urandom ...
от: Смит 1 years ago ответ
Если вы покупаете SoC и вам не дают спецификаций на все, принципиальную электрическую схему и все-все-все прошивки-загрузчики, то про секурность такого рода можно ничего не говорить. Либо полномтью открытое hw для всех или продавец вам все данные дает. Как-то не могу других вариантов придумать :-)
от: reimers 1 years ago ответ


Субреддит для пользователей популярной операционной системы и обсуждения вопросов развития, использования, установки и ее недостатков. А так же для просьб о помощи и полезных ответов/советов.

Субреддиты