Pull to refresh

Покорим Ruby вместе! Капля восьмая

Programming *
Давайте прямо сейчас перечитаем четвертую каплю, чтобы вспомнить о реализации ООП в Руби. Повторили? Идем дальше. В этой капле мы подрежем все образовавшиеся хвосты, связанные с объектно-ориентированным программированием на Руби.

Читать дальше →
Total votes 45: ↑34 and ↓11 +23
Views 27K
Comments 33

Флаги /proc/cpuinfo для архитектуры x86

Configuring Linux *
Все мы хоть раз в жизни использовали команду cat /proc/cpuinfo. Многие — лишь для того, чтобы узнать количество процессоров и ядер в системе, некоторые — узнать о поддержке конкретной технологии, например, аппаратной виртуализации.
Однако очень мало линуксоидов воспринимают всерьез самую длинную строку вывода — так называемые flags, а еще меньше знают, как расшифровывается тот или иной параметр, поскольку зачастую флаги имеют дикие и непонятные имена. Я постараюсь описать большинство распознаваемых флагов, специфичных для архитектуры x86.
Читать дальше →
Total votes 63: ↑37 and ↓26 +11
Views 23K
Comments 25

Коммит в ядро Linux от четырёхлетней девочки

Programming *
Месяц назад пятилетний мальчик успешно сдал экзамен и получил сертификат Microsoft Certified Professional, став самым молодым на планете сертифицированным профессионалом Microsoft.

Теперь у Linux-сообщества есть достойный ответ: это четырёхлетняя Маисса Ропонен (Maisa Roponen), которая прислала патч для внесения правки в ядро Linux. Так что среди разработчиков ядра появились совсем маленькие дети.

Правда, коммит не такой уж и серьёзный. Маисса предлагает всего лишь подкорректировать документацию для виртуальной файловой системы /proc.
Читать дальше →
Total votes 64: ↑49 and ↓15 +34
Views 27K
Comments 33

Внутренности Linux: как /proc/self/mem пишет в недоступную для записи память

VK corporate blog Abnormal programming **nix *C *Development for Linux *
Translation

Странная причудливость псевдофайла /proc/*/mem заключается в его «пробивной» семантике. Операции записи через этот файл будут успешными даже если целевая виртуальная память помечена как недоступная для записи. Это сделано намеренно, и такое поведение активно используется проектами вроде компилятора Julia JIT или отладчика rr.

Но возникают вопросы: подчиняется ли привилегированный код разрешениям виртуальной памяти? До какой степени оборудование может влиять на доступ к памяти ядра?

Мы постараемся ответить на эти вопросы и рассмотрим нюансы взаимодействия между операционной системой и оборудованием, на котором она исполняется. Изучим ограничения процессора, которые могут влиять на ядро, и узнаем, как ядро может их обходить.
Total votes 33: ↑31 and ↓2 +29
Views 8K
Comments 1