SlideShare a Scribd company logo
1 of 9
kprobesでカーネル空間
ブレークポイント
第6期サイボウズ・ラボユース成果発表会
2017/03/30 @uchan_nos
カーネルモジュール
• コンパイル済みオブジェクトファイル
• ELF形式のファイル
• 動作中のLinuxカーネルに読み込ませられる
• $ sudo insmod hello.ko
• $ sudo rmmod hello
• 自作のプログラムがカーネル空間で動く
(カーネルに手を入れずに!)
興奮
Linux カーネルモジュール自作入門
―kprobes でカーネル空間ブレークポイント―
• kprobes = kernel probes
• プローブ=探針
• カーネルの任意のアドレスにブレークポイント
…処理…
err = move_module(mod, info);
…処理…
int handler(mod, info)
{}
int move_module(mod, info)
{
…
}
ブレーク
プローブの種類
• kprobe
• 任意の命令でブレーク
• jprobe
• 関数の先頭でブレーク
• kretprobe
• 関数から抜けるときにブレーク
jprobeとは
• 関数の入り口だけでブレーク可
• kprobeより自由度が低い代わりに、関数の引数の扱いが楽
struct module *layout_and_allocate(struct load_info *info, int flags)
struct module *handler(struct load_info *info, int flags)
{
printk(KERN_INFO "%p, %lun", info->hdr, info->len);
…
対象の関数と同じ引数・戻り値型を書くだけ!
jprobeを仕掛けられる関数
• sudo less /proc/kallsyms
• ffffffff810ffe00 t setup_load_info
• ffffffff811000a0 t module_flags
• 関数名と配置アドレス
• インライン展開された関数は表示されない
インライン展開の抑制
• カーネルのソースコードを得る
• noinline宣言する
• static noinline int move_module(…)
• 改造後、カーネル再構築
• コンパイルオプション-fno-inlineを付けるのでも良い
• が、カーネル全体の動作が遅くなるかも
ダミー関数の挿入
• 関数呼び出し直後の状態を調べたい
• noinlineなダミー関数を定義
static noinline void after_move_module(
struct module *mod, struct load_info *info, int err)
{ }
• それを希望の場所で呼び出す
err = move_module(mod, info);
after_move_module(mod, info, err);
レッツ自作モジュール
• 是非、kprobesを利用するモジュールを作ってみよう!
• 詳しい作り方は本でチェック!
Linux カーネルモジュール自作入門
―kprobes でカーネル空間ブレークポイント―
• http://uchan.hateblo.jp/entry/2017/03/22/074801
• この本で扱うこと
• Hello Worldモジュールの作成方法
• モジュールファイルの内部構造の説明
• jprobeでブレークポイントを仕掛ける方法
• sysfsを使ってユーザ側から値を受け取る方法

More Related Content

What's hot

机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016By_taka_23
 
Docker運用(入門編)
Docker運用(入門編)Docker運用(入門編)
Docker運用(入門編)Sumito Tsukada
 
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!Mutsumi IWAISHI
 
PHPのライブラリをcomposer経由で公開した話
PHPのライブラリをcomposer経由で公開した話PHPのライブラリをcomposer経由で公開した話
PHPのライブラリをcomposer経由で公開した話mirai_iro
 
Rubyでバルクインサート
RubyでバルクインサートRubyでバルクインサート
RubyでバルクインサートFujimura Munehiko
 
高速化のポイント
高速化のポイント高速化のポイント
高速化のポイントryos36
 
Containerで変わるDevOps
Containerで変わるDevOpsContainerで変わるDevOps
Containerで変わるDevOpsshokiri
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentookubo39
 
複数Linuxサーバ構成の検証? それ1インスタンスでできるよ!
複数Linuxサーバ構成の検証? それ1インスタンスでできるよ!複数Linuxサーバ構成の検証? それ1インスタンスでできるよ!
複数Linuxサーバ構成の検証? それ1インスタンスでできるよ!Mutsumi IWAISHI
 
社内勉強会(Docker)
社内勉強会(Docker)社内勉強会(Docker)
社内勉強会(Docker)Shinya Sasaki
 
GUI&基本操作、CLI編
GUI&基本操作、CLI編GUI&基本操作、CLI編
GUI&基本操作、CLI編Go Chiba
 
Presentation on your terminal
Presentation on your terminalPresentation on your terminal
Presentation on your terminalTakuya ASADA
 
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたOSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたatk1234
 
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Works Applications
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみたKazuto Kusama
 

What's hot (20)

机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B机上の Kubernetes -  形式手法で見るコンテナオーケストレーション #NGK2016B
机上の Kubernetes - 形式手法で見るコンテナオーケストレーション #NGK2016B
 
Docker運用(入門編)
Docker運用(入門編)Docker運用(入門編)
Docker運用(入門編)
 
Jenkins with Docker
Jenkins with DockerJenkins with Docker
Jenkins with Docker
 
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
 
PHPのライブラリをcomposer経由で公開した話
PHPのライブラリをcomposer経由で公開した話PHPのライブラリをcomposer経由で公開した話
PHPのライブラリをcomposer経由で公開した話
 
Rubyでバルクインサート
RubyでバルクインサートRubyでバルクインサート
Rubyでバルクインサート
 
高速化のポイント
高速化のポイント高速化のポイント
高速化のポイント
 
Containerで変わるDevOps
Containerで変わるDevOpsContainerで変わるDevOps
Containerで変わるDevOps
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentoo
 
複数Linuxサーバ構成の検証? それ1インスタンスでできるよ!
複数Linuxサーバ構成の検証? それ1インスタンスでできるよ!複数Linuxサーバ構成の検証? それ1インスタンスでできるよ!
複数Linuxサーバ構成の検証? それ1インスタンスでできるよ!
 
Puppet on AWS
Puppet on AWSPuppet on AWS
Puppet on AWS
 
OSv噺
OSv噺OSv噺
OSv噺
 
社内勉強会(Docker)
社内勉強会(Docker)社内勉強会(Docker)
社内勉強会(Docker)
 
Title sample
Title sampleTitle sample
Title sample
 
GUI&基本操作、CLI編
GUI&基本操作、CLI編GUI&基本操作、CLI編
GUI&基本操作、CLI編
 
Presentation on your terminal
Presentation on your terminalPresentation on your terminal
Presentation on your terminal
 
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたOSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
 
俺とKubernetes
俺とKubernetes俺とKubernetes
俺とKubernetes
 
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)
 
Kubernetesを触ってみた
Kubernetesを触ってみたKubernetesを触ってみた
Kubernetesを触ってみた
 

Viewers also liked

Sampling Strategies to Control Misclassification Bias in Longitudinal Udder H...
Sampling Strategies to Control Misclassification Bias in Longitudinal Udder H...Sampling Strategies to Control Misclassification Bias in Longitudinal Udder H...
Sampling Strategies to Control Misclassification Bias in Longitudinal Udder H...dhaine
 
Solving the BI Adoption Challenge With Report Consolidation
Solving the BI Adoption Challenge With Report ConsolidationSolving the BI Adoption Challenge With Report Consolidation
Solving the BI Adoption Challenge With Report Consolidationibi
 
Un Buen Médico de Familia.
Un Buen Médico de Familia.Un Buen Médico de Familia.
Un Buen Médico de Familia.Teresa Mateu
 
EKP:n rahapolitiikka jatkuu poikkeuksellisen keveänä
EKP:n rahapolitiikka jatkuu poikkeuksellisen keveänäEKP:n rahapolitiikka jatkuu poikkeuksellisen keveänä
EKP:n rahapolitiikka jatkuu poikkeuksellisen keveänäSuomen Pankki
 
Maailmantaloudessa suotuisaa kehitystä ja uusia huolia
Maailmantaloudessa suotuisaa kehitystä ja uusia huoliaMaailmantaloudessa suotuisaa kehitystä ja uusia huolia
Maailmantaloudessa suotuisaa kehitystä ja uusia huoliaSuomen Pankki
 
ODOO Restaurant Management POS
ODOO Restaurant Management POSODOO Restaurant Management POS
ODOO Restaurant Management POSHusen Daudi
 
IoF2020 project overview for S3 platform Big Data and Traceability
IoF2020 project overview for S3 platform Big Data and TraceabilityIoF2020 project overview for S3 platform Big Data and Traceability
IoF2020 project overview for S3 platform Big Data and TraceabilitySjaak Wolfert
 
The Liminal Library: Making Our Libraries Sites of Transformative Learning - ...
The Liminal Library: Making Our Libraries Sites of Transformative Learning - ...The Liminal Library: Making Our Libraries Sites of Transformative Learning - ...
The Liminal Library: Making Our Libraries Sites of Transformative Learning - ...IL Group (CILIP Information Literacy Group)
 
Informe amec coyuntura 2016 perspectivas 2017
Informe amec coyuntura 2016 perspectivas 2017Informe amec coyuntura 2016 perspectivas 2017
Informe amec coyuntura 2016 perspectivas 2017AMEC
 
Informe Audiencia Publica de Rendiciòn de Cuentas a la ciudadania 2016
Informe Audiencia Publica de Rendiciòn de Cuentas a la ciudadania  2016Informe Audiencia Publica de Rendiciòn de Cuentas a la ciudadania  2016
Informe Audiencia Publica de Rendiciòn de Cuentas a la ciudadania 2016Universidad del Chocò
 
Hi-Tech Crime Trends 2016
Hi-Tech Crime Trends 2016Hi-Tech Crime Trends 2016
Hi-Tech Crime Trends 2016Group-IB
 
Philosophy of Deep Learning
Philosophy of Deep LearningPhilosophy of Deep Learning
Philosophy of Deep LearningMelanie Swan
 
Announcing Amazon Lex - January 2017 AWS Online Tech Talks
Announcing Amazon Lex - January 2017 AWS Online Tech TalksAnnouncing Amazon Lex - January 2017 AWS Online Tech Talks
Announcing Amazon Lex - January 2017 AWS Online Tech TalksAmazon Web Services
 
Deadpool movie leaked script (1)
Deadpool movie leaked script (1)Deadpool movie leaked script (1)
Deadpool movie leaked script (1)Zachary Goldrich
 
Overview of Community Based Health Insurance Lessons
Overview of Community Based Health Insurance LessonsOverview of Community Based Health Insurance Lessons
Overview of Community Based Health Insurance LessonsHFG Project
 
Автоматизация SEO-задач в 2017 — CyberMarketing — Севальнев
Автоматизация SEO-задач в 2017 — CyberMarketing — СевальневАвтоматизация SEO-задач в 2017 — CyberMarketing — Севальнев
Автоматизация SEO-задач в 2017 — CyberMarketing — СевальневДмитрий Севальнев
 

Viewers also liked (19)

Sampling Strategies to Control Misclassification Bias in Longitudinal Udder H...
Sampling Strategies to Control Misclassification Bias in Longitudinal Udder H...Sampling Strategies to Control Misclassification Bias in Longitudinal Udder H...
Sampling Strategies to Control Misclassification Bias in Longitudinal Udder H...
 
Solving the BI Adoption Challenge With Report Consolidation
Solving the BI Adoption Challenge With Report ConsolidationSolving the BI Adoption Challenge With Report Consolidation
Solving the BI Adoption Challenge With Report Consolidation
 
Un Buen Médico de Familia.
Un Buen Médico de Familia.Un Buen Médico de Familia.
Un Buen Médico de Familia.
 
EKP:n rahapolitiikka jatkuu poikkeuksellisen keveänä
EKP:n rahapolitiikka jatkuu poikkeuksellisen keveänäEKP:n rahapolitiikka jatkuu poikkeuksellisen keveänä
EKP:n rahapolitiikka jatkuu poikkeuksellisen keveänä
 
Maailmantaloudessa suotuisaa kehitystä ja uusia huolia
Maailmantaloudessa suotuisaa kehitystä ja uusia huoliaMaailmantaloudessa suotuisaa kehitystä ja uusia huolia
Maailmantaloudessa suotuisaa kehitystä ja uusia huolia
 
ODOO Restaurant Management POS
ODOO Restaurant Management POSODOO Restaurant Management POS
ODOO Restaurant Management POS
 
IoF2020 project overview for S3 platform Big Data and Traceability
IoF2020 project overview for S3 platform Big Data and TraceabilityIoF2020 project overview for S3 platform Big Data and Traceability
IoF2020 project overview for S3 platform Big Data and Traceability
 
The Liminal Library: Making Our Libraries Sites of Transformative Learning - ...
The Liminal Library: Making Our Libraries Sites of Transformative Learning - ...The Liminal Library: Making Our Libraries Sites of Transformative Learning - ...
The Liminal Library: Making Our Libraries Sites of Transformative Learning - ...
 
Informe amec coyuntura 2016 perspectivas 2017
Informe amec coyuntura 2016 perspectivas 2017Informe amec coyuntura 2016 perspectivas 2017
Informe amec coyuntura 2016 perspectivas 2017
 
Rights-based Civic Actions for Food
Rights-based Civic Actions for FoodRights-based Civic Actions for Food
Rights-based Civic Actions for Food
 
Informe Audiencia Publica de Rendiciòn de Cuentas a la ciudadania 2016
Informe Audiencia Publica de Rendiciòn de Cuentas a la ciudadania  2016Informe Audiencia Publica de Rendiciòn de Cuentas a la ciudadania  2016
Informe Audiencia Publica de Rendiciòn de Cuentas a la ciudadania 2016
 
Hi-Tech Crime Trends 2016
Hi-Tech Crime Trends 2016Hi-Tech Crime Trends 2016
Hi-Tech Crime Trends 2016
 
Philosophy of Deep Learning
Philosophy of Deep LearningPhilosophy of Deep Learning
Philosophy of Deep Learning
 
Announcing Amazon Lex - January 2017 AWS Online Tech Talks
Announcing Amazon Lex - January 2017 AWS Online Tech TalksAnnouncing Amazon Lex - January 2017 AWS Online Tech Talks
Announcing Amazon Lex - January 2017 AWS Online Tech Talks
 
Deadpool movie leaked script (1)
Deadpool movie leaked script (1)Deadpool movie leaked script (1)
Deadpool movie leaked script (1)
 
O Tegumento dos Animais
O Tegumento dos AnimaisO Tegumento dos Animais
O Tegumento dos Animais
 
Overview of Community Based Health Insurance Lessons
Overview of Community Based Health Insurance LessonsOverview of Community Based Health Insurance Lessons
Overview of Community Based Health Insurance Lessons
 
Автоматизация SEO-задач в 2017 — CyberMarketing — Севальнев
Автоматизация SEO-задач в 2017 — CyberMarketing — СевальневАвтоматизация SEO-задач в 2017 — CyberMarketing — Севальнев
Автоматизация SEO-задач в 2017 — CyberMarketing — Севальнев
 
Conquista de america 5º año
Conquista de america 5º añoConquista de america 5º año
Conquista de america 5º año
 

Similar to Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント

カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15
カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15
カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15Takaya Saeki
 
SCPコマンドについて
SCPコマンドについてSCPコマンドについて
SCPコマンドについてiPride Co., Ltd.
 
V6 Interpreter (Nagoya Geek Bar 2011-05-02)
V6 Interpreter (Nagoya Geek Bar 2011-05-02)V6 Interpreter (Nagoya Geek Bar 2011-05-02)
V6 Interpreter (Nagoya Geek Bar 2011-05-02)7shi
 
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)inaz2
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Emma Haruka Iwao
 
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)洋史 東平
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装Takuya ASADA
 
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)icchy
 
軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -Go Saito
 
Coq for Moblie Phone @ ML名古屋
Coq for Moblie Phone @ ML名古屋Coq for Moblie Phone @ ML名古屋
Coq for Moblie Phone @ ML名古屋Hiroki Mizuno
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Masahiro Nagano
 
Clojureの発表など
Clojureの発表などClojureの発表など
Clojureの発表などKikuta Go
 
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤTakashi Hoshino
 
Practice command
Practice commandPractice command
Practice commandisamisogabe
 
とあるDBAの黒い画面(ターミナル)II
とあるDBAの黒い画面(ターミナル)IIとあるDBAの黒い画面(ターミナル)II
とあるDBAの黒い画面(ターミナル)IIKazuhiro Yoshikawa
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかえむ ばーど
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例maebashi
 

Similar to Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント (20)

カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15
カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15
カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15
 
SCPコマンドについて
SCPコマンドについてSCPコマンドについて
SCPコマンドについて
 
V6 Interpreter (Nagoya Geek Bar 2011-05-02)
V6 Interpreter (Nagoya Geek Bar 2011-05-02)V6 Interpreter (Nagoya Geek Bar 2011-05-02)
V6 Interpreter (Nagoya Geek Bar 2011-05-02)
 
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
ROP Illmatic: Exploring Universal ROP on glibc x86-64 (ja)
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
 
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装
 
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)
 
軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -
 
Coq for Moblie Phone @ ML名古屋
Coq for Moblie Phone @ ML名古屋Coq for Moblie Phone @ ML名古屋
Coq for Moblie Phone @ ML名古屋
 
Modulemaking
ModulemakingModulemaking
Modulemaking
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
 
about Perl5.10
about Perl5.10about Perl5.10
about Perl5.10
 
Clojureの発表など
Clojureの発表などClojureの発表など
Clojureの発表など
 
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
 
Practice command
Practice commandPractice command
Practice command
 
Linux Namespace
Linux NamespaceLinux Namespace
Linux Namespace
 
とあるDBAの黒い画面(ターミナル)II
とあるDBAの黒い画面(ターミナル)IIとあるDBAの黒い画面(ターミナル)II
とあるDBAの黒い画面(ターミナル)II
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
 

More from uchan_nos

MikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するMikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するuchan_nos
 
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事uchan_nos
 
小型安価なFPGAボードの紹介と任意波形発生器
小型安価なFPGAボードの紹介と任意波形発生器小型安価なFPGAボードの紹介と任意波形発生器
小型安価なFPGAボードの紹介と任意波形発生器uchan_nos
 
トランジスタ回路:エミッタ接地増幅回路
トランジスタ回路:エミッタ接地増幅回路トランジスタ回路:エミッタ接地増幅回路
トランジスタ回路:エミッタ接地増幅回路uchan_nos
 
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトuchan_nos
 
自作言語でお絵描き
自作言語でお絵描き自作言語でお絵描き
自作言語でお絵描きuchan_nos
 
OpeLa 進捗報告 at 第23回自作OSもくもく会
OpeLa 進捗報告 at 第23回自作OSもくもく会OpeLa 進捗報告 at 第23回自作OSもくもく会
OpeLa 進捗報告 at 第23回自作OSもくもく会uchan_nos
 
サイボウズ・ラボへ転籍して1年を振り返る
サイボウズ・ラボへ転籍して1年を振り返るサイボウズ・ラボへ転籍して1年を振り返る
サイボウズ・ラボへ転籍して1年を振り返るuchan_nos
 
USB3.0ドライバ開発の道
USB3.0ドライバ開発の道USB3.0ドライバ開発の道
USB3.0ドライバ開発の道uchan_nos
 
Security Nextcamp remote mob programming
Security Nextcamp remote mob programmingSecurity Nextcamp remote mob programming
Security Nextcamp remote mob programminguchan_nos
 
Langsmith OpeLa handmade self-hosted OS and LPS
Langsmith OpeLa handmade self-hosted OS and LPSLangsmith OpeLa handmade self-hosted OS and LPS
Langsmith OpeLa handmade self-hosted OS and LPSuchan_nos
 
OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作uchan_nos
 
自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装uchan_nos
 
1を書いても0が読める!?隠れた重要命令INVLPG
1を書いても0が読める!?隠れた重要命令INVLPG1を書いても0が読める!?隠れた重要命令INVLPG
1を書いても0が読める!?隠れた重要命令INVLPGuchan_nos
 
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osレガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osuchan_nos
 
Building libc++ for toy OS
Building libc++ for toy OSBuilding libc++ for toy OS
Building libc++ for toy OSuchan_nos
 
プランクトンサミットの歴史2019
プランクトンサミットの歴史2019プランクトンサミットの歴史2019
プランクトンサミットの歴史2019uchan_nos
 
Introduction of security camp 2019
Introduction of security camp 2019Introduction of security camp 2019
Introduction of security camp 2019uchan_nos
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2uchan_nos
 

More from uchan_nos (20)

MikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するMikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続する
 
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事
 
小型安価なFPGAボードの紹介と任意波形発生器
小型安価なFPGAボードの紹介と任意波形発生器小型安価なFPGAボードの紹介と任意波形発生器
小型安価なFPGAボードの紹介と任意波形発生器
 
トランジスタ回路:エミッタ接地増幅回路
トランジスタ回路:エミッタ接地増幅回路トランジスタ回路:エミッタ接地増幅回路
トランジスタ回路:エミッタ接地増幅回路
 
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
 
自作言語でお絵描き
自作言語でお絵描き自作言語でお絵描き
自作言語でお絵描き
 
OpeLa 進捗報告 at 第23回自作OSもくもく会
OpeLa 進捗報告 at 第23回自作OSもくもく会OpeLa 進捗報告 at 第23回自作OSもくもく会
OpeLa 進捗報告 at 第23回自作OSもくもく会
 
サイボウズ・ラボへ転籍して1年を振り返る
サイボウズ・ラボへ転籍して1年を振り返るサイボウズ・ラボへ転籍して1年を振り返る
サイボウズ・ラボへ転籍して1年を振り返る
 
USB3.0ドライバ開発の道
USB3.0ドライバ開発の道USB3.0ドライバ開発の道
USB3.0ドライバ開発の道
 
Security Nextcamp remote mob programming
Security Nextcamp remote mob programmingSecurity Nextcamp remote mob programming
Security Nextcamp remote mob programming
 
Langsmith OpeLa handmade self-hosted OS and LPS
Langsmith OpeLa handmade self-hosted OS and LPSLangsmith OpeLa handmade self-hosted OS and LPS
Langsmith OpeLa handmade self-hosted OS and LPS
 
OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作
 
自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装
 
1を書いても0が読める!?隠れた重要命令INVLPG
1を書いても0が読める!?隠れた重要命令INVLPG1を書いても0が読める!?隠れた重要命令INVLPG
1を書いても0が読める!?隠れた重要命令INVLPG
 
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osレガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free os
 
Building libc++ for toy OS
Building libc++ for toy OSBuilding libc++ for toy OS
Building libc++ for toy OS
 
プランクトンサミットの歴史2019
プランクトンサミットの歴史2019プランクトンサミットの歴史2019
プランクトンサミットの歴史2019
 
Introduction of security camp 2019
Introduction of security camp 2019Introduction of security camp 2019
Introduction of security camp 2019
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2
 
Timers
TimersTimers
Timers
 

Linuxカーネルモジュール自作入門 kprobesでカーネル空間ブレークポイント