- Argument
関数やルーチンは処理する引数を渡される。
- ARP
Address Resolution Protocol. IP アドレスを物理ハードウェアアドレスに変換
するために使用される。
- Ascii
American Standard Code for Information Interchange. アルファベットの個々の文字
は、8 ビットコードで表される。Ascii は、書かれた文字を保存するのに最も頻繁に
利用されている。(訳注: Ascii コードは、7 ビットです。)
- Bit
1 か 0 (オンかオフ)を表す最小単位のデータ。
Bottom Half Handler
カーネル内で待ち行列に登録された仕事を処理するルーチン。
- broadcast address(訳注)
(訳注)古い体系には、オールゼロブロードキャストという方式もあったそうです。
現在、すべてのビットが 0 の場合は、自ホストを表します。以下は、
RFC 1700 からの抄訳です。
IP-address ::= { <Network-number>, <Host-number> }
or
IP-address ::= { <Network-number>, <Subnet-number>, <Host-number> }
また、"-1" という表記を使う場合、フィールドにすべてビット 1 が含まれる
ことを意味する。よく利用される特殊ケースに次のようなものがある。
(a) {0, 0}
そのネットワークのそのホスト。送信元アドレスとしてのみ、使用できる。
...
(c) { -1, -1}
制限されたブロードキャスト。送信先アドレスとしてのみ、使用できる。
このアドレスを付加されたデータグラムは、送信元の(サブ)ネットから
外にフォワードされてはならない。
(d) {<Network-number>, -1}
ブロードキャストは、指定されたネットワークに送られる。送信先アドレス
としてのみ、使用できる。
(e) {<Network-number>, <Subnet-number>, -1}
ブロードキャストは、指定されたサブネットに送られる。送信先アドレスと
してのみ、使用できる。
(f) {<Network-number>, -1, -1}
ブロードキャストは、サブネット化されたネットワークのすべてのサブネッ
トに送信される。送信先アドレスとしてのみ、使用できる。
(
RFC 1700, J.Postel, October 1994)
- buddy algorithm(buddy system)(訳注)
「このシステムでは、割り当てられるブロックのサイズは 2 の累数でなければならない
(すなわち、4 バイト、8 バイト、16 バイト、32 バイトなど)。また、最小限の割り
当てサイズも例えば 8 バイトというように決まっている。ブロックは、ペアで処理さ
れる。各ブロックには、片割れ、いいかえると「相棒(buddy, アメリカの口語で、「
友達」を意味する。状況によっては「敵」を意味することもある)」が存在する。
(p.119, 「Unix カーネルの魔法」、B.Goodheart, J.Cox, 櫻川貴司監訳, プレンティス
ホール, 1997)
- Byte
8 ビットのデータ。
- C
高水準プログラミング言語。Linux カーネルの大部分は C で書かれている。
- CISC
Complex Instruction Set Computer. RISC の反対概念。非常に多くの、しばしば
複雑なアセンブリ命令をサポートするプロセッサ。x86 アーキテクチャは CISC
アーキテクチャである。
CPU
Central Processing Unit. コンピュータのメインエンジン。microprocessor と
processor も参照のこと。
clock tick(訳注)
「(訳注)クロックチックやタイマチックという言葉は、「タイマ割り込みと次のタイ
マ割り込みの間の時間」という意味でも使われる言葉ですが、ここでは、タイマ割り
込みというイベント自体を指しています。」(p.143 注1, 「Linux デバイスドライバ」
, Alessandro Rubini, 山崎康宏 山崎邦子訳, O'Reilly Japan, 1998)
「すべての OS は、何らかの方法でシステム時間を測定し維持しなければならない。
通常、システム時間を実装するには、ハードウェアに一定の間隔で割り込みをトリガ
させる。この割り込みルーチンが時間を「カウント」する。Linux では、システム時間
はシステム開始以降の「ティック」数で測定される。1 ティックは(訳注:デフォルトで)
10 ミリ秒に等しいから、タイマ割り込みは 1 秒に 100 回トリガされる。時間は次
の変数に格納される。
unsigned long volatile jiffies:
(p.57, 「Linux カーネルインターナル」, M.Beck,Harald Bohme 他, 株式会社クイック
訳, ピアソン, アスキー, 1999)
- Data Structure
これは、メモリ内のデータセットで、複数のフィールドから構成されている。
- Device Driver
特定のデバイスを制御するソフトウェア。たとえば、NCR 810 デバイスドライバは、
NCR 810 SCSI デバイスを制御する。
- DMA
Direct Memory Access
(訳注)
CPU 以外がメモリに直接アクセスする機能・仕組み。DMA は、初期の大型コンピュータ
など、ROM を持たないシステムで、人がメモリにデータを書き込む際に使用されたのが
最初である。
「今日の入出力システムに使用されているアイデアの多くは、IBM 360 の初期モデルで
初めて実用に供せられた。IBM 360 は DMA を本格的に採用した最初のマシンである。」
「IBM は 1964 年に、IBM 360 ファミリを発表し、....」
(p648/p390, 「コンピュータの構成と設計: ハードウェアとソフトウェアのインター
フェイス(第 2 版)」, D. Patterson/J. Hennessy, 成田光顕 訳, 日経 BP 社, 1999)
- ELF
Executable and Linkable Format. Unix System Laboratory で設計された
オブジェクトファイルのフォーマット。今日では、Linux 上で最も一般的に使用
されるフォーマットとしての完全に定着している。
- EIDE
Extended IDE
- Executable image
マシン命令とデータを含む一定の構造を持ったファイル。このファイルは、
プロセスの仮想メモリにロードされ、実行されることが可能である。program も
参照のこと。
- FDDI(訳注)
Fiber Distributed Data Interface。当初は光ファイバーケーブル専用で設計された。
リング状の主幹ネットワークに、ツリー状の枝がぶらさがる。
- Function
何らかの行為を実行するソフトウェア。たとえば、ふたつの数字の大きい方を返すなど。
- IDE
Integrated Disk Electronics.
- Image
executale image を参照のこと。
- IP
Internet Protocol.
- IPC
Interprocess Communication(プロセス間通信).
- Interface
ルーチンを呼び出したりデータ構造を渡す際の標準的な方法。たとえば、コードの
ふたつのレイヤー(layer, 層)間のインターフェイスとは、特定のデータ構造を渡したり
返したりするルーチンであるといえるだろう。Linux の VFS は、インターフェイスの
典型である。
- IRQ
Interrupt ReQuest.
- ISA
Industry Standard Architecture. これは標準規格であるが、フロッピーディスク
ドライバなどのシステムコンポーネントに使われる、今日では、やや古くなった
データバスインターフェイスである。
- Kernel Module
動的にロードされるカーネル機能であり、ファイルシステムやデバイスドライバ
などで利用される。
- Kilobyte
一千バイトのデータ。K バイトとも表記される。
(ネットワークで 1000 , それ以外では 1024 バイト)
- magic number(訳注)
カーネル付属文書
magic-number.txt
に詳しい解説があります。日本語訳は、JF の
カーネル 2.2 付属文書のページをご覧ください。
- major number(訳注)
カーネル付属文書
devices.txt
に詳しい解説があります。日本語訳は、JF の
カーネル 2.2 付属文書のページをご覧ください。
- Megabyte
百万バイトのデータ。M バイトとも表記される。
- Microprocessor
高度に集積された CPU。現在の大部分の CPU はマイクロプロセッサである。
- Module
ファイル。アセンブリ言語の命令か C のような高水準言語かの形式の CPU 命令を
含んでいる。
- multicast(訳注)
一般に、ユニキャスト(unicast)は、「一対一」、マルチキャスト(multicast)は、
「一対特定多数」、ブロードキャスト(broadcast)は、「一対全部」の関係に立ちます。
文中では、ブロードキャストの概念をマルチキャストと表現している部分がいくつか
あります。イーサネットアドレスについては、
ETHER TYPES を参考にしてください。
- network trailer(訳注)
「Trailer カプセル化フレームフォーマットは 4.2 BSD の頃にメモリ間のコピーを
効率よく行うために特に VAX のページングシステムに特化したフレームフォーマット
である。現在では既に使われなくなっている(RFC 893)。」(p.37, 「インターネット標
準 クイックリファレンス」, 野坂昌己著, O'Reilly Japan, 1999)
- Object file
マシンコードとデータを含むファイル。実行イメージとなるには、他のオブジェクト
ファイルやライブラリとリンクされる必要がある。
- Page
物理メモリは、同一サイズのページに分割されている。
- Pointer
メモリ内の位置。メモリ内での他の位置であるアドレスを含んでいる。
- Process
これは、プログラムの実行ができる実体である。プロセスは、動作中のプログラムで
あると考えることができる。
- Processor
Microprocessor の略称。CPU と同義。
- PCI
Peripheral Component Interconnect. コンピュータシステムの周辺機器を相互に
接続する方法を述べた標準規格である。
- Peripheral
システムの CPU に代わって仕事をする情報処理機能を持ったプロセッサ。たとえば、
IDE コントローラチップなど。
- Program
一貫性をもった CPU 命令のセット。"hello world" の表示といったタスクを実行
する。executable image も参照のこと。
- Protocol
プロトコルは、ネットワークの言語であり、ふたつの協調するプロセスやネットワーク
レイヤー間でアプリケーションデータを転送する際に使用される。
- Register
チップ内の一定の場所であり、情報や命令の保持のために使用される。
- Register File
プロセッサ内のレジスタのセット。
- RISC
Reduced Instruction Set Computer. CISC の反対概念。これは、単純な処理をする
少ないアセンブリ命令しか持たないプロセッサ。ARM と Alpha プロセッサは
どちらも RISC アーキテクチャである。
- Routine
関数と似ているが、厳密に言うと、ルーチンは値を返さない。
- SCSI
Small Computer System Interface.
- Shell
これはプログラムであり、オペレーティングシステムと人間との間のインターフェイス
として機能している。コマンドシェルとも呼ばれ、Linux 上で最も一般的に利用され
ているシェルは、bash シェルである。
- signal mask(訳注)
「(プロセス)シグナルマスクは、プロセスに届かないように、現在ブロックされている
シグナルの集合を定義している。マスクの i 番目のビットが 1 であれば、シグナル
番号 i のシグナルが届かないようにブロックされる。」「ここで重要なのは、
シグナルをプロセスに届かないようにブロックするということが、そのシグナルを
SIG_IGN で無視することと同じではないという点である。無視されるシグナルは、
将来適切な時点で送り出されるまで保持されるのではなく、捨てられてしまうのであ
る。」(p.138, UNIX C プログラミング, David A. Curry, アスキー書籍編集部監訳,
アスキー出版, 1997)
- SMP
Symmetrical multiprocessing. 複数のプロセッサを持つシステムであり、
それらのプロセッサ間では仕事が公平に分担される。
(訳注: Symmetric Multi-Processors ともいう。)
- Socket
ソケットとは、ネットワークコネクションの一方の端を表すもの。Linux は、
BSD ソケットインターフェイスをサポートしている。
- Software
CPU 命令(アセンブラと C のような高水準言語の両方)とデータ。大部分の場合は、
プログラムと言い換えられる。
- sparse address mapping scheme(訳注)
(Alpha CPU は、32-bit と 64-bit のロード・ストアしかサポートしておらず、
8-bit や 16-bit のロード・ストアができない旨説明し、そのことの長所を述べた後で)
「バイト単位のロード・ストアが出来ないことで、ソフトウェアセマフォや、I/O
サブシステムの設計が影響を受けた。この I/O に関する問題に対する Digital(DEC) の
解決策は、I/O 転送の際にいくつかの下位アドレスライン(low-order address lines)
を使ってデータサイズを指定し、後でそれをデコードすることでバイト単位の転送を
実現するというものであった。この所謂 Sparse Addressing
は、アドレス空間を浪費するとともに、その結果として I/O 空間が非連続
(non-contiguous)なものになってしまった。...」
(chpter 8,
Alpha-HOWTO, Neal
Crook, LDP, 1997)
- System V
1983 年に作成された Unix の派生ソフトウェア。これには、何にもまして、System
V IPC メカニズムが含まれていた。
- TCP
Transmission Control Protocol.
- Task Queue
Linux カーネル内で仕事を後回しにするメカニズム。
- type of interrupts(訳注)
割り込みハンドラには、「高速ハンドラ(faster version of IRQ handler)」と
「低速ハンドラ」がある。/proc/interrupts
で +
記号の付いた
割り込み番号は、「高速ハンドラ」であることを示す。
「2 種類の割り込みハンドラの主な違いは、高速ハンドラは割り込みのアトミックな
処理を保証するのに対し、低速ハンドラはしない点です。... 要するに、CPU の
「割り込みを有効にする」フラグは高速なハンドラの実行中にはオフにされ、どんな
割り込みにも対処しないようにしています。一方、低速なハンドラが呼び出されると、
カーネルは割り込みの報告を CPU 内で再度有効にし、低速なハンドラ実行中にも
他の割り込みに対処できるようにします。」(p.202, 「Linux デバイスドライバ」,
Alessandro Rubini, 山崎康宏・山崎邦子訳, O'Reilly Japan, 1998)
高速ハンドラの説明
[in
include/asm-i386/irq.h]
低速ハンドラの説明
[in
arch/i386/kernel/irq.c]
- UDP
User Datagram Protocol.
- Virtual Memory
システム上の物理メモリを実際の以上の容量に見せるためのハードウェアと
ソフトウェアとのメカニズム。
- word(訳注)
「コンピュータにおいては、並列に演算されるビットを示す。」
(p.321, ANSI C 言語辞典, 平林雅英, 技術評論社, 1997)
「CPU とメモリ間で一回に受け渡されるデータの基本単位。...8 ビット CPU は 1
ワードが 8 ビット、16 ビット CPU は 1 ワードが 16 ビット、32 ビット CPU は
1 ワードが 32 ビットとなることが多い。」
(p.848, 標準パソコン用語辞典, 監修赤堀侃司, 秀和システム, 1999)