タグ

カーネルに関するkenichiiceのブックマーク (10)

  • はじめてのにき(2015-04-29)

    _ syscall と syscall wrapper なんか安くなってるとのことで、遅らばせながらアセンブラ短歌を読んでみた。なんか自分でも考えてみたくなる。 で、中の余談の一節のしょうもないことが気になった。 なお正式 には exit() は _exit() を呼び出すためのライブラリ関数であり, _exit() が 来 のシステムコールの API だ . このため 「exit システムコール」 ではなく 「_exit システムコール」 と表記すべきで , man のカテゴリは exit(3) と_exit(2) になっている . まあでもあまり気にせずに , ここでは 「exit システムコール」と呼んでしまっている . これはなんか全体的におかしいような気がする。 int 0x80 で呼ぶ文脈なんだから、 linux システムコールというレイヤで見るべきというのは良いと思う。間

    kenichiice
    kenichiice 2015/05/14
    「まず、システムコールまわりには3つのレイヤがあると考えて良いと思う。」
  • perfの使いかた

    概要 Linuxのパフォーマンス解析ツールであるperfの使いかたの紹介 背景 個人的にperfよくできてると思うので紹介したいというのと、 パフォーマンスカウンタの読み方ってあんまり知られてないみたいなので、 それの解説を書きたい。 構成 perf について説明したあと、パフォーマンスカウンタの読みかた、見かた、を説明する。 perfとは何か Linuxに付いてくるプロファイラ。 man perf によると、 NAME ---- perf - Performance analysis tools for Linux と、書いてある。名前がひどいのでなんとかしてほしい。 perf の特徴 個人的には、手軽に使えるのが素晴らしいと思う。 2.6.31以降カーネルに標準で付いてる。(Ubuntuだとlinux-tools-common(TODO:あとで確認)で入るはず) 特殊な設定が必要無く、

    kenichiice
    kenichiice 2012/10/24
    「Linuxのパフォーマンス解析ツールであるperfの使いかたの紹介 」
  • 8月版 ブート時間の短縮にかけるカーネルアスリートたち(1/2) - @IT

    小崎資広 2008/9/1 OLS(Ottawa Linux Symposium)が終わって気分も一新、Linuxカーネルメーリングリスト(LKML)でのパッチの投稿ペースがまた上がってきています。 先日、某所で議論したところ、2008年のOLSのハイライトは 基調講演でTOMOYO LinuxがTOMOYA Linuxと呼ばれていた Tシャツの平均サイズが10年間でMからXLに成長。みんな大きくなったね だとか。 それでは、2008年8月のLKMLでどんなことが起きたのか見てみましょう。 ブート高速化フレームワークの開発始まる OSのブート処理の1つに、デバイスを初期化する処理があります。これによりさまざまなデバイスが使用可能になり、ディスクやネットワークといったリソースが使えるようになるわけです。 従来、Linuxの起動処理において、デバイスドライバの初期化は1つ1つシーケンシャルに処

    kenichiice
    kenichiice 2010/03/02
    「そのため、openシステムコールに「O_CLOEXECフラグ」を追加し、このフラグを指定すると、オープンと同時にclose-execをONにできるようにするという解決方法が選択されました。」
  • tcpdumpとiptablesの関係 - (ひ)メモ

    追記 2009-04-03 まったくもってブコメでいただいた指摘の通りです>< h2onda linux, tcpdump tcpdump(というかlibpcap)は、データリンク層(OSI layer2)レベルでパケットを取得する packet プロトコルを使ってるので、そうなります。参照: man packet(7) 2009/04/02 はてなブックマーク - h2ondaのブックマーク / 2009年4月2日 tt_clown network 細かいけど,図は逆(NIC が下)のが良いかなと思った./ "ip"tables と言う位だから,IP層でパケットをフィルタしてるて事だろうな.tcpdumpはEthernet Frameも見えるので,後は分かるな?・・・てとこか. 2009/04/02 はてなブックマーク - tt_clownのブックマーク / 2009年4月2日 pack

    tcpdumpとiptablesの関係 - (ひ)メモ
  • [linux-users:99771] Re: lsコマンドの表示について(ディレクトリのサイズ)

    楠根です。 きっと回答はあっちこっちから投稿されるでしょうし、 In Subject: [linux-users:99764] lsコマンドの表示について(ディレクトリのサイズ) "Toshiaki Maeda" <maeda _at_ auc.co.jp> wrote: >> かなり基的なことかもしれませんが、どうしても調べることが >> できないので、皆様お知恵をお貸し願えますでしょうか。 ということなので、 >> lsコマンドを使うときに「-l 」オプションをつけますと、 >> ディレクトリ内のファイルなどの詳細表示がでますよね(当たり前ですが・・・)。 >> このときにディレクトリの行にはファイルサイズが4096の倍数で >> 表示されている(あるいは別の数字の倍数?)と思いますが、 >> これには何らかの意味があるのでしょうか。 という質問について、答はだいたい推測はできますけ

  • Linux のスリープ処理、タイマ処理の詳細を見る - naoyaのはてなダイアリー

    UNIX でプロセスを一時的にスリープさせるには sleep(3) が使えます。sleep() は引数に秒単位でしか時間を指定できないので、より短い時間を指定したい場合は usleep(3) (マイクロ秒) や nanosleep(2) (ナノ秒) を使うことになります。sleep(), usleep() はライブラリ関数、nanosleep() はシステムコール*1です。 この usleep() や nanosleep() で 1ms 程度の短い時間プロセスを停止したとして、正確にその時間だけ停止させることはできるでしょうか。http://shiroikumo.at.infoseek.co.jp/linux/time/ にあるコードを参考に、実際に動かしてみます。カーネル 2.6.19 x86_64、CentOS 5 で試します。 まず、nanosleep() で 1ms のスリープを行

    Linux のスリープ処理、タイマ処理の詳細を見る - naoyaのはてなダイアリー
  • 大規模サイトのLinuxカーネルチューニング

    大規模サイトの為のLinuxカーネルチューニング (Linux kernel tuning for large site) 文責: もりかわひろかず * ** 大規模なサービスを行うサーバOSとしておこなうべき チューニングの定石について記述します kernelのバージョンは2.4.31を対象にしています (もう2.6でしょう) (2.4版のメンテやめます) OSのデフォルト設定は一般的な規模を想定しています それを逸脱するような大規模な用途(大規模なwebサーバ、 web cache(squid)サーバ、バーチャルドメインサーバ[仮想サーバ])に使用するには、 やはりそれなりのチューニングが必要になってきます 以下で、そのチューニングの定石を列挙します (なぜチューニングが必要なのか) (個々の値については各サイトで調節してください) (以下のパラメータは I

  • ylug.jp

    This domain may be for sale!

  • JF: Linux Kernel 2.6 Documentation: vm.txt

    JF: Linux Kernel 2.6 Documentation: /usr/src/linux/Documentation/sysctl/vm.txt sysctl/vm.txt /proc/sys/vm/* に関する文書 [プレインテキスト版] 原著作者: Rik van Riel <riel@nl.linux.org> 翻訳者: 川崎 貴彦 <takahiko(a)hakubi.co.jp> バージョン: 2.6.7 翻訳日時: 2004/07/29 /proc/sys/vm/* に関する文書 カーネルバージョン 2.2.10 (c) 1998, 1999, Rik van Riel <riel@nl.linux.org> 一般的な情報と法的宣言については、README を見てください。 ============================================

  • Linux V2.4 カーネル内部解析報告 ドラフト もくじ

    トップページへ Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。 目次まえがき第0章 Linuxカーネルの構成要素 0.1 Linuxカーネルとは 0.2 Linuxカーネルのソースコード 0.3 Linuxカーネル機能の概要 0.4 カーネルプリミティブ 0.5 プロセス管理 0.6 メモリ管理 0.7 ファイルシステム 0.8 ネットワーク 0.9 プロセス間通信 0.10 Linuxカーネルの起動 0.11 Linuxカーネルの動作例 Part 1 カーネルプリミティブ第1章 プロセススケジューリング 1.1 マルチタスク 1.2 プロセスとは? 1.3 プロセス切り替え 1.4 プロセスディスパッチャの実装 1.5 プロセススケジューラ 1.6 プロセススケジューラの実装 1.7 事象の待ち合わせ 1.8 最

    Linux V2.4 カーネル内部解析報告 ドラフト もくじ
  • 1