Linuxカーネルソースコード解析:プロセススケジューリングAPIのシステムコールケーススタディ
kthread_create_on_node関数
kthread_create_on_node関数の機能:指定されたメモリノードに新しいカーネルスレッドを作成します。ソースコードは以下の通りです。
実践例
#include <linux/module.h>
#include <linux/pid.h>
#include <linux/sched.h>
#include <linux/kthread.h>
#include <linux/wait.h>
int KernelWorkerFunction(void* ...
6月26日 18:03 投稿
UNIXシステムにおけるfork関数の仕組み
UNIXまたは類似OSにおいて、forkはプロセスを2つのほぼ同一のプロセスに分けるシステムコールである。この関数により、実行中のプログラムが2つのプロセスに分割され、それぞれが同じコード位置から実行を開始する。両方のプロセスは、fork()の次の命令から継続して動作する。
ソースコードをコピーし、独自に開発することで異なるソフトウェアを作成する行為は、バージョ ...
6月8日 20:44 投稿
Linuxプロセスシグナルの発生メカニズム
シグナルの基本概念
シグナルはLinuxにおけるプロセス間通信の一種であり、非同期イベント通知を実現します。プロセスはシグナルを受信することで、特定の動作を実行したり状態を変更したりします。
シグナルの種類と特性
kill -lコマンドで確認できるシグナルは62種類あり、1〜31番が通常シグナル、32〜64番がリアルタイムシグナルです。通常シグナルは到着の有無のみを ...
5月25日 18:55 投稿
Linuxプロセスの基本概念と管理
1. psコマンドによるプロセス情報の表示
Linuxシステムでは、psコマンドを使用してプロセス情報を表示できます。主要なオプションを以下に示します:
-e: すべてのプロセスをリスト表示
-f: 完全なフォーマットで表示
-h: ヘッダーを非表示
-l: 長いフォーマットで表示
-w: 幅を広げて詳細情報を表示
a: すべてのユーザーのプロセスを表示(他ユーザー含む)
r: 実行中の ...
5月16日 19:54 投稿