
CSロードマップ 第8回 — プロセスとスレッド:OSは実行単位をどう抽象化するか
はじめに:地図から本論へ 前回では3つのオペレーティングシステムの血統と骨格をざっと見ました。Linuxはモノリシック、Windows NTはハイブリッド、macOS XNUはMach + BSDの二重構造。これが地図だったとすれば、今回からは本論です。 ステージ2の核心的な問いをもう一度取り出します。 「2つのスレッドが同じ変数を使うと、なぜプログラムは時々だけ死ぬのか?」...

はじめに:地図から本論へ 前回では3つのオペレーティングシステムの血統と骨格をざっと見ました。Linuxはモノリシック、Windows NTはハイブリッド、macOS XNUはMach + BSDの二重構造。これが地図だったとすれば、今回からは本論です。 ステージ2の核心的な問いをもう一度取り出します。 「2つのスレッドが同じ変数を使うと、なぜプログラムは時々だけ死ぬのか?」...

はじめに:なぜOSから始めるのか ステージ1ではデータ構造とメモリを扱いました。配列と連結リスト、ハッシュテーブル、木とグラフ、そしてヒープまで — すべて「データをどう整理するか」の話でした。 ステージ2の問いは少し違います。 「2つのスレッドが同じ変数を使うと、なぜプログラムは時々だけ死ぬのか?」 この問いに答えるには、プログラムがどう実行され、誰がCPUを分け与え、...

序論 この文書は CSロードマップ シリーズの番外編(bonus)です。 第5回 グラフでDijkstraとAを扱いながら、一文を残した:「優先度キュー(二分ヒープ)を使えば$O((V+E) \log V)$」*。ところが、その「二分ヒープ」が何なのか、なぜ二分なのか、どのように$O(\log n)$を達成するのかは後回しにした。この番外編はその負債を返す。 第1段階(デー...

はじめに 「Mythosヤバすぎ マジでブラックウォールAIだわ」 知人からこのメッセージを受け取り、一体何の話なのか調べてみました。 2026年4月7日、AnthropicはClaude Mythos Preview System Card(244ページ)とともにProject Glasswingを発表しました。MythosはAnthropicの最新フロンティアモデルであり、...

はじめに 前回の記事では、Flow Fieldパスファインディングの概念と3段階パイプラインを解説した。Flow Fieldはエージェント数に関係なく \(O(V)\) で計算されるため、パスファインディング自体はボトルネックではない。 では、3,000エージェントでフレームレートが低下する原因は何か?そして10,000エージェントまでスケールアップするには何を変える必要があるのか? ...

序論 前回のポストの最後でこう予告した: NativeContainerを使うべき本当の理由 — GCがゲームに与える影響 このシリーズで我々は「managedの世界を脱せよ」というメッセージを繰り返し目にしてきた。Job SystemはNativeContainerのみ許可し、Burstはmanagedタイプをコンパイルせず、SoAレイアウトはunmanagedメモリでのみ意...

序論 Job SystemポストでNativeArrayの内部構造を解剖した。C#配列とのメモリモデルの違い、Allocatorの種類、Safety Systemの基本動作まで扱った。 しかし実戦ではNativeArrayだけですべてを解決することはできない。動的サイズのリストが必要で、キーと値のペアで高速に検索する必要があり、複数のワーカースレッドが同時に結果をキューに入れなければなら...

はじめに 3,000体のゾンビがプレイヤーに向かって押し寄せてくる場面を想像してほしい。各ゾンビに個別の経路を計算するとしたら? A*一回あたり数百〜数千ノードを探索し、それを3,000回繰り返さなければならない。フレームレートはあっという間に崩壊する。 Flow Field パスファインディングはこの問題に根本的に異なるアプローチで挑む。個々のエージェントに経路を与える代わりに、空間全...

序論 2018年、Aras PranckevičiusはToyPathTracerベンチマークで驚くべき結果を発表した。C# BurstがC++より速いケースが存在するということだ — PCでBurst 140 Mray/s vs C++ 136 Mray/s。 Aras Pranckevičius, “Pathtracer 16: Burst & SIMD Optimiz...

はじめに 前回のポストでClaude Codeのアーキテクチャ設計原理を分析した。今回の記事ではさらに一段深く入り、ハーネスエンジニアリング(Harness Engineering) — すなわちAIエージェントのオーケストレーション層がどのような設計原理で構築されるかを解剖する。 「ハーネス」という用語はもともとテストハーネス(test harness)に由来し、実行対象をラップして入...