タグ

syscallに関するgfxのブックマーク (3)

  • 非同期入出力の残念な現状

    asynchronous disk I/O | libtorrent blog Libtorrent experience - the poor state of async disk IO | Hacker News libtorrentの作者が、ディスクI/Oをパフォーマンスを向上させるために非同期I/Oを試した結果、どの環境でも残念なので、ブロックI/Oをスレッドプールで行う擬似非同期I/Oで実装したとブログを書いている。その問題について、Hacker Newsでも議論されている。 非同期I/Oは、話を聞くとたのもしい機能に思える。読み書きが完了するまでブロックせずに、完了したらOSが通知するという仕組みだ。 問題は、その実装がどの環境でも貧弱だという事だ。 環境というのは、主にOS側のことだ。多くのモダンなOSは非同期I/Oを提供している。特に著名なのがみっつある。 Linux A

  • fizzbuzz systemcall in FreeBSD - Shohei Yoshida's Diary

    Linuxは知らないですが、FreeBSDはわりと簡単システムコールが 追加できるので、紹介します。 試した環境 FreeBSD 8.3-Release i386 コード #include <sys/param.h> #include <sys/proc.h> #include <sys/module.h> #include <sys/sysproto.h> #include <sys/sysent.h> #include <sys/kernel.h> #include <sys/systm.h> struct fizzbuzz_args { int a_number; char *a_buf; }; static int fizzbuzz(struct thread *td, struct fizzbuzz_args *uap) { int num = uap->a_number, le

    fizzbuzz systemcall in FreeBSD - Shohei Yoshida's Diary
  • はじめてのひき - RecentFunctions

    適当に羅列してみる。 システムコール epoll / kqueue 全くスケールしない select をなんとかするためのもの posix_spawn fork+exec は間違ってたんや… signalfd シグナルハンドラで pipe に write するとかしなくていい。 Linux だけ。 splice vmsplice fd を直結させる的なにか。 sendfile の拡張的な感じ、なのかな libc asprintf glibc とか Mac libc の文字列系関数は結構べんり。 backtrace / backtracee_symbols デバッグ用に便利。 Linux Mac ともにある。

  • 1