新Linuxカーネル解読室 - プロセスディスパッチャ(後編)

本稿では、タスクの切り替えに伴うレジスタの切り替え処理の内、前編 (7月11日公開: https://www.valinux.co.jp/blog/entry/20240711) では解説しきれなかった部分について解説します。

新Linuxカーネル解読室 - ソケットインターフェース (ソケット生成編)

前回の記事では、データ構造とともにソケット操作処理の流れを見てきました。 本稿では、socket(2)システムコールによってこれらの各種データ構造がどのように生成され、関連づけられていくのかを見ていきたいと思います。

OS徒然草 (1)

OSがどんなものであるかを理解するための背景となる知識や勉強の参考になる情報をお話ししていこうと思っています。調べものというより雑談に近いものですので、気楽に読んで頂ければ良いかと思います。その上で、何らかの参考になれば幸いです。

ローカルLLMとRAGで自分の外部記憶を強化しよう

ローカルLLMとRAGを用いて自分の外部記憶にいろいろと質問できるようにする方法を入門的に紹介します。

新Linuxカーネル解読室 - プロセスディスパッチャ(前編)

本稿では、旧版1章で解説されていた「プロセススケジューリング」の内、プロセスディスパッチャ(タスクの切り替え処理)について、カーネルv6.8/x86_64のコードをベースに解説します。

「ディスアグリゲーテッドコンピューティング」とは何か? (5)

「ディスアグリゲーテッドコンピューティング」関連のYouTube講演を時系列に紹介するgithubプロジェクトを作りました。 本稿では、RAG技術で上述のCDI Infoプロジェクトの情報をローカルLLMの知識として与え、「ディスアグリゲーテッドコンピューティング」…

RISC-V OSを作ろう (8) ~ 簡易メモリ保護

物理メモリをアプリケーション用 (ユーザモード用) とカーネル用 (マシンモード用) の2つに分割し、アプリケーションからはカーネル用のメモリ域を参照できないようにメモリ保護設定を行なってみましょう。

新Linuxカーネル解読室 - ソケットインターフェース (データ構造と概要編)

カーネルv6.8のコードをベースに、プロトコルごとに異なる処理をソケットがどのように抽象化しているのか、またソケットがなぜファイルとして操作できるのかについて、データ構造を中心に解説します。

新Linuxカーネル解読室 - ソフト割り込み処理

「新Linuxカーネル解読室」プロジェクトの本稿では、ハード割り込みが発生してからソフト割り込み処理が実行されるまでの流れを、実行コンテキストの切り替わりを追いかけながらカーネルv6.8のコードをベースに紹介します。

Linuxカーネル解読室 再び

VA Linuxの若手技術者が中心となり、最新のLinuxカーネルコード全体を読み解くプロジェクトが進行中です。解析したコードのうち興味を惹かれたもの、重要そうなものを中心にブログ記事にまとめていきますのでどうぞお楽しみに!