タグ

ブックマーク / nyaruru.hatenablog.com (11)

  • Windows における例外ハンドリングとか 64-bit プロセス固有のあれそれとか - NyaRuRuが地球にいたころ

    Windows における例外ハンドリング - @a4lg の準技術的日記 すごくまとまってました.個人的に印象深かったのはこの辺. 実は、x64 版 Windows 用のバイナリにおいては、fs:[0] に例外ハンドリング構造体へのポインタを設定するなどという行為は一切行いません。というより、コード上には、例外をハンドルする如何なる追加コードも存在しません。これは、例外ハンドリングを行わない場合のプログラムには一切オーバーヘッドが存在しないということを意味します。 Windows の細かい部分まで見てみると,64-bit プロセスのみ影響を受ける仕様というのがいくつかあって,今回のケースもそのひとつですかね.64-bit アプリケーションの場合,「従来から存在するバイナリ」というのが存在しないので,互換性に悩まされることなく 32-bit 時代の仕様をリセットできる,と. Windows

    Windows における例外ハンドリングとか 64-bit プロセス固有のあれそれとか - NyaRuRuが地球にいたころ
  • Windows XP/Vista のスレッドスケジューラと Hyper-Threading - NyaRuRuが地球にいたころ

    4gamer の『Intelのベンチマーク担当に,LynnfieldやArrandaleなどの話をいろいろ聞いてきた』という記事より. ここで少し,現在,すなわちWindows Vistaまでのスケジューラにどういう問題があるのかを,ざっと説明しておこう。 Windows Vistaに限ったことではなく,Windows XP以前もそうなのだが,現行世代のWindowsは,複数のCPUコアに対して,負荷バランスだけを根拠としてスレッドを割り当てていく。スケジューラは,割り当てようとしている先のCPUコアが物理コアなのか論理コアなのかを考慮しないわけだ。そのため,「ある物理コアにスレッドが割り当てられている状況で,別の物理コアは完全に空いているにもかかわらず,『すでにスレッドが割り当てられている物理コアの論理コア』へ,新たにスレッドが割り当てられる」という悲劇が起こり得る。あるいは,一つのCP

    Windows XP/Vista のスレッドスケジューラと Hyper-Threading - NyaRuRuが地球にいたころ
  • Address Space Layout Randomization - NyaRuRuが地球にいたころ

    --なぜSafariだったのですか。IEやFirefoxでなかったのは? 簡単なことです。Mac上のSafariの方が攻撃が簡単だからです。Windows上のいくつかの技術は攻撃を成功させるのを難しくしていますが、Macではそういうことはしていません。Macをハッキングする方がずっと簡単です。曲芸をして、Windows上で見られる耐攻撃措置を相手にする必要がないからです。 これは、対象となるプログラムではなくオペレーティングシステムの問題です。Mac上のFirefoxも比較的簡単です。その下にあるOSに、攻撃に対抗する仕組みが組み込まれていないからです。 (参照:10 questions for MacBook hacker Dino Dai Zovi) 私が使ったSafariに対する攻撃では、コードをプロセスに埋め込むと、そのコードの場所を正確に知ることができます。ランダム化されたりはし

    Address Space Layout Randomization - NyaRuRuが地球にいたころ
    kosaki
    kosaki 2009/03/23
  • SSD による体感速度向上ただ飯時代 - NyaRuRuの日記

    今がんばって OS やファイルシステムを SSD に最適化させるより,SSD 自体が HDD みたいに気軽に使えるようになるのを待つ方が頭良くね? という話. Alan CoxのLinux 3.0(注1)が否決されたほか、I/O周りをSSDに最適化しようという提案も否決(注2)、カーネルトレース機能(注3)もLinusの「オレ、イラネー」発言で否決と、予想どおりというか、あまり意外性のない結果になったようです。記事を書く立場としては、ネタを拾えなくて少し残念です。 注2:現在のSSDは、登場して間もないこともあってさまざまな欠点があり、ソフトウェア側で改善できる余地がたくさんあります。ですが、SSDのデバイス自体が猛烈な勢いで進化しており、近い将来、デバイス側で解決される確率が高い。そのため、いまのデバイスに最適化してもデッドコードを量産するだけになるのではないか、というのが理由のようです

    SSD による体感速度向上ただ飯時代 - NyaRuRuの日記
    kosaki
    kosaki 2008/10/10
    デレ期にはまだ早い
  • 日記の登録ボタンを押してみたら,はてなが長時間のメンテナンス中だったときするべきこと - NyaRuRuの日記

    ……いま登録ボタンを押した記事,バックアップ取ってないんだが. 注意:ここで普段なら「戻る」で問題ないのだが,メンテナンス中は色々な URL へのアクセスが軒並みエラーページを返すせいか,戻っても画面が真っ白になってしまったのだ.予告メンテナンスなら書き込みフォームにも一工夫欲しいように思う. アレの出番 タスクマネージャを起動 タスクマネージャから iexplorer.exe を選び,右クリック→「ダンプ ファイルの作成」 バイナリエディタでダンプファイルを開く バイナリエディタは Shift-JIS, EUC-JP, UTF-8, UCS2 あたりのエンコーディングでの文字列検索をサポートしているものがおすすめ. 今回は DANDP Binary Editor を使わせていただきました.感謝. 執筆中のデータらしきものを探す 投稿内容に含まれていた特徴的な文字列で検索する. エンコーデ

    日記の登録ボタンを押してみたら,はてなが長時間のメンテナンス中だったときするべきこと - NyaRuRuの日記
    kosaki
    kosaki 2008/06/15
    おもしろすぎるww
  • Windows で Large Page は「使える」か? - NyaRuRuが地球にいたころ

    VirtualAlloc で実験していたネタもついでに放出. Firefox 版 jemalloc のソースを読んでいて,デフォルト chunk size が 1 MB と比較的大きかったので,「それなら Large Page 割り当てても良いんじゃなかろうか?」と調べてみました.もっとも,結論から言えば,Windows 環境の Firefox のメモリアロケータに Large Page を使うのは,全く現実的ではないということが分かっただけでしたが. Large page support Windows Server 2003 から,ユーザーモードアプリケーションでも large page が使用できるようになった.Windows Vista でもサポートされる.VirtualAlloc に MEM_LARGE_PAGES フラグを付ける.large page の最小サイズは GetLa

    Windows で Large Page は「使える」か? - NyaRuRuが地球にいたころ
    kosaki
    kosaki 2008/04/24
    使えない。という話
  • 記事紹介: Inside Vista SP1 File Copy Improvements (1) - NyaRuRuが地球にいたころ

    ZDNet の翻訳記事より.『「Vista SP1」対「XP SP2」ふたたび--Windowsベンチマーク対決第2弾』 最初のベンチマークテストに寄せられた主な批判の中に、ファイルコピーの際、見えない部分でVista SP1とXP SP2の動きが違うという事実を、私が見過ごしているというものがあった。この違いはハードディスクへの書き込み時のキャッシュに由来するもので、XPはファイルをキャッシュするのに対し、Vistaの標準設定では書き込み時のキャッシュは無効になっている。加えて、ファイル転送のプログレスバーの仕様が異なり、XPとVistaでは挙動が異なることが、事態をさらに複雑にしている。Vistaではキャッシュがディスクにコミットされた時点でファイルコピーの経過を示すダイアログボックスが消えるが、XPではキャッシュのコミットが待ち状態であってもダイアログが消える。つまり、XPは速く「見

    kosaki
    kosaki 2008/02/28
    vistaでなんでファイルコピーが遅くなったか
  • ホワイトペーパー: Windows のメモリ管理の進歩 - NyaRuRuが地球にいたころ

    Windows のメモリ管理の進歩 (via id:kkamegawa:20071024:p2) ちょっと目を通してみました.軽くメモ. Feedback この資料に関してのフィードバックはこちらへ. http://connect.microsoft.com/Survey/Survey.aspx?SurveyID=4925&SiteID=221 Page-File Writes Windows Vista では変更済みページの内容をチェックして,ページ内容が全て 0 であれば zero page に差し替えるようになった.調査では 7〜8% の書き出しがこの改良で回避される.*1 以前のバージョンの Windows ではページファイルへの書き出しは 64 kbyte 単位で行われていて,ディスク I/O の回数が多くなっていた.Windows Vista では,書き出し単位の制限を撤廃し,

    ホワイトペーパー: Windows のメモリ管理の進歩 - NyaRuRuが地球にいたころ
    kosaki
    kosaki 2008/02/02
    Windows Server 2003以降はMEM_LARGE_PAGESフラグがサポートされているが、透過的にラージページになるわけではないので、事実上使われていないはず
  • Lock-Free Algorithm, CriticalSection, IHostCrst - NyaRuRuが地球にいたころ

    スレッド化で「普通は」気をつけるべきこと 「高木浩光@自宅の日記」より. ギャー、ここも杜撰だった。(モニタリング用のコードとはいえ。) int connectionTriedCount = 0; int handshakeSucceededCount = 0; int extractionSucceededCount = 0; connectionTriedCount++; handshakeSucceededCount++; extractionSucceededCount++; java.util.concurrent.atomic.AtomicInteger を使ってみよう。 import java.util.concurrent.atomic.AtomicInteger; ... AtomicInteger connectionTriedCount = new AtomicInt

    Lock-Free Algorithm, CriticalSection, IHostCrst - NyaRuRuが地球にいたころ
    kosaki
    kosaki 2006/12/18
  • 2005-10-22

    id:NyaRuRu:20051021:p1 の補足です. 以下の話のほとんどは『インサイドMicrosoft Windows (上)』に書かれています.より正確で詳細な内容が知りたい方は是非参照してみてください. インサイド Microsoft Windows 第4版〈上〉 (マイクロソフト公式解説書) 作者: ディビットソロモン,マークルシノビッチ,David Solomon,Mark Russinovich,豊田孝出版社/メーカー: 日経BPソフトプレス発売日: 2005/08メディア: 単行購入: 3人 クリック: 65回この商品を含むブログ (66件) を見る まず Process Explorer をダウンロードし実行します.当はカーネル内部変数からも情報を引っ張り出せるようにシンボルサーバの設定をしておくべきなんですがその辺の話は省略*1. 次に,プロセスリストの表示項目

    2005-10-22
    kosaki
    kosaki 2006/03/04
  • 2006-02-03

    前日のセッションは用事のため全く聞けなかったので,事実上日から参加.色々ありましたが無事id:akirameiさんとお会いできました. 先日から随分と登場していた(らしい)"Avalon"の開発者向けセッション.基調講演に*1出席していなかったこともあって,開発環境まで含めた WPF の完成具合を見たのはこれが初めてになります. 見た限りでは,表示画面も開発環境も正視出来る速度で動いていましたし,方向性としても着実に固まっているようでした.このデモを見て Windows Vista の年内発売というのがやっと実感として受け入れられるようになったかな. 細かいところで気付いたこととしてはズーミング User Interface を実装する敷居が相当下がっていそうなところですかね.増井俊之さんの提唱されているLensBarや,Teddy で有名な五十嵐健夫さんが Microsoft Rese

    2006-02-03
    kosaki
    kosaki 2006/02/08
  • 1