タグ

2014年9月17日のブックマーク (2件)

  • linuxにシステムコール追加 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    久々にやってみようと思って、2.6.33でシステムコールの追加をしてみました。 やってみたら新しい発見があったり面白いですね。 copy_buffer.cというファイルは新規に作ったのと、それようにMakefileを弄ってます。 他のファイルはシステムコールを追加するために弄っているので、もし新規にシステムコールを追加するならここは変更する必要があります。 ファイルを新規に作らずに、既存のファイル内に関数を追加するなら、Makefileを弄る必要はありません。 テスト環境は仮想環境(kvm)でホスト・ゲストともにアーキテクチャはx86_64です。 システムコールの追加方法は、lwnの記事で最近のカーネルに対してシステムコールの追加に関する記事があったので、 それを参考に弄るファイルとかを調べました。 多分、最近のカーネルと昔のカーネルでは弄るファイルが多少変わってます。 最近はinclud

    linuxにシステムコール追加 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
    yuroyoro
    yuroyoro 2014/09/17
    SYSCALL_DEFINE
  • ファイルオープンと新フラグ

    多人数により日々改善が加えられるLinuxカーネルですが、その中にはまったく新しい機能もあれば、既存機能を拡張したものもあります。記事ではopen(2)に加えられた新フラグについて取り上げます。 O_TMPFILEフラグ ---- linux-3.11 2014年9月にリリースされたlinux-3.11では、ファイルオープン時に指定可能なO_TMPFILEフラグが追加されました。目的は従来のmkstemp(3)、tmpfile(3)と同様ですが、カーネルレベルで対応するため、効率とアトミック性が強化されます。glibcでは2014年2月にリリースされたv2.19でO_TMPFILEに対応しました。 従来のmkstemp(3)ファミリ、tmpfile(3)を用いる場合では、 一意な(と期待できる)ファイル名の生成 そのファイル名でファイルを作成/オープン という手順を踏みますが、一意性を保

    ファイルオープンと新フラグ