タグ

バイナリに関するadvblogのブックマーク (11)

  • ビット、バイト

    <2進数> コンピューターは「通電する、しない」「磁化されている、いない」等の判断しかできません。 したがって「演算」にしろ、「判断」にしろ「2進数」で行っています。 <ビット> よく「ビット」と言う言葉を耳にしますが、これは2進数の1桁のことです。 16ビットマシン=2進数を16桁単位で処理するマシン 28.8kビットモデム=1秒間に2進数28800桁送るモデム <16進数> 人間が理解しやすくするために2進数4桁を「0~F」の1桁で表現した数えかたです。 <バイト> 16進数2桁(8ビット=10進数で0~255)の単位のことで キーボードの文字や制御コードを割り付けに「00~FF」が使われているのでこう呼ばれる 16M(メガ)のメモリー=16,000,000バイト(文字)記憶できるメモリー 1G(ギガ)のハードデイスク=1,000,000,000バイト(文字)記憶できるハードデイスク

  • デバイスドライバを書かずにIOを読み書きする (UserLandIO) - CAT Wiki

    デバイスドライバを書かずにIOを読み書きする † LinuxではI/Oポートの読み書きにはデバイスドライバを書く必要があります。しかしデバック時や簡易的な治具を作るなど、デバイスドライバの作成を省略したいこともあると思います。 このページでは簡易的なI/Oルーチンとして、デバイスドライバを書かずにI/Oポートを読み書きする方法について解説します。ただしこの手法は簡易的なものであり、格的な開発にはあまりお勧めできません。この手法でアプリケーションを開発、デバックし最終的にはデバイスドライバ化することをお勧めします(理由はページの最後に記述します)。 ただ、今までドライバプログラミングが難しそうだからと、せっかくのLinuxボードでもI/Oプログラミングできずに放置されていた方にとっては、はじめの第一歩として学習、研究に大変おもしろい課題と思いますからこれを機にI/O操作の面白さをしってい

  • hogetrace - 関数コールトレーサ - memologue

    でかいソフトウェアの、大量のソースコードを短時間で読む必要が生じたので、その補助ツールとしてptrace(2)ベースのLinux用関数トレーサを自作しました。こういうツール上でまずソフトウェアを実行してみて、どのファイルのどの関数がどういう順で呼ばれるか把握おけば、いきなりソースコードの山と格闘を始めるより楽かなーと思いまして。せっかく作ったので公開します。 http://binary.nahi.to/hogetrace/ straceはシステムコールだけ、ltraceは共有ライブラリ(DSO)の関数呼び出しだけ*1をトレースしますが、このツールは、実行バイナリ中の自作関数の呼び出しもトレースします。例えば再帰で1から10まで足し算するソースコードを用意して % cat recursion.c #include <stdio.h> int sum(int n) { return n ==

    hogetrace - 関数コールトレーサ - memologue
  • 参照とポインタの違い - 2008-12-11 - mad日記

    科学者とあたまを書いたひとだけれども、この名前どっかで聞いた事があるなと思ったら, 昨日劇団青年座の人の講演で聞いたのだった。 「フユヒコ」という劇団青年座の公演が明日NHKで放送されるらしいです。冬彦ってのは寺田寅彦のペンネームらしい。 http://cgi4.nhk.or.jp/hensei/program/p.cgi?area=001&date=2008-12-12&ch=31&eid=9950 おもしろそうだから観てみようかな。 ところで小柴先生が同じような事を言っていたのを思い出した。このインタビューは面白い。 一流の理論家は、「自分の理論では、ここまでは使えるけれど、これから先は分からない」という適用限界をいつも意識している。ところが二流の理論家というのは、自分が名前を覚えた、あるいは、使った理論で何でもやれると思ってしまう。二流の理論家に困らされるのは、新しい実験計画が出てき

    参照とポインタの違い - 2008-12-11 - mad日記
  • スラッシュドットジャパン: Binary Day 2008

    日11月11日は、「1」が4つという並びから「バイナリデー(Binary Day)」と呼ばれています。日付がバイナリ値である日は、一年に9日(01月と10月と11月の01日、10日、11日)ありますが、「1」が4つ並ぶ11月11日を特に「バイナリデー」と呼ぶようです。ちなみに1111の約数は1、11、101、1111だけ。また、1111は1から数えて(1桁の数を除くと)101番目の回文数(そのまま読んでも逆に読んでも1111)となります。 こんな不思議な日付であるBinary Dayを記念して、バイナリ界の巨匠の皆様から、祝賀コメントをいただきました。お楽しみください。 なお、11月11日はこのほかにも、鮭、ポッキー、プリッツ、チーズ、ピーナッツ、きりたんぽ、もやしの日でもあり、また電池、配線器具、下、下駄、サッカー、折り紙、宝石、煙突、磁気、介護、コピーライターの日、そして中国では「

  • Java Class ファイルを読む(1) - アウトスタンディングなプログラマを目指して

    CSNagoya コンパイラの部 - アウトスタンディングなプログラマを目指してがきっかけ。 参考にしているもの Java SE Specifications Java仮想マシン仕様 (The Java series) (上のリンクの和訳) 下ごしらえ 動作するけどシンプルなJavaプログラム public class Base { public static void main(String args[]) { } } をコンパイルする。 % javac -version javac 1.6.0_10 % java -version java version "1.6.0_10" Java(TM) SE Runtime Environment (build 1.6.0_10-b33) Java HotSpot(TM) Client VM (build 11.0-b15, mixed m

    Java Class ファイルを読む(1) - アウトスタンディングなプログラマを目指して
  • x86系CPUのネイティブコードを解析する:CodeZine

    はじめに 今回はPC市場で一般的に採用される、x86系のCPUの機械語に迫ります。最新技術が次々と現れる昨今ですが、実はx86の規格はあまり目新しいものではありません。クロック周波数は上がるものの、機械語の形態は昔から引き継がれています。x86 CPUの種類 x86ネイティブコードを解読できるCPUには、下記のようなものが挙げられます(※AMD64を除く)。もはや説明はいりませんね。Intel Pentium 4Intel Pentium 3Intel Pentium 2Intel MMX PentiumIntel PentiumIntel 486/386AMD AthronAMD DuronAMD K-6  ここからは、32ビット以降のx86系 CPUに関する話題を扱っていきます。8ビットCPU、16ビットCPUに関するテクニックは出てきませんので、ご了承ください。

  • パタヘネを一緒に勉強する人募集中、めざせバイナリアン! - なつたん

    春ですね。パタヘネを勉強しませんか? パーサので注文した、Compiler Implementation In CとParsing Techniquesがアマゾンから、一緒に頼んだのせいで全然届かない。ドラゴンブックでも読もうかと思ったのだが、ふとパタヘネを手にとって読んでみる。以前読んだのが新人の頃なので、約10年くらい前になるんだ。 ぱらぱら眺めて気がついたこと。CDROMのIn More Depth とFor More Practiceって面白くない?例えば、2.10-2.12はジャンプテーブルの最適化、2.16-2-18は末尾再帰の最適化の話がCDROMに入っています。ジャンプテーブルの最適化てのは、Cのcase文がテーブルジャンプに置き換わる話。http://alohakun.blog7.fc2.com/blog-entry-878.html、とかhttp://shinh.s

    パタヘネを一緒に勉強する人募集中、めざせバイナリアン! - なつたん
  • 米Microsoftがついに,バイナリ形式のOffice文書仕様を公開

    Microsoftは2008年2月16日(米国時間),Office 97以降で採用するバイナリ形式のOffice文書仕様を公開した。拡張子が「.doc」「.xls」「.ppt」であるOffice文書を,同社の新フォーマット「Open XML」に変換することを目的とした技術情報公開である。同社で相互運用性を担当するBrian Jones氏によれば,Open XMLをISO(国際標準化機構)標準にするうえで,複数の国の標準化団体から既存のバイナリ形式についても開示するよう求められたことが,公開の理由であるとしている。 Open XMLのISO標準化に関しては,今月下旬からスイス・ジュネーブで開催されるISOの会合で,最終的な結論が出る見込み(関連記事:顧客が支持しているのは「Open XML」,ISO標準化にも自信--MSの標準化担当幹部)。Microsoftとしては,会合に先立ってバイナリ

    米Microsoftがついに,バイナリ形式のOffice文書仕様を公開
  • ユメのチカラ: メモリアクセスは遅い

    多くのプログラマにとってメモリアクセスの速度を気しなければならない状況というのはめったに無いが、OS、ライブラリ、コンパイラ、RDBMSなどの実装をする時には意識をしなければならない場合がある。 IA-32 Intel Architecture Optimization Reference Manual (order number 248966) をひもとくと6章にOptimizing Cache Usageというのがある。 マイクロベンマークの定番 lmbench http://www.bitmover.com/lmbench/ では、一次キャッシュ(L1)や二次キャッシュ(L2)を測定してくれる。例えば、わたしが利用しているノートだと、L1が1.776nsでL2が5.3490ns、メインメモリアクセスが139.4nsである。 Memory latencies in nanosecond

    advblog
    advblog 2007/09/17
    リストやハッシュはキャッシュに厳しいが配列はキャッシュに優しい。 > 何やら初体験の言い回し。
  • 機械語ではマシンの挙動は理解できない - 未来のいつか/hyoshiokの日記

    実のところ機械語はマシンに対する高レベルな挙動を示す命令であって実行を厳密に写像したものではない。(何を言っているんだわたしは?) 「マシン語ってどんな感じか知りたくなった方へ」という大人気のエントリと、ニコニコ動画を見て、昨今の最新マイクロプロセッサでは機械語がもはや機械の挙動と一対一に対応しなくなっちゃったのである、というツッコミをしたくなった。http://d.hatena.ne.jp/shi3z/20070913 「水野拓宏のTK-80講座」これが素敵すぎる。http://www.nicovideo.jp/watch/sm1048903 最近のプロセッサ(Pentium 4とかXeonとか)は機械語を機械が直接実行するのではなく(じゃあ、なんで機械語というだよというツッコミは諸般の事情で却下(w))、機械語をμOPという機械語と一対Nに対応する命令に変換し実行するのである。Java

    機械語ではマシンの挙動は理解できない - 未来のいつか/hyoshiokの日記
    advblog
    advblog 2007/09/17
    ようわからん。(誉め言葉です) / "昨今のプロセッサは、機械語をμOPというのに変換してそれを「並列」に実行しちゃうのである。" > うーん、すごいなとしか。
  • 1