You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
ptrace、Syscall User Dispatch:カーネルが提供している ptrace や Syscall User Dispatch のような機能は、ユーザ空間でシステムコールのフックを実装するために利用できます。ですが、これらを利用すると、元のユーザ空間プログラム内部でのシステムコール呼び出しのコストが大きくなり、結果として、性能が大きく劣化してしまいます。(要件1を満たせない) eBPF :eBPF のようなカーネル内の関数へフックを適用できる仕組みもありますが、eBPF は XDP のような場合を除くと、基本的にカーネルの挙動を変更するためには利用できないため、カーネル機能をユーザ空間でエミュレートする、といった用途には適していません。(要件5を満たせない) ライブラリ関数の置き換え:標準ライブラリ(libc 等)は、沢山のシステムコールのラッパーライブラリ関数を実装してお
なぜシステムコールについて気にするのか システムコールとはOSが提供する機能をアプリケーションが利用する仕組みのことですが、システムコールについて知ることはアプリケーションの働きを理解する上で重要です。 なぜならアプリケーションの動作の中で、重要なもののほぼ全てはシステムコールを利用して実現されているからです。 例えば、ネットワークを利用した通信、ファイルへの入出力、新しいプロセスの生成、プロセス間通信、コンテナの生成などは、システムコールを使用することで実現されています。 逆にシステムコールを使わずにアプリケーションが出来ることと言えば、CPU上での計算とメモリへの入出力くらいでしょう。 この記事で解説する内容 この記事で解説する内容は、システムコールの一般的な性質や仕組みについてです。 そもそもシステムコールとは何なのか、どのような仕組みで実現されているのかというところを解説します。
大変お久しぶりです 自宅でソースをなかなか読めず、ストレス溜まりまくりのakachochinです。 とっくに正月過ぎましたが、今年もよろしくお願いします。 さて、私は「The Design and Implementation of the FreeBSD Operating System (2nd Edition)」を帰りの電車の中で読んでいます。 どの章も興味深いのですが、その中でも仕事でほとんど触れることのないセキュリティ分野はとりわけ新鮮です。 さて、そうした知識に触れると、ソースを読んでみたくなります。 ※ソースコードリーディングの対象は、FreeBSDのCurrentです。 CapsicumはFreeBSDのセキュリティ機能の一つで、プロセスが自分とその子供達に自ら縛りをかける機能です。 厳密さに欠ける表現をあえてするなら、「自分とその子プロセスは、指定したファイルに対して何が
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く