読者です 読者をやめる 読者になる 読者になる

のぴぴのメモ

自分用のLinuxとかの技術メモ

(linux)x86(32bit)でアセンブラでシステムコールを呼び出す方法。

はじめに 2015.12.28追記 アセンブラでシステムコールを呼びだす方法 参考 はじめに 標準Cライブラリ(Linuxではglibc)に頼らず、システムコールを呼びして見たいなとの思いから、勉強がてらアセンブラでシステムコールを呼びだす方法をまとめてみました。 20…

32bitと64bitプロセスのtime_tのbitsを実機確認してみる

サンプルプログラム 実機確認 32bitプロセスの場合 64bitプロセスの場合 蛇足 32bitプロセスと64bitプロセスで、glibcのtime_t変数のビット数がどう違うのか確認してみました。 サンプルプログラム #include <stdio.h> #include <stdlib.h> #include <sys/time.h> #define sizeof_bits(x) (i</sys/time.h></stdlib.h></stdio.h>…

データ圧縮アルゴリズムを整理してみた

データ圧縮(可逆圧縮)方式についてまとめました。 まとめ 可逆圧縮の実用的アルゴリズムのほとんどは、LZ法を元にしている LZは、ジェイコブ・ジヴ(Jacob Ziv)とエイブラハム・レンペル(Abraham Lempel)が開発した圧縮アルゴリズム LZ法は、LZ77と、LZ78…

configureの作り方(autotoolsの使い方)

はじめに 作成の流れ 手順詳細 必要ファイルの作成 Makefile.am作成(後の作成/修正も可) autoscanコマンドの実行 configure.acファイルの作成&編集 aclocal実行以降 はじめに オープンソースでよくある、configure → make → make installというセットアップ…

ダイレクトIOの実装

ファイルシステム上のファイルにキャッシュを解さずread/writeするためには、DirectIOで操作する必要がある。DirectIOを操作するには、 ファイルをオープンする時に、O_DIRECTオプションを付与する read/writeで操作する際のバッファは、512KB(Linux kernel2…

デーモンは2度forkするのが作法らしい

デーモンプロセス起動時の作法 サンプルプログラム デーモンプロセス起動時の作法 デーモンを起動する場合、2度forkするのが作法らしく、これは「セッションリーダにならないようにすることで端末の制御を誤ってしないように」ということらしい。詳しくはこ…