Публикации по теме 'linux-kernel'


Написание вашего первого модуля ядра
Этот пост является третьей частью серии статей о ядре Linux . Часть 1 — Часть 2 Итак, мы уже собрали ядро ​​из исходников и даже модифицировали исходный код . Хотя это были довольно крутые салонные трюки, не пора ли нам узнать что-нибудь полезное? Что ж, я не могу обещать этого , но сегодня мы сделаем шаг в правильном направлении, создав модуль ядра Linux. Ядро Linux структурировано таким образом, что вы можете добавлять расширенные функции без изменения исходного кода..

Копаемся в планировщике Linux
Кто-то может возразить, что планирование задач - одна из самых сложных проблем, которые нужно решить. Так ли это, еще неизвестно, но в этом сообщении блога я объясню, как Linux в настоящее время решает эту проблему. Каков объем этого сообщения в блоге? В этом сообщении блога я расскажу: некоторые из основных проблем, с которыми приходится сталкиваться при планировании задач. Подробнее о ядре планировщика Linux. общий обзор некоторых доступных классов планирования. как все..

API РДЭ
Короткая и милая версия :) IDR API отвечает за выделение целочисленных идентификационных номеров, используемых с именами устройств, таймерами POSIX и т. д. void idr_preload(gfp_t gfp_mask); int idr_alloc(struct idr *idp, void *ptr, int start , int end, gfp_t gfp_mask); void idr_preload_end(void); Функция idr_preload() отвечает за выделение памяти, необходимой для удовлетворения следующего запроса на выделение. Вызов idr_alloc() выделяет целочисленный идентификатор. Он..

Стек и очереди: хвостовая очередь
Я хотел бы использовать QEMU с открытым исходным кодом, чтобы объяснить хвостовую очередь, определенную в queue.h этого файла, она также видна в linux/queue.h . Давайте посмотрим на структуру Q_TAIL_HEAD, tqh_first хранит адрес первого элемента, а tqh_last хранит адрес последнего элемента. /** * tgh_last is double asterisk (**), if you compare to queue.h * defined in linux. You would see a little difference. */ #define Q_TAIL_HEAD(name, type, qual) \ struct name { qual type..

/прок
Предисловие: Файловая система /proc — это файловая система в памяти, созданная ядром большинства unix-подобных операционных систем. Это означает, что «файлы» — это просто виртуальная память, которая отображается в папку, обычно в каталог /proc. Когда вы открываете и пытаетесь прочитать один из этих файлов, поскольку файлов на самом деле нет, они создаются ядром по мере того, как вы их открываете. Выполнив быстрые ls /proc и ps aux , вы увидите, что процессы, перечисленные в списке..

В MemSQL мы стремимся создавать потрясающее программное обеспечение и всегда пытаемся решить сложные проблемы.
В MemSQL мы стремимся создавать потрясающее программное обеспечение и всегда пытаемся решить сложные проблемы. Несколько дней назад я с коллегами раскрыл интересную загадку Linux и исправил ее. Мы подумали, что обмен этим опытом может принести пользу другим. Место преступления При разработке внутреннего инструмента для получения трассировки стека мы решили использовать системный вызов SYS_tgkill Linux для отправки сигналов в определенные потоки. Системный вызов tgkill..

Как программировать на ассемблере?
Привет . В этой статье я собираюсь показать вам основы ассемблера. Перед этим давайте кое-что проясним. В этом уроке я собираюсь научить вас 64-битной сборке. Сборка имеет два синтаксиса — Intel,ATT. В этом уроке я буду использовать синтаксис Intel. Ассемблер, который я буду использовать, называется NASM или Netwide Assembler. Почему вы должны изучать ассемблер? Если вам интересно узнать о компьютерной системе и вы хотите узнать о низкоуровневых материалах, вам следует изучить..