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 投稿