SlideShare ist ein Scribd-Unternehmen logo
1 von 41
カーネルコンパイルから見るLinux

2008.01.21
トライポッドワークス 庄司




      Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
目次
   Linuxカーネル概要

   git概要

   カーネルコンパイルの前に

   カーネルコンパイル〜インストール

   障害解析のために




            Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Linuxカーネル概要




Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Linuxとは
Linuxとは、UNIXライクな(UNIXに似た)コンピュータ用
オペレーティングシステム (OS) である。

現在では、パーソナルコンピュータに限らず、携帯電話
のような組み込みシステムからメインフレームや
スーパーコンピュータまで、幅広く利用されている。
                      参考:WikiPedia




      Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Linusのツリー
Linuxはリーナス・トーバルズ (Linus Torvalds) がMinix
より優れたUNIX互換OSを開発したいという動機から生み出さ
れた。

現在はLinux Kernel Mailing List (LKML) を中心として
開発が行われている。

Linusの開発ツリーであるバニラカーネルは
  http://www.kernel.org/
から入手することができる。




        Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Linuxのコード量




     Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
git概要




Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
git背景
現在、バニラカーネルはバージョン管理システムである
gitによって管理されている。

カーネルの開発では、LKMLに投稿されるパッチをカーネル
メンテナがソースコードに適用するという形式を用いている
が、以前はBitKeeperというバージョン管理システムを
用いて管理していた。しかし、このシステムは商用のため
快く思わないAndrew Tridgellが開発したBitKeeperクローン
によってBitKeeperの提供が停止されてしまった。

その代替としてリーナス・トーバルズによってgitが
開発された。

         Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
gitのインストール
Fedora8の場合
 # yum install git

http://git.or.cz/からダウンロードもできます。

ソースからの場合
 # make configure
 # ./configure
 # make all doc
 # make install install-doc




         Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
gitのフロントエンドツール
gitはコマンドラインから使いますが、フロントエンド
ツールも各種あります。

CUIな人用    cogito
GUIな人用    gitk, qgit
Webな人用    gitweb

Fedora8の場合
 # yum install cogit
 # yum install qgit
でインストールできます。


         Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
gitの準備
gitは他のバージョン管理ツールと同様、ローカルに
クローンを作るところから始めます。

Linusのツリーのクローンを手元におく
# git-clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin ux-2.6.git
    linux-2.6


   Initialized empty Git repository in .git/
   Fetching head...
   Fetching objects...
   Getting alternates list for http://kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
   Getting pack list for http://kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
   Getting index for pack 1dae8aeac81b760f1831b7a0fbfdbbe4079b456e
   Getting index for pack c6558d5da67a60d5e50d0235cd4bf555bd420cd1
   Getting index for pack e65d48b3632f2657eb9ab7a21aa73d337dbbdc88
   Getting pack e65d48b3632f2657eb9ab7a21aa73d337dbbdc88
     which contains fd0b45dfd1858c6b49d06355a460bcf36d654c06
   A
   Getting pack 1dae8aeac81b760f1831b7a0fbfdbbe4079b456e
     which contains 8d14531846b95bfa3564b58ccfb7913a034323b8
     .
     .
     .

                  Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
gitの基本的な使い方
時間がたって古くなったリポジトリを最新にするには
# cd linux-2.6
# git-pull git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linu x-2.6.git




ファイルをリポジトリから取り出すとき
# git-checkout




変更履歴(ログ)を見たいとき
# git log




                 Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
gitの便利な使い方1
変更履歴と共にパッチも見たいとき
# git log -p
 パッチはunified形式(diff -u)



パスの指定も出来ます。
# git log fs/xfs




grepと合わせて人名で検索したり
# git grep Linus


commit idを覚えておいて後で読むことも出来ます。
# git show bad60fdd14df32459e31cc75ab681e4458bf25cf




                   Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
gitの便利な使い方2
バージョン間の変更履歴が見たいとき
# git log v2.6.24-rc4..v2.6.24-rc5


[タグ名..タグ名]でバージョン間指定
[タグ名..]で最新までの変更履歴
[..タグ名]でタグまでの変更履歴



どのようなタグ名があるか
# git tag




                Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
ここまでできれば
ここまでできればgitを利用してLinusのツリーを参照
することができます。

参照することにより、細かいバージョン間での
バグフィックス、機能追加修正などをモニタすることが
できます。




       Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
カーネルコンパイルの前に




 Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
linux-2.6のディレクトリ構成
 # cd linux-2.6
 # ls
                ドキュ メントが格 されています。
                         納
Docum at i on
     ent        各 アーキテクチャ の説 やチュ ーニングパラメータ について記 しています。
                 種          明                   載
                しかし、 かならずしも実 されているコードと ドキュ メントが同 しているわけではあり ません。
                            装                   期
                アーキテクチャ に依 するソースコードが格 されています。
                          存           納
                al pha, avr 32, cr i s, h8300, m , m
                                                  32r 68knom u, par i sc, ppc, sh, spar c, um x86,
                                                            m                                ,
ar ch
                ar m bl ackf i n, f r v, i a64, m m ps, pow pc, s390, sh64, spar c64, v850, xt ensa
                    ,                            68k, i     er

bl ock          ブロッ ク I / O するソースコードが格 されています。
                           に関                      納
cr ypt o        暗 処 に関
                  号 理 するソースコードが格 されています。        納
                ドライバのソースコードが格 されています。    納
dr i ver s
                サブディ レクトリ にはさらに細            かい分 がされています。
                                                  類
fs              フ ァ イルシステムに関      するソースコードが格 されています。  納
i ncl ude       へッ ダフ ァ イルが格 されています。
                                納
i ni t          カーネルの初 化    期 コード ( m n. cなど ) が格 さ れています。
                                      ai             納
i pc            プロセス間 信 するソースコードが格 されています。
                          通 に関                       納
ker nel         カーネル本 のソースコードが格 されています。
                          体                   納
lib             カーネルが使 するいく つかの関 のソースコ ードが格 されています。
                            用                 数              納
m m             メモリ マネジメントに関        するソースコードが格 されています。   納
net             ネッ トワークに関      するソースコードが格 されています   納
sam es
     pl         カーネルモジュ ールに関        するサンプルコードが格 されています。   納
                 ake         ake enuconf i g, m xconf i gなどのカーネルの
                m conf i g, m m                ake
scr i pt s
                コンフ ィ グレーショ ンに使 されるスクリ プトが格 されています。
                                      用                    納
secur i t y     セキュ リ ティ ( 権 管 、 SELi nuxなど) に関
                               限 理                      するソースコードが格 されています。
                                                                  納
sound           サウンドに関      するソースコードが格 されています。  納
usr             カーネル内     のツールに関    するソースコードが格 されています。   納


                              Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
TIPS:タグの生成
カーネルのタグを生成しておく
カーネルのタグを生成しておくことで変数や関数
ジャンプを容易にすることができます。


Emacsな人
# find . -name "*.[ch]" -print | etags -

viな人
# ctags -R
   or
# make tag




                Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Documentation 一例(1)
# cd linux-2.6/Documentation/filesystems
# less proc.txt
/procファイルシステムに関するドキュメント
0 Preface
0.1 Introduction/Credits
0.2 Legal Stuff

1     Collecting System Information
1.1   Process-Specific Subdirectories
1.2   Kernel data
1.3   IDE devices in /proc/ide
1.4   Networking info in /proc/net
1.5   SCSI info
1.6   Parallel port info in /proc/parport
1.7   TTY info in /proc/tty
1.8   Miscellaneous kernel statistics in /proc/stat                   1. /procから参照できる情報
2 Modifying System Parameters                                         2. /procから設定できる情報
2.1 /proc/sys/fs - File system data
2.2 /proc/sys/fs/binfmt_misc - Miscellaneous binary formats           (カーネルパラメータ)
2.3 /proc/sys/kernel - general kernel parameters
2.4 /proc/sys/vm - The virtual memory subsystem
2.5 /proc/sys/dev - Device specific parameters
2.6 /proc/sys/sunrpc - Remote procedure calls
2.7 /proc/sys/net - Networking stuff
2.8 /proc/sys/net/ipv4 - IPV4 settings
2.9 Appletalk
2.10 IPX
2.11 /proc/sys/fs/mqueue - POSIX message queues filesystem
2.12 /proc/<pid>/oom_adj - Adjust the oom-killer score
2.13 /proc/<pid>/oom_score - Display current oom-killer score
2.14 /proc/<pid>/io - Display the IO accounting fields
2.15 /proc/<pid>/coredump_filter - Core dump filtering settings

                                Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Documentation 一例(2)
ソースコードの実装を調べるにはgrepまたはタグを利用する

ここではdirty_background_ratio
# grep -rn dirty_background_ratio .
 ./kernel/sysctl.c:828:     .procname     = "dirty_background_ratio",
 ./kernel/sysctl.c:829:     .data     = &dirty_background_ratio,
 ./kernel/sysctl.c:830:     .maxlen     = sizeof(dirty_background_ratio),
 ./kernel/sysctl_check.c:118: { VM_DIRTY_BACKGROUND,            "dirty_background_ratio" },




kernel/sysctl.cが/procのインターフェースを実現している!

ここに新たなエントリを追加すれば/procからカーネルの挙動操作できる
インターフェースを作ることができます。




                       Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
makeコマンド1
カーネルのコンパイル設定はmakeから行う

makeコマンドのオプション
# make help
   Cl eani ng t ar get s: ク リ ーン ア ッ プ する ためのオ プ ショ ン
     cl ean            - R ove m
                          em      ost gener at ed f i l es but keep t he conf i g and
                         enough bui l d suppor t t o bui l d ext er nal modul es
     m pr oper
       r               - R ove al l gener at ed f i l es + conf i g + var i ous backup f i l es
                          em
     di st cl ean      - m pr oper + r em
                          r              ove edi t or backup and pat ch f i l es

   Conf i gur at i on t ar get s: カ ーネル設定値を 変更する ためのオ プ ショ ン
     conf i g              - Updat e cur r ent conf i g ut i l i si ng a l i ne- or i ent ed pr ogr am
     m enuconf i g         - Updat e cur r ent conf i g ut i l i si ng a m enu based pr ogr am
     xconf i g             - Updat e cur r ent conf i g ut i l i si ng a Q based f r ont - end
                                                                           T
     gconf i g             - Updat e cur r ent conf i g ut i l i si ng a G based f r ont - end
                                                                           TK
     ol dconf i g          - Updat e cur r ent conf i g ut i l i si ng a pr ovi ded . conf i g as base
     si l ent ol dconf i g - S e as ol dconf i g, but qui et l y
                              am
     r andconf i g         - N conf i g w t h r andom answ t o al l opt i ons
                              ew            i                    er
     def conf i g          - N conf i g w t h def aul t answ t o al l opt i ons
                              ew            i                     er
     al l modconf i g      - N conf i g sel ect i ng m
                              ew                        odul es w    hen possi bl e
     al l yesconf i g      - N conf i g w e al l opt i ons ar e accept ed w t h yes
                              ew            her                                        i
     al l noconf i g       - N conf i g w e al l opt i ons ar e answ ed w t h no
                              ew            her                               er       i


                   Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
makeコマンド2
  St at i c anal yser s: 静的解析のためのオ プ ショ ン
    checkst ack       - Gener at e a l i st of st ack hogs
    nam  espacecheck - N e space anal ysi s on com l ed ker nel
                         am                            pi
    expor t _r epor t - Li st t he usages of al l expor t ed sym s
                                                                bol
    header s_check - S t y check on expor t ed header s
                         ani

  Ker nel packagi ng: カ ーネルパッ ケージン グのためのオ プ ショ ン
    r pm pkg
         -         - B l d t he ker nel as an R M package
                      ui                       P
    bi nr pm pkg
             -     - B l d an r pm package cont ai ni ng t he com l ed ker nel
                      ui                                         pi
                     and m es
                          odul
    deb- pkg       - B l d t he ker nel as an deb package
                      ui
    t ar - pkg     - B l d t he ker nel as an uncom essed t ar bal l
                      ui                            pr
    t ar gz- pkg   - B l d t he ker nel as a gzi p com essed t ar bal l
                      ui                               pr
    t ar bz2- pkg  - B l d t he ker nel as a bzi p2 com essed t ar bal l
                      ui                                pr

  Docum at i on t ar get s: ド キュ メ ン ト 作成のためのオ プ ショ ン
           ent
   Li nux ker nel i nt er nal docum at i on i n di f f er ent f or m s:
                                    ent                             at
    ht m docs
         l              - H L
                            TM
    i nst al l mandocs - i nst al l m pages gener at ed by m
                                     an                          andocs
    m andocs            - m pages
                            an
    pdf docs            - PFD
    psdocs              - P scr i pt
                            ost
    xm docs
       l                - XL D
                            M ocBook


               Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
makeコマンド3
O her gener i c t ar get s: そ の他のオプショ ン
 t
                                                                                                         他にもmake helpコマンドでは
   al l                     - B l d al l t ar get s m ked w t h [ *]
                                ui                      ar       i
* vm i nux
      l                     - B l d t he bar e ker nel
                                ui                                                                       表示されないオプションもあります。
* m  odul es                - B l d al l m
                                ui            odul es
   m odul es_i nst al l - I nst al l al l m     odul es t o I N TA
                                                                S LL_M D A ( def aul t : / )
                                                                         O _P TH                         -j n [n>=2]
   di r /                  - B l d al l f i l es i n di r and bel ow
                               ui                                                                          並列コンパイル
   di r / f i l e. [ oi s] - B l d speci f i ed t ar get onl y
                               ui
   di r / f i l e. ko       - B ld m
                                ui      odul e i ncl udi ng f i nal l i nk
   r pm                    - B l d a ker nel as an R M package
                               ui                           P
   t ags/ TA S  G           - G ener at e t ags f i l e f or edi t or s
   cscope                  - G ener at e cscope i ndex                                                   詳しくはMakefileを見てください^^;
   ker nel r el ease - O put t he r el ease ver si on st r i ng
                                ut
   ker nel ver si on - O put t he ver si on st or ed i n M
                                ut                                     akef i l e
   header s_i nst al l - I nst al l sani t i sed ker nel header s t o I N TA      S LL_H R A
                                                                                        D _P TH
                              ( def aul t : / w k/ S M N R 20080121/ l i nux- 2. 6/ usr )
                                               or     EI A/

Ar chi t ect ur e speci f i c t ar get s ( i 386) : i 386 固有のオプショ ン
* bzI m age        - C pr essed ker nel i m
                       om                          age ( ar ch/ x86/ boot / bzI mage)
  i nst al l       - I nst al l ker nel usi ng
                       ( your ) ~/ bi n/ i nst al l ker nel or
                       ( di st r i but i on) / sbi n/ i nst al l ker nel or
                       i nst al l t o $( I N TA
                                             S LL_P TH and r un l i l o
                                                        A )
  bzdi sk         - C eat e a boot f l oppy i n / dev/ f d0
                     r
  f di mage       - C eat e a boot f l oppy i m
                     r                                age
  i soi mage      - C eat e a boot C - R M i m
                     r                     D O         age

  make   V=0| 1   [ t ar get s]   0 => qui et bui l d ( def aul t ) , 1 => ver bose bui l d
  make   V=2      [ t ar get s]   2 => gi ve r eason f or r ebui l d of t ar get
  make   O r
          =di     [ t ar get s]   Locat e al l out put f i l es i n " di r " , i ncl udi ng . conf i g
  make   C=1      [ t ar get s]   Check al l c sour ce w t h $C E K ( spar se by def aul t )
                                                           i        HC
  make   C=2      [ t ar get s]   For ce check of al l c sour ce w t h $C E K
                                                                        i        HC




                                          Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Configuration option(1)
make config等のconfiguration targetを指定することでカーネルの初期パラメータを変更
することができます。

(画像はGTK+を使用したmake gconfigを実行したところです。)


                                                        Configオプション一例
                                                        make config
                                                         CUIパラメータ問い合わせ型


                                                        make menuconfig
                                                         CUIメニュー型


                                                        make xconfig
                                                         GUI Qt版メニュー型


                                                        make gconfig
                                                         GUI GTK+版メニュー型




           Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Configuration option(2)
最新のLinuxカーネルのパラメータは1000を超えると言われています。
トップグループの概要を紹介します。
    G al set up
      ener                                      一 般的な設定
    E e l oadabl e m e suppor t
      nabl                 odul                 動 的に組み込み可    能なカーネル・ モジュ ールに関する設定
    E e t he bl ock l ayer
      nabl                                      ブロッ ク・ デバイス層に関する設    定
    P ocessor t ype and f eat ur es
      r                                         プロセッ サの種類や利用する機能に関する設定
    P er m
      ow anagem opt i ons ( A P , A M
                      ent          CI P)        A P やA M
                                                 C I P などの電源管理  機構に関する設  定
    B opt i ons ( P I , P MI A E S , MA I S )
      us                C CC , I A C , A        P I やI S などのバスに関する設定
                                                 C      A
    E xecut abl e f i l e f or m s
                               at               実 ァ イル形式に関する設定
                                                  行フ
    N w ki ng
      et or                                     ネッ トワークに関する設定
    D ce D i ver s
      evi      r                                デバイス・ ドラ イバに関する設定
    Fi l e syst em s                            フ ァ イル・ システムに関する設定
    I nst r um at i on S
              ent          uppor t              システム測定に関する設定
    K nel hacki ng
      er                                        カーネルのデバッ グに関する設定
    S i t y opt i ons
      ecur                                      セキュ リ ティ 機構に関する設定
    C ypt ogr aphi c opt i ons
      r                                         暗 号機能に関する設定
    Li br ar y r out i nes                      ライブラリ ・ モジュ ールに関する設定


比較的新しく、日本語のわかりやすい解説は下記が参考になります。
http://itpro.nikkeibp.co.jp/article/COLUMN/20071025/285507/?ST=oss

                      Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Configuration option(3)
パラメータ設定のポイント
 膨大な数のパラメータを一つひとつ理解するのは不可能。

そこで、重要なポイント
〜debugはリリース時点ではすべてNに設定する。
 余計なメッセージが表示・記録されてしまうため

カーネル機能はYに設定しておく方が安心。
 組み込んでもそれを利用することができるソフトがないと使えないので、
 邪魔にはならない。但し、パフォーマンスを求める場合には要注意。

Code maturity level optionsはNにする。
 不完全な実装設定の意味。Yにして余計な苦労をするくらいなら...

ハードウェアサポートはNにする。
 よくわからないハードウェアは調べてからYにするようにする。
 電源系のトラブルはやっかいなので、同様にPower management optionは
 Nにしておくとよい。
 Bus optionは明らかに実装されていないものはNに、よく分からないものは
 Yにする。
         Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
Configuration option(4)
そこで、重要なポイント(つづき)
Excutable file formatsは全てY。
 実行形式は色々な形式が利用できたほうが便利だと思います...

Networking -> Networking options
 Packet socket, Unix domain sockets, PF_KEY sockets, TCP/IP networking
 は最低必要。他は必要に応じて入れる。

Device DriversはM
 よく分からないものはMにしておくと後からinsmodで容易に追加できる。

File systemsはMまたはY
 他のファイルシステムにアクセスすることがあるなら組み込んでおく方が
 安心。CFやCD-ROM等をマウントするファイルシステムも考慮しておく。

ホット・プラグはMで
 USBやPCMCIAといったホットプラグ対応デバイスはMにしておく。



              Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
カーネルコンパイル〜インストール




   Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
ビルドからインストールまで(1)
Linuxカーネルのビルドは2.4カーネルと2.6カーネルでは若干異なります。
2.6カーネルの手順は2.4カーネルに比べると容易です。

2.4カーネルの場合
# make mrproper                           注:configを行う前に初期化します。
 (make menuconfig 等)
# make dep                              依存関係のチェックを行います。
# make clean                            不要なファイルを削除します。
# make bzImage                          カーネルをコンパイルし、圧縮された
                                        新しいカーネルを作成します。
# make modules                          カーネルモジュールをコンパイルします。
# make modules_install                  カーネルモジュールをインストールします。
# mkinitrd /boot/initrd-2.4.xx.img 2.4.xx
                                        ブロックデバイスのpreload RAM imageを
                                        作ります。

# vi /boot/grub/grub.conf      新しいカーネルのエントリを追加



                  Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
ビルドからインストールまで(2)
2.6カーネルの場合
# make
 ( make V=1 とするとmakeの状態を表示します)
 2.6カーネルではmake一発で出来ます。

# make modules_install
 カーネルモジュールがインストールされます。

# make install
 カーネルがインストールされます。grub.confの設定もしてくれます。




           Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
TIPS:mkinitrd
mkinitrdとは
 ブート時に最初に読み込まれるルートファイルシステムの
 RAMイメージファイルを作成するためのコマンドです。

RAMイメージファイルはなぜ、必要か?
 ルートファイルシステムがSCSIハードディスク上にある場合、SCSIサポート
 するドライバが予め必要です。初期RAMディスクはこのドライバを組み込んだ
 カーネルをメモリ上に展開し、起動することによりSCSIハードディスクから
 実際のファイルシステムをマウントしなおすという起動プロセスを取ることが
 できます。

mkinitrdのコマンド

 # mkinitrd [オプション] RAMイメージファイル カーネルバージョン

関連
 depmod



             Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
/boot/grub/grub.confについて
カーネルはGRUBというブートローダーから起動します。
以前はLILOというブートローダーを使用していました。

grub.confの書式
# info grub        : Emacsライクなインターフェースで起動します
 #                                                  #はコメント
 default=0                                    n番目のエントリを起動
 timeout=5                                          GRUBメニューのタイムアウト(秒)
 splashimage=(hd0,0)/grub/splash.xpm.gz             GRUBメニューの背景画像

 title Fedora (2.6.23.9-85.fc8)                           GRUBメニューに表示されるOS名
                                                          (0番目のエントリ)
      root (hd0,0)                                        1台目のHDDの3番目のパーティションから起動
                                                          IDE:/dev/hda3, SCSIorSATA:/dev/sda3
      kernel /vmlinuz-2.6.23.9-85.fc8 ro root=LABEL=/ rhgb quiet
                                                          カーネルイメージの指定
      hda=ide-scsi
      initrd /initrd-2.6.23.9-85.fc8.img        初期RAMイメージの指定




                      Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
障害解析のために




Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
dmesg
dmesgコマンドはカーネルが出力する環状バッファ情報を表示し
ます。

どこで使うの?
 起動時のカーネル情報の確認
 ドライバのロード、アンロード時の確認
 ソフトウェアの動作異常
 ストレージのマウント・アンマウント前に

メッセージの意味がわからないときは?
 OSS Message Pediaでメッセージを検索
  http://ossmpedia.org/
 RedHatのBugzillaで検索
  http://ossmpedia.org/
 カーネルソースをgrepしてみる




           Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
strace
straceはユーザーランドのシステムコールを
トレースします。

どこで使うの?
 ユーザーランドプログラムが落ちる。
 カーネルを変更すると動作する。
[root@tshoji120 20080121]# strace /bin/ls
execve("/bin/ls", ["/bin/ls"], [/* 50 vars */]) = 0
brk(0)                          = 0x8937000
access("/etc/ld.so.preload", R_OK)          = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)              =3
fstat64(3, {st_mode=S_IFREG|0644, st_size=117879, ...}) = 0
mmap2(NULL, 117879, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f0d000
close(3)                         =0
open("/lib/librt.so.1", O_RDONLY)           =3
read(3, "¥177ELF¥1¥1¥1¥0¥0¥0¥0¥0¥0¥0¥0¥0¥3¥0¥3¥0¥1¥0¥0¥0`y¥36¥0004¥0¥0¥0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=48072, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7f0c000
mmap2(0x1e6000, 33328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x1e6000
mmap2(0x1ed000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3,
0x7) = 0x1ed000           Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
close(3)                         =0
diskdump, netdump
diskdump, netdumpはカーネルパニック時に
メモリの内容をダンプします。

どこで使うの?
 カーネルパニックが発生したが、心当たりが無い。




        Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
kdb
kdbはカーネルの実行をトレースし、メモリやデータ構造を調査す
るのに便利です。

どこで使うの?
 実行中のカーネルに不具合があり、再現性があるとき。

デバッグ機能
 メモリ内容の表示と編集
 レジスタ内容の表示と編集
 ブレークポイント
 スタックトレース
 逆アセンブル

注意
 kdbの実行にはあらかじめカーネルにパッチを当てておく必要があります。




        Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
sar, iostat, mpstat
sar, iostat, mpstatはカーネルがスローダウンした
ときに調査するのに便利です。

どこで使うの?
 パフォーマンス測定やスローダウンの原因がわからないとき。




         Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
minicom(シリアル接続)
シリアル接続はブート時のメッセージを保存したいとき
デバッガの使用等ひとつ用意してあると便利です。

どこで使うの?
 カーネルのブートをモニタする
 デバッガに接続する
 ファームをダウンロードする

Linuxのターミナルソフトではminicomが有名です。
シリアルケーブルがUSBの場合は:/dev/ttyUSB0のように認識されます。




          Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
参考資料
IPA OS層 ~障害解析の手順・ツール評価編~
http://www.ipa.go.jp/software/open/forum/development/download/051115/OS-Tools.pdf


詳解 Linuxカーネル第2版
第3版 ISBN-13: 978-4873113135


Linuxカーネル2.6解読室
ISBN-13: 978-4797338263


日経 Linux Linuxカーネル徹底理解
ISBN-13: 978-4822234140


WikiPedia
http://ja.wikipedia.org/




                       Copyright © 2007, TripodWorks CO.,Ltd. All Rights Reserved.
http://www.tripodworks.co.jp

Weitere ähnliche Inhalte

Was ist angesagt?

4章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 34章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 3mao999
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめMakiko Konoshima
 
Return Oriented Programming
Return Oriented ProgrammingReturn Oriented Programming
Return Oriented Programmingsounakano
 
4章 Linuxカーネル - 割り込み・例外 5
4章 Linuxカーネル - 割り込み・例外 54章 Linuxカーネル - 割り込み・例外 5
4章 Linuxカーネル - 割り込み・例外 5mao999
 
Windowsのパケットモニタ作成
Windowsのパケットモニタ作成Windowsのパケットモニタ作成
Windowsのパケットモニタ作成Shinichi Hirauchi
 
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)Shinya Takamaeda-Y
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt AffinityについてTakuya ASADA
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Studyirix_jp
 
コンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてコンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてTomofumi Hayashi
 
Buffer overflow
Buffer overflowBuffer overflow
Buffer overflowionis111
 
std::pin の勘所
std::pin の勘所std::pin の勘所
std::pin の勘所Hiroaki Goto
 
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)Shin-ya Koga
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたnpsg
 
SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」
SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」
SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」Makoto Hirahara
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータShinya Takamaeda-Y
 

Was ist angesagt? (20)

4章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 34章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 3
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ
 
Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門
 
Return Oriented Programming
Return Oriented ProgrammingReturn Oriented Programming
Return Oriented Programming
 
4章 Linuxカーネル - 割り込み・例外 5
4章 Linuxカーネル - 割り込み・例外 54章 Linuxカーネル - 割り込み・例外 5
4章 Linuxカーネル - 割り込み・例外 5
 
Windowsのパケットモニタ作成
Windowsのパケットモニタ作成Windowsのパケットモニタ作成
Windowsのパケットモニタ作成
 
Stager
StagerStager
Stager
 
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
 
Vyatta 改造入門
Vyatta 改造入門Vyatta 改造入門
Vyatta 改造入門
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Study
 
コンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてコンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用について
 
VTI の中身
VTI の中身VTI の中身
VTI の中身
 
Buffer overflow
Buffer overflowBuffer overflow
Buffer overflow
 
std::pin の勘所
std::pin の勘所std::pin の勘所
std::pin の勘所
 
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
 
ASAMAP 開発秘話
ASAMAP 開発秘話ASAMAP 開発秘話
ASAMAP 開発秘話
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
 
SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」
SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」
SFC デザイン言語WS(電子工作)第6回「PCとの連携・音」
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
 

Ähnlich wie Linux Kernel Seminar in tripodworks

PEZY-SC programming overview
PEZY-SC programming overviewPEZY-SC programming overview
PEZY-SC programming overviewRyo Sakamoto
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)NTT DATA Technology & Innovation
 
LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)Kazuko Itoda
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用Ruo Ando
 
Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewallM Hagiwara
 
C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml ssuser3a4b8c
 
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編Daiyu Hatakeyama
 
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドToru Tamaki
 
ソースコードリーディングの基礎
ソースコードリーディングの基礎ソースコードリーディングの基礎
ソースコードリーディングの基礎hogemuta
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, CodereadingHiro Yoshioka
 
Java EE7 䛸㻌JCache 
Java EE7 䛸㻌JCache Java EE7 䛸㻌JCache 
Java EE7 䛸㻌JCache maruyama097
 
ふつうのLinuxプログラミング
ふつうのLinuxプログラミングふつうのLinuxプログラミング
ふつうのLinuxプログラミングShuhei KONDO
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0Kiwamu Okabe
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会Hitoshi Sato
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1Etsuji Nakai
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Hiro Yoshioka
 
あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015
あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015
あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015CODE BLUE
 
20190625 OpenACC 講習会 第1部
20190625 OpenACC 講習会 第1部20190625 OpenACC 講習会 第1部
20190625 OpenACC 講習会 第1部NVIDIA Japan
 

Ähnlich wie Linux Kernel Seminar in tripodworks (20)

PEZY-SC programming overview
PEZY-SC programming overviewPEZY-SC programming overview
PEZY-SC programming overview
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
 
LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用
 
Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewall
 
C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml
 
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
 
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
 
GTC Japan 2017
GTC Japan 2017GTC Japan 2017
GTC Japan 2017
 
ソースコードリーディングの基礎
ソースコードリーディングの基礎ソースコードリーディングの基礎
ソースコードリーディングの基礎
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
Java EE7 䛸㻌JCache 
Java EE7 䛸㻌JCache Java EE7 䛸㻌JCache 
Java EE7 䛸㻌JCache 
 
ふつうのLinuxプログラミング
ふつうのLinuxプログラミングふつうのLinuxプログラミング
ふつうのLinuxプログラミング
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
 
あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015
あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015
あなたのAppleにもEFIモンスターはいませんか? by Pedro Vilaça - CODE BLUE 2015
 
20190625 OpenACC 講習会 第1部
20190625 OpenACC 講習会 第1部20190625 OpenACC 講習会 第1部
20190625 OpenACC 講習会 第1部
 
Mac Ports
Mac PortsMac Ports
Mac Ports
 

Kürzlich hochgeladen

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Kürzlich hochgeladen (8)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

Linux Kernel Seminar in tripodworks