2022-01-01から1年間の記事一覧

KubeCon + CloudNativeCon NA 2022 レポート

2022年10月24日から開催された KubeCon + CloudNativeCon NA 2022 について、Kubernetes をはじめ、CNCF がホストするプロジェクトの最新動向や印象に残ったセッションについてレポートします。

ARMv8-A AArch64 ベタメタルプログラミング ブート編

ARMv8-A アーキテクチャでの 64bit 環境 (AArch64) でのブートプログラム作成についてまとめます。 今回のブート処理では AArch64 ステートで実行し例外レベルを EL1 にして特権プログラムの実行の準備までを行います。

OpenStack-Ansibleで構築するOpenStack環境

OpenStack は IaaS 環境を構築するためのソフトウェア群で、簡単に AWS の様なクラウドサービス環境を作成する事ができます。本記事では OpenStack-Ansible を用いた OpenStack 環境を構築してみます。

詳説 eBPF 実装編

前回の概論編では、eBPFがどんなもので、どのように実現されているかを中心に解説し、eBPFの技術要素 (BCC、BCC-Tools、CO-RE) にも触れました。 実装編となる今回は、BCC-Toolsの後継となるlibbpf-toolsよりopensnoopコマンドに着目してソースコードレベル…

詳説 eBPF 概論編

近年注目されているeBPFについて、概論編と実装編に分けて解説します。 概論編となる本稿では、eBPFとは何か、eBPFで実現できる事、eBPFの仕組み、eBPFの技術要素 (BCC、BCC-Tools、CO-RE) についてまとめました。

ハンガリアン SCHED_DEADLINE

Linux のリアルタイムスケジューリング実装である SCHED_DEADLINE の概要に触れた後、最適化問題 IAP (Incremental Assignment Problem) を核に据えて Unrelated なマルチ・プロセッサモデルでの SRT-optimality を証明した Unr-EDF をベースに、SCHED_DEADL…

KubeCon + CloudNativeCon Europe 2022 レポート

2022年5月16日から開催された KubeCon + CloudNativeCon Europe 2022 について、Kubernetes をはじめ、CNCF がホストするプロジェクトの最新動向や印象に残ったセッションについてレポートします。

vmlinuxのヒミツ2 -- vmlinuxに特有のセクション その3 - exception table

これまで様々なvmlinux特有のELFセクションを見てきました。今回は`__ex_table`セクションを取り上げ、実際のコードがどうなっているのか、という方向からこのexception tableを見ていきます。

OAuth 2.1 のドラフトから OAuth 2.0 のプラクティスを学ぶ

OAuth 2.1 について、今あるシステムやこれから作るシステムをグッド・プラクティスに沿った形にするために、OAuth 2.1 のドラフトの内容を把握してプラクティスを学んでみます。

vmlinuxのヒミツ2 -- vmlinuxに特有のセクション その2 - 起動時バイナリパッチ

前回記事では、vmlinuxのinitセグメントに含まれる、`.percpu`、`.init.text`、`.init.data`などのセグメントについて調べました。今回はその続きで、そのinitセグメントに含まれている`.parainstructions`、`.altinstructions`、`.altinstr_replacement`の…

詳解 Linux ネットワーク - NAPI 編 (後編)

前編では、NAPI とそれに関連するソフトウェア割り込みの仕組みについて解説しました。 本稿では、前回の最後に触れた通り、Linux kernel に組み込まれている、NIC をソフトウェア割り込み以外で polling するための仕組みである、Busy Poll Socket と kthre…

vmlinuxのヒミツ2 -- vmlinuxに特有のセクション その1

1年半前に投稿した「vmlinuxのヒミツ」(https://valinux.hatenablog.com/entry/20200910) の第2弾です。 今回は、コード例もなく、単にLinuxという巨象の枝葉末節をああでもないこうでもないと闇雲に撫で回してみました。

詳解 Linux ネットワーク - NAPI 編 (前編)

Linux におけるネットワーク受信処理で利用されている、NAPI (New API) と呼ばれる仕組みについて、実装レベルで解説します。

KubeCon + CloudNativeCon NA 2021 レポート

2021年10月11日から開催された KubeCon + CloudNativeCon NA 2021 について、Kubernetes をはじめ、CNCF がホストするプロジェクトの最新動向や印象に残ったセッションについてレポートします。