タグ

kernelに関するJxckのブックマーク (6)

  • Linuxプロセスとカーネル読解のとっかかり - Qiita

    概要 Linux Kernelを読み解くためのとっかかりとしてLinuxのプロセスの理解(SoftwareDesign2014年8月号の特集参照)に焦点をあててみたいと思います。プロセス、スレッド、CPUについての話の後、最新カーネルのダウンロードからちょっとした中身の確認までやります。サンプルコードもありますが、サービス影響のあるサーバでは実行しないでください。 プロセスとスレッド プロセスとは Linux上で動いているプログラム スレッドが無い時はプロセスが実行単位 スレッドとは Linuxプロセスにおけるスレッド 「1つのプロセスの中で複数の実行単位を持てるように機能拡張したもの」(SoftwareDesign2014年8月号) CPUにおけるスレッド 「最小の処理単位」 プロセス2が終わった後に処理できるプロセス3がある例 スレッドを利用しない場合(左図) プロセス2の処理が終わる

    Linuxプロセスとカーネル読解のとっかかり - Qiita
  • perf + Flame Graphs で Linux カーネル内のボトルネックを特定する - ablog

    Linuxでddで1GBのファイルを作成し perf でプロファイリングし、Flame Graph (炎のグラフ?)にして可視化したものです。 Flame Graphs は perf(Linux)、SystemTap(Linux)、DTrace(Solaris、Oracle Linux(UEK)、Mac OS X、FreeBSD)、XPerf.exe(Windows) などでのプロファイリング結果を可視化して最も使われているコードパスを早く正確に特定することができます。実体はプロファイリング結果をグラフ(SVG)に変換する Perl スクリプトです。 下から上に行くほどコールスタックが深く、左から関数名のアルファベット順でソートされています。一番上で横幅が広い関数がCPUを長く使っています。今回は "_aesni_enc1" つまり暗号化がボトルネックになっていることがわかります。 システ

    perf + Flame Graphs で Linux カーネル内のボトルネックを特定する - ablog
  • 【linux】カーネルパニックの種類 | 発生方法 | 対処

    1. カーネルパニックとは カーネルパニックとは、カーネルで致命的なエラーが発生し、OSの稼動が完全に停止した状態の事を言います。OSを継続して稼動さえることは不可能であり、再起動するしかありません。エラーの原因を調査するために、カーネルパニック時にはメモリダンプ(カーネルダンプ、クラッシュダンプ、コアなどと呼ぶ場合も有ります)を出力することが可能です。メモリダンプとは実メモリの内容をファイルに出力する機能のことを言います。OSがsyslog (シスログ) に書き出す余裕もなくクラッシュするのでメモリダンプは唯一の解析の手がかりとなることもあります。OSを再起動すると、メモリダンプが /var/crash/<IP アドレス-YYYY-MM-DD-mm:ss>/vmcore にコピーされます。(diskdumpの場合) 参考:diskdumpの設定方法 2. カーネルパニックの種類 カーネル

    【linux】カーネルパニックの種類 | 発生方法 | 対処
    Jxck
    Jxck 2015/07/06
    kernel panic の発生方法
  • Linux/arm64のブートプロセスについてのメモ - Qiita

    Linuxのブートプロセスを追うときに見るべきファイル(x86_64編)のarm64版のようなもの。 ブートストラップ linux/Documentation/arm64/booting.txt によると、現在のarm64用カーネルは、x86_64用カーネルが持つようなブートストラップの機能が存在しない。実際、arch/arm64/boot/以下にはx86_64のようなソースコード(head_64.S等)が存在しない。ブートローダがハードウェアの最低限の初期化をして、解凍された生のカーネルイメージ(ELFではない)を配置、エントリポイントにジャンプしてやらないといけない。カーネルに実行を移すときの要件も、booting.txtに書かれている。 ブートローダとしては、ubootやUEFIが使えると思われる。(Boot Wrapperというのも使えるみたいだが、今も使えるかは分からない。) a

    Linux/arm64のブートプロセスについてのメモ - Qiita
  • Linuxのブートプロセスを追うときに見るべきファイル(x86_64編) - Qiita

    4.0というか4/25時点のLinusツリーのHEAD リアルモードでbzImage(vmlinuz)の先頭から呼ばれる場合(LILOから呼ばれるときだっけ?) arch/x86/boot/header.S 圧縮されたカーネル(bzImage)の先頭にあるコード(setup.elf)のうちの一つ エントリポイント_startがある mainを呼ぶ arch/x86/boot/main.c mainがある いろいろハードウェアを初期化する go_to_protected_modeを呼ぶ arch/x86/boot/pm.c go_to_protected_modeがある setup_idtとかsetup_gdt等でプロテクトモードへ入る準備をする protected_mode_jumpでcode32_start(startup_32がある場所)へジャンプする startup_32は0x100

    Linuxのブートプロセスを追うときに見るべきファイル(x86_64編) - Qiita
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • 1