IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
佐野武俊 / Taketoshi Sano, (kgh12351@nifty.ne.jp) $Date: 1999/05/20 11:27:05 $, ($Revision: 1.11 $) Linux C Library (libc) の概要について、その役割と歴史などを簡単に まとめたものです。内容および文書の構成についての御意見をお待ちして おります。 1. 「ライブラリ」とは 2. 共有ライブラリ 3. Linux C Library : コードの起源 3.1 Linux C Library : libc5 (ELF) 3.2 Linux C Library : libc6 (glibc2) 4. Linux C Library : 今後の発展 5. おわりに 5.1 お願い 5.2 謝辞 5.3 この文書の配布について 1. 「ライブラリ」とは まずは JF にある GCC-HO
Linux Kernel 2.6.x ソースに含まれる Documentation ディレクトリの翻訳です。 翻訳の完了したものから随時公開しています。 公開した翻訳文書すべてをアーカイブしたものを kernel-docs-2.6-current.tar.gz として用意してあります。 これらのファイルはすべて GPL-2 に従う限り、自由に再配布が可能です。 翻訳作業情報(進捗や作業予約)については Kernel-Docs 2.6 in progress をご覧ください。 /usr/src/linux/Documentation/ BUG-HUNTING KernelのBugを見つける方法 CodingStyle Linux カーネル コーディング規約 HOWTO new Linux カーネル開発のやり方 IPMI.txt Linux でハードウェアの IPMI 情報にアクセスする方法
SYSCALL Section: Linux Programmer's Manual (2) Updated: 2007-07-26 Index JM Home Page roff page 名前 syscall - 間接システムコール 書式 #define _GNU_SOURCE /* or _BSD_SOURCE or _SVID_SOURCE */ #include <unistd.h> #include <sys/syscall.h> /* For SYS_xxx definitions */ int syscall(int number, ...); 説明 syscall() は number で指定されたアセンブリ言語インターフェースのシステムコールを、 指定された引き数をつけて実行する。 システムコールのシンボル定数はヘッダファイル <sys/syscall.h> に書かれて
==Phrack Inc.== Volume 0x0b, Issue 0x3a, Phile #0x07 of 0x0e |=-----------------=[ LKM なしでの動的なカーネル改変 ]=------------------=| |=-----------------------------------------------------------------------=| |=---------------=[ sd , devik ]=---------------=| |=----------------------=[ December 12th 2001 ]=-------------------------=| --[ 目次 1 - 概要 2 - /dev/kmem はお友達 3 - カーネル syscalls, sys_call_table[] の置き換
システムコールの追加 LKMによるシステムコールのフック システムコールの制限 システムコールの追加 各システムコールは arch/i386/kernel/entry.S の system_callという関数か ら呼ばれる。ユーザプログラムからレジスタを使って渡されたシステムコール への引数はスタックに積まれ、システムコールを実現する関数の引数としてア クセスできる。 新しいシステムコールを追加するには以下のようにする。 arch/i386/kernel/entry.Sに新しいエントリを追加する。 ENTRY(sys_call_table) .long SYMBOL_NAME(sys_ni_syscall) .long SYMBOL_NAME(sys_exit) : .long SYMBOL_NAME(sys_new_syscall) /* 新しいエントリ */ .rept NR_sysc
カーネルの修正 まずシステムコールに名前を付け、一意の番号を割り当てます。linux/include/asm/unistd.hファイルを見ていくと、以下のような記述があります。(バージョンにより異なり ます。) #define __NR_exit 1 #define __NR_fork 2 ... #define __NR_vfork 190 ここで、追加するシステムコールを後続の空き番号に追加します。形式は、 #define __NR_システムコール名 システムコール番号 と記述します。例えば追加するシステムコール名が「mysyscall」ならば、以下のように 記述します。 #define __NR_mysyscall 191 次に、linux/arch/i386/kernel/entry.Sファイルを修正します。以下のような テーブルが入っているはずです。(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く