Публикации по теме '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.
Почему вы должны изучать ассемблер?
Если вам интересно узнать о компьютерной системе и вы хотите узнать о низкоуровневых материалах, вам следует изучить..