タグ

ブックマーク / www.gcd.org (6)

  • 仙石浩明の日記: ハードウェア・ウォッチドッグ・タイマー iTCO_wdt のススメ

    極めて稀とはいえ、Linux もハングすることはある。 ハードウェア自体には何ら異常はなく、 リセットスイッチを押したら正常に再起動してしまって、 何が問題だったか分からずじまい、という経験は誰にでもあるのではなかろうか。 原因不明のハングが全く無くなるのが理想ではあるのだが、 ハングして止ったままになるよりは、 自動的にリセットがかかって再起動してくれたほうがいい、という場合もあるだろう。 もちろんハードウェア障害が原因でハングしてしまった場合は、 リセットスイッチを押しても解決にはならない。 再起動を試みることにより、障害がより致命的になる可能性もあるので、 ウォッチドッグ・タイマーを設定する際は、 「止ったまま」と「自動再起動」とどちらがマシか天秤にかける必要がある。 そんなとき、 ウォッチドッグ・タイマー (watchdog timer) が便利。 一定時間 (例えば 30秒) 放

    teahut
    teahut 2007/10/15
    >一定時間 (例えば 30秒) 放置するとシステムを自動的にリセットするタイマー... /dev/watchdog への蹴りも止ってしまって、ウォッチドッグ・タイマーが時間切れになり、ハードウェア的に自動リセットがかかる、という仕掛け
  • 仙石浩明の日記: stone に UDP ⇔ TCP 相互変換機能を実装

    stone で UDP と TCP の相互 変換を実装してみた (stone.c 2.3.1.10以降)。 つまり、UDP パケットが届いたら、 その頭にデータ長 (2バイト) を付けて 次図の形式のデータにして TCP セッションへ送信する。 あるいは逆に、 TCP セッションから次図の形式のデータを受信したら、 「データ長」の部分を取り除いて 「可変長データ」の部分を UDP パケットとして送信する。 ┌──┬──┬──┬─≪─┬──┐ │データ長 │ 可変長データ  │ └──┴──┴──┴─≫─┴──┘ もちろん「データ長」はネットワーク バイトオーダ (ビッグエンディアン)。 この形式は、 DNS の問合わせ/応答を TCP を使って行なう方法 (RFC1035 4.2.2. TCP usage) と 同じであるので、 # stone -n 192.168.1.1:domain/

    teahut
    teahut 2007/06/18
    >UDP パケットが届いたら、その頭にデータ長 (2バイト) を付けて次図の形式のデータにして TCP セッションへ送信する。あるいは逆に、 TCP セッションから受信したら、「データ長」を取り除いてUDPパケットとして送信する
  • 仙石浩明の日記: 技術者の成長に役立つ会社とは?(2)

    技術者の成長に役立つ会社とは?(1) をとても多くの方々に読んで頂けました。 頂いたコメントや、 はてなブックマークに頂いたコメントを見ると、 賛同/批判 両方の立場から様々なご意見がありますね。 拙文が多くの方々の考えるきっかけになったのだとすれば、 書いた甲斐があるというものです。 特に学生さんにとっては、これから自身の人生を切り拓いていくのですから、 いま自分の将来について考えることは、 必ず後の人生にとってプラスになることでしょう。 以下に述べるのは、私が考える「技術者の成長に役立つ会社」の条件です。 他の人は異なった考えを持つかもしれませんし、 私自身も常に考え続けているので、 「役立つ会社」の条件が変ってくることがあるかも知れません。 しかし、 「技術者の成長にとって一番役に立つ会社を目指したい」というその思い自体は、 私が技術の責任者であり続ける限り、変らず持ち続けたいと思っ

    teahut
    teahut 2007/05/16
    >コミュニケーション能力なんて、歳をとって頭が固くなってからでも充分身につけることができ... (上司は) パフォーマンスの観点では部下に劣ることがあったとしても、技術内容の理解では勝るとも劣らないことが重要
  • 仙石浩明の日記: オープンソース版 VPN-Warp リレー サーバ (Perl POE を使って実装)

    Perl の非同期I/Oモジュール POE を使って VPN-Warp relayagent を書いてみました」に 続いて、 同じく POE を使って VPN-Warp リレー サーバも書いてみました。 これで、オープンソースだけを使って VPN-Warp を実現することができます。 今までも、 BIGLOBE の VPN ワープのページから証明書を取得すれば、 月額 525円で VPN-Warp を試してみることはできたわけですが、 ちょっと試してみたい場合など、 有料であることがネックである感は否めませんでした。 特に、 常日頃からオープンソースを使いこなしている方々だと、 ちょっと使ってみたいだけなのにお金を払うのはねぇ、 と思ってしまうのではないでしょうか。 かくいう私も、 無料「お試し版」のサービスやソフトウェアに慣れきってしまっているので、 試しに使ってみようとする場合に、

    teahut
    teahut 2007/03/20
    >こういうことを考えることが好きなかた、「いっしょにDSASつくりませんか?」
  • 仙石浩明の日記: Perl の非同期I/Oモジュール POE を使って VPN-Warp relayagent を書いてみました

    多数の TCP/IP セッションを同時に維持する必要性などから、 非同期I/O が最近流行りのようです。 何をいまさら、という気もするのですが、 いわゆる「最新技術」の多くが 30年前の技術の焼き直しに過ぎない今日このごろなので、 非同期I/O 技術が「再発見」されるのも、 「歴史は繰り返す」の一環なのでしょう。 スレッドが当たり前の時代になってからコンピュータ技術を学んだ人にとっては、 (古めかしい) 非同期I/O が新鮮に映るのかも知れず、 なんだか「ファッションのリバイバル」に似ていますね。 Perl で非同期I/O 処理を手軽に行なうための枠組みとして、 POE: Perl Object Environment というものが あるようです。 POE を使うと、 あたかもスレッドを使っているような手軽さでプログラミングできます。 試しに VPN-Warp の relayagent を

    teahut
    teahut 2007/01/24
    >オリジナルの relayagent は C 言語で記述した 4000 行を超えるプログラムなのですが、 Perl だと 200 行以下で一通り動くものが書けてしまいました ... これから POE を使ってみようとする人の参考にもなれば幸いです。
  • 仙石浩明の日記: ロングテール戦略が格差社会を生む: 機会均等

    「機会均等」には三つの種類がある。 金持ちになるための機会 貧乏にならないための機会 貧困から脱出するための機会 一番目の「金持ちになるための機会」とは、 例えば「アメリカン ドリーム」のようなものである。 ほとんど全ての人は夢想することはあっても気で目指そうとは思わない。 気で目指さないのだから達成できなくても、それは当然だろう。 ほとんどの人が、そういった夢を達成できないからといって、 機会が均等でないことの理由にはならない。 二番目の「貧乏にならないための機会」とは、 「安定した生活」のようなものである。 機会なんかなくても、人並みの努力していれば人並みの生活を維持できると、 かつては信じられていた。 昨今の競争社会は、生活水準が悪くなったと感じる人が増えつつあることから、 努力しても報われない社会だと言う人がいる。 果たしてそうだろうか? むしろ、「人並みの努力」で中流が維持で

    teahut
    teahut 2006/12/27
    >能力を向上させる最良の方法は、自分が上位 20% に入ることを目指せるような集団に属することである。まさに「寧ろ鶏口となるも牛後となるなかれ」。上位20% に入ることがどうしても無理なら、それはその集団が向いて
  • 1