Skip to Content
Linuxカーネルプログラミング 第2版
book

Linuxカーネルプログラミング 第2版

by Kaiwan N. Billimoria, 武内 覚, 大岩 尚宏
July 2025
Intermediate to advanced
492 pages
8h 23m
Japanese
O'Reilly Japan, Inc.
Content preview from Linuxカーネルプログラミング 第2版

4章プロセスとスレッド

前章まででシンプルなカーネルモジュールの作り方を学びました。本章ではLinuxカーネルの内部について説明します。カーネルの最深部まで掘り下げることはしません。カーネルモジュール作成者やデバイスドライバ開発者が、プロセスやスレッドを管理する方法や、アーキテクチャを理解するために必要なことだけを説明します。これによって次章をよりよく理解できるでしょう。また、ユーザ空間、カーネル空間を問わずデバッグがやりやすくなるでしょう。

本章を読むにあたって、仮想記憶、ユーザモードプロセスの仮想アドレス空間、スタックなどについては知っているものと仮定しますが、後で少しだけおさらいをします。

4.1 プロセスコンテキストと割り込みコンテキスト

ここからは「3章 カーネルモジュールの作成」「3.1 カーネルの構造を理解する」で説明したことを踏まえて説明します。

ほとんどの現代的なOSはモノリシックな設計です。モノリシックという言葉の意味は、文字通り「1つの大きな石の塊」です。詳しい意味は後で説明します。プロセスまたはスレッドがシステムコールを発行すると、特権のあるカーネルモードに切り替わり、自らカーネルコードを実行します。カーネル処理用の専用スレッドが実行するわけではありません。したがって、カーネルコードはユーザ空間のプロセスまたはスレッドのコンテキスト内で実行されると言えます。この実行コンテキストをプロセスコンテキストと呼びます。カーネルのほとんどのコードはプロセスコンテキストで実行します。例えばデバイスドライバのほとんどのコード、ページフォルトやシステムコールのようなプロセッサの例外処理やCPUスケジューリングなどです。

プロセスコンテキスト以外に割り込みコンテキストがあります。キーボード、ネットワークカード、ディスクなどの周辺機器からハードウェア割り込みが発生したとします。このときCPUの制御ユニットは現在のコンテキストを保存し、カーネルモードで割り込みハンドラのコードを実行します。このコードを割り込みサービスルーチン、ISRと呼びます。多くのデバイスドライバの割り込み処理用コードはこのように実行します。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Gitハンズオンラーニング ―手を動かして学ぶバージョン管理システムの基本

Gitハンズオンラーニング ―手を動かして学ぶバージョン管理システムの基本

Anna Skoulikari, 原 隆文
プロダクトマネージャーのしごと 第2版 ―1日目から使える実践ガイド

プロダクトマネージャーのしごと 第2版 ―1日目から使える実践ガイド

Matt LeMay, 永瀬 美穂, 吉羽 龍太郎, 原田 騎郎, 高橋 一貴
プログラミングRust 第2版

プログラミングRust 第2版

Jim Blandy, Jason Orendorff, Leonora F. S. Tindall, 中田 秀基

Publisher Resources

ISBN: 9784814401109Publisher Website