タグ

Linuxに関するmsdyのブックマーク (284)

  • 拙著「Linuxネットワークプログラミング」:Geekなぺーじ

    Linuxネットワークプログラミング」というを書きました。 LinuxでCを利用してネットワークプログラミングを行うための解説書で、私にとって初の書籍執筆です。 昨年2月にソフトバンククリエイティブさんから書籍執筆のオファーを頂き、開始から約一年後の発売となります。 今回、C言語によるLinuxのネットワークプログラミング解説書籍を執筆する機会を頂けたのですが、書籍の大きな方向性として以下の点が挙げられます。 可能な限り、ソースコード全文を掲載する。断片的なソースコードだと手元で即座に試しにくい メインはIPv4を意識しながら書く ただし、getaddrinfo()を前提とし、IPv6が存在することを前提に書く IPv6移行がメインの書籍ではない。インターネットの世界がIPv4/IPv6デュアルスタックで運用されることになるという前提でネットワークプログラミング解説書を書いているだけ

  • C(++)言語: valgrindの使い方

    ubuntu% uname -a Linux ubuntu 2.6.12-10-386 #1 Sat Mar 11 16:13:17 UTC 2006 i686 GNU/Linux ubuntu% valgrind --version valgrind-3.0.1 (0) 目次 Valgrindに含まれるツール Memcheck: メモリエラーを検出する(default) Cachegrind: キャッシュミスを検出する Massif: ヒーププロファイラを使う まとめ valgrindの使い方とエラーメッセージを整理してみた。「valgrind --leak-check=full command」というコマンドラインをよく用いる。これによりメモリ周りのバグを検出出来る。 --tool=cachegrindではプログラム実行時のキャッシュミス率を測定する事が出来る。cg_annotateを

  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
    msdy
    msdy 2010/01/12
  • ifconfig ~(IP)ネットワーク環境の確認/設定を行う

    ifconfigは、LinuxmacOSなど、主にUNIX系OSで用いるネットワーク環境の状態確認、設定のためのコマンドだ。IPアドレスやサブネットマスク、ブロードキャストアドレスなどの基的な設定ができる他、イーサネットフレームの最大転送サイズ(MTU)の変更や、VLAN疑似デバイスの作成も可能だ。 目的と用途 ifconfigコマンドはLinuxなど、主にUNIX系OSで用いるネットワーク環境の状態確認や設定確認、設定のためのコマンドだ。ホストに設置された有線LANや無線LANなどのネットワークインタフェースに対し、IPアドレスやサブネットマスク、ブロードキャストアドレスなどの基的な設定ができる。加えて、現在の設定を確認できる。 現在ではほとんどの場合、IPv4のためにifconfigコマンドを用いるだろう。だが、歴史的にさまざまなOSやプロトコルに対応するよう開発された経緯がある

    ifconfig ~(IP)ネットワーク環境の確認/設定を行う
  • route - ルーティングテーブルの表示/設定を行う

    routeコマンドは、IPパケットをルーティングするためのルーティングテーブルの内容表示と設定を行う。ルーティングテーブルは、おもにOSが管理するルーティング情報を保管したメモリテーブルだ。テーブルのエントリーが経路を表している。経路はネットワークまたはホストへ到達するために通過する必要のあるゲートウェイを表している。 ここで、ルーティングテーブルの管理とは、 ルーティングテーブルの表示と確認 ルーティングテーブルへの経路の追加、削除、変更 を意味する。 書式 ●Windowsの場合 route[ -f][ -p][ PRINT| ADD| DELETE| CHANGE[ 宛先IPアドレス][ MASK サブネットマスクアドレス[ ゲートウェイIPアドレス][ METRIC メトリック数][ IF インターフェイス名]]

    route - ルーティングテーブルの表示/設定を行う
  • iproute2+tcを使って1台で複数インターネット接続

    ルーティングテーブルを確認する ルーティングテーブルは、おおむね次のような内容です。 # /sbin/route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 255.255.255.255 * 255.255.255.255 UH 0 0 0 eth0 210.160.79.96 * 255.255.255.240 U 0 0 0 eth1 210.163.168.144 * 255.255.255.240 U 0 0 0 eth2 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 210.160.79.97 0.0.0.0 UG 0 0 0 eth1 「Desti

  • Manpage of ROUTE

    Section: Linux Programmer's Manual (8) Updated: 2 January 2000 Index JM Home Page roff page 名前 route - IP 経路テーブルの表示/設定 書式 route [-CFvnee] route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If] route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If] route

  • はてなブログ | 無料ブログを作成しよう

    週報 2024/04/28 川はただ流れている 4/20(土) 初期値依存性 さいきん土曜日は寝てばかり。平日で何か消耗しているらしい。やったことと言えば庭いじりと読書くらい。 ベランダの大改造をした。 サンドイッチ 一年前に引っ越してからこんな配置だったのだけど、さいきん鉢を増やしたら洗濯担当大臣の氏…

    はてなブログ | 無料ブログを作成しよう
  • [ThinkIT] 第3回:システムの情報を集める (1/3)

    第1回ではパフォーマンス測定項目、第2回ではOSに設定されているパラメータを解説しました。今回は第1回に解説したCPUやディスクに関する情報を収集するコマンドを解説します。 Linuxのシステム情報を集めるのには、標準で使えるコマンドのほかにsysstatパッケージに含まれている「iostat」「sar」「mpstat」といったコマンドを使います。しかしOSインストール時のパッケージ選択画面で、標準を選択しているとsysstatパッケージは導入されません。 sysstatパッケージを導入するには、OSインストール時のパッケージ選択画面で「システムツール」を選択して詳細から個別にパッケージを選択するか、または、SYSSATのサイトからソースコードをダウンロードしてインストールすることも可能です。 sysstatパッケージは上記コマンドを提供するだけでなく、OS起動時にsysstatとcron

  • http://www.freewheelburning.com/linux/sysstat.html

  • OProfile

    OProfile とはOProfile はカーネルも含めたシステム全体のプロファイリングを行います。システ ム全体の処理時間が、カーネル、各カーネルモジュール、各ユーザープログラム、各 共有ライブラリのうちのどの部分で消費されたかという統計を得ることができます。 この統計はバイナリイメージごと、あるいは関数ごと、より詳細にアドレスごととい うように多様な形式で表示できます。OProfile はパフォーマンスカウンタを利用してハードウェアイベントに基づいた プロファイリングを行うことができます。パフォーマンスカウンタによって測定でき るイベントは、アーキテクチャーモデルにより異なりますが、例えば、キャッシュミ ス、クロックサイクル、TLB ミスといったイベントを測定できます。 そのため、さまざまな側面からプロファイリングを行うことが可能です。2.5 系のカーネルのバージョン 2.5.43 か

  • OProfile - A System Profiler for Linux (News)

    2020-07-20 OProfile 1.4.0 released OProfile 1.4.0 has been released. This release adds support for Marvell (Cavium) ThunderX2 and Hygon Dhyana CPU. This release also fixes issues with OProfile being unable to be built with newer versions of binutils and ensures that ocount does not leave orphan processes when an error occurs. 2018-07-16 OProfile 1.3.0 released OProfile 1.3.0 has been released. Thi

  • デバイス・ドライバ

    情報学類 オペレーティングシステムII 2007年02月06日 筑波大学システム情報工学研究科 コンピュータサイエンス専攻, 電子・情報工学系 新城 靖 <yas@is.tsukuba.ac.jp> このページは、次の URL にあります。 http://www.coins.tsukuba.ac.jp/~yas/coins/os2-2006/2007-02-06 あるいは、次のページから手繰っていくこともできます。 http://www.coins.tsukuba.ac.jp/~yas/ http://www.cs.tsukuba.ac.jp/~yas/ ■復習 オペレーティング・システム は、2つのインタフェースを、うまくつなぐもの。 ■デバイス 周辺装置。コンピュータの箱の中に内蔵されている部品やケーブルで外で接続 する部品。普通は、CPU とメモリ以外のもの。 アプリケーションからの

  • Androidの仕組みを知る(1)

    遂に日でもAndroid携帯が発売された。注目を集めているAndroidとは,一体何なのか,パソコンに移植するためにはどのような作業が必要なのか,アプリケーションを開発するにはどうするのか解説する。 Androidは,米Google社が開発し,携帯電話関連の業界団体であるOHA(Open Handset Alliance)が2007年11月に発表した,ソフトウエア・スタック(複数層で構成するソフトウエア群)である。 Androidを構成するソフトには,携帯端末向けに改良されたLinuxカーネルとミドルウエア,アプリケーションの実行環境,開発環境であるアプリケーション・フレームワーク,アプリケーション,がある。 Androidは携帯端末用として開発されているものの,適用範囲は携帯端末にとどまらない。Androidが現在対応しているCPUは英ARM社のARM系と米Intel社のx86系の2種

    Androidの仕組みを知る(1)
  • カーネルモジュールを作る

    ○ はじめに Linux® でのデバイスドライバは、カーネルに静的にリンクする形式と、動的にロードすることができるモジュール形式で作成することができます。 Webではカーネルモジュールの作成方法を説明します。 "C 言語によるプログラミングでは main() 関数から実行される" という約束事があるように、モジュールプログラミングにもこうしなければならないという約束事があります。 ここでは、簡単なモジュールを作ってみることでモジュールプログラミングに最低限必要な知識を説明します。 サンプルプログラム サンプルプログラムの説明 複数ファイルに分割して作成する printk の使い方 kmalloc / kfree によるメモリの確保 / 解放 module_init / module_exit マクロについて ○ サンプルプログラム カーネルへのロードおよびカーネルからのアンロードの

  • プレスリリース配信サービス | 共同通信PRワイヤー

    プレスリリース アクセスランキング 1 02/29 14:00 県内の有名店が一堂に集結! 「ラーメン県そば…

    msdy
    msdy 2009/11/13
  • プロセス間通信(3)/UDP/IPとシグナル

    システム・プログラム 電子・情報工学系 新城 靖 <yas@is.tsukuba.ac.jp> このページは、次の URL にあります。 http://www.hlla.is.tsukuba.ac.jp/~yas/coins/syspro-2002/2002-06-10 あるいは、次のページから手繰っていくこともできます。 http://www.hlla.is.tsukuba.ac.jp/~yas/coins/ http://www.is.tsukuba.ac.jp/~yas/index-j.html ■今日の重要な話 UDP/IP のプログラム socket() sendto() recvfrom() bind() ソフトウェア割込みとシグナル signal() kill() ■TCP/IPの基的な考え方 ◆通信路の開設 ■echo-client ■echo-server-fork ■

  • GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん

    Twitter上で、@alohakun が言及していた GDB の reverse debugging の機能を使ってみました。 GDB にトレースと逆実行機能入ったのか。 http://www.gnu.org/software/gdb/news/reversible.html http://twitter.com/alohakun/status/4481139191 まずは簡単な使い方を説明したあとに、インストール方法を説明します。 こんなときに便利 「変なこと」が起きている大体の場所がわかっているとき デバッグ中に、大体どこで変なことが起きているかはわかっているけど、細かい場所は特定できていないとき、reverse debuggingが効果を発揮します。 GDBでステップ実行をしていて、「しまった!行きすぎた!」という経験はよくあると思います。こういうとき、今まではプログラムの実行を最

    GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん
  • Debugging with GDB - GDB配下でのプログラムの実行

    プログラムをGDB配下で実行するには、 コンパイル時にデバッグ情報を生成する必要があります。 ユーザが選択した環境で、 必要に応じて引数を指定して、 GDBを起動することができます。 ネイティブ環境でデバッグを行っているのであれば、 プログラムの入力元と出力先をリダイレクトすること、 既に実行中のプロセスをデバッグすること、 子プロセスを終了させることもできます。 デバッグのためのコンパイル プログラムを効率的にデバッグするためには、 そのプログラムのコンパイル時にデバッグ情報を生成する必要があります。 このデバッグ情報はオブジェクト・ファイルに格納されます。 この情報は、 個々の変数や関数の型、 ソース・コード内の行番号と実行形式コードのアドレスとの対応などを含みます。 デバッグ情報の生成を要求するには、 コンパイラの実行時に`-g'オプションを指定します。 多くのCコンパイラでは、 `

  • LinuxDriverへの道21? - CRS Wiki

    LinuxDriverへの道20? 割り込みを利用します ハードウェアは、非同期的に動作します。 またアレな例でいくと、こちら*1からデートを申し込むって感じです。いままでは、呼び出されてデートしていましたが、逆にこちらに何かがたまってきたら、呼んでみるっていう感じです。 それを、「割り込み」といいます。 相手もこちらを愛してくれているので、基的にすぐ対処してくれます。しかも、こちらのわがままを聞いてくれるという、なんともいい人です。 また、こちらの連絡の仕方によってある程度できることも限られてきます。たとえば もうほとんど押しかけてしまうような状態 非常に強く・早い要求、他のものを中止させる 高速ハンドラ 普通は使わない ほかの割り込みをすべて中止させて実行させる。 時間計測に利用している 特別に理由がない限り利用しない 電話で、今すぐ声が聞きたい感じ。次の区切りぐらいに、ゆっくり?