LPIC = Linux Professional Institute Certification
今週のシガラミ。…はやくカーネルをコンパイルできるくらいの男になろう…
OSが立ち上がるまで
PC電源が入ると HDD のブートセクターがメモリ上に読み込まれる。
Linux の場合、LILO (Linux Loader) や GNU BRUB (GNU Brand Unified Bootloader) と呼ばれる ブートローダが使用される。
ちなみに FedoraCore5 では GRUB が採用されている
BIOSとは
「Basic Input Output System」の略。
コンピュータが持つもっとも基礎的な制御プログラム。
一般的に、起動時にデバイスの初期化やハードウェアの設定を行うプログラムを指す。
BIOSはコンピュータのマザーボードや拡張カードに搭載されたROMに書き込まれている。
IRQ (Interrupt ReQuest : 割り込み要求) とは
PC/AT互換機に組み込まれたさまざまな機器がCPUに処理要求を通知する際の識別番号。
「CPUへの割り込み番号」と解釈すれば良いか
I/O アドレス (input/output)とは
通常の物理アドレス空間とは別に用意された周辺装置との入出力専用アドレス空間。
x86系CPUなどのI/Oアドレス空間を扱う機能を持つCPUを搭載したシステムだけが使える。
CPUは専用のI/Oアドレスアクセス命令(IN/OUT命令)を使って、周辺装置の制御レジスタにアクセスする。
アドレス | 使用チップ |
---|---|
040-05F | タイマ |
060 | キーボード |
070-07F | リアルタイムクロック |
0F8-0FF | 数値演算コプロセッサ |
1F0-1F8 | ハードディスクドライブ |
200-20F | ジョイスティック |
278-27F | 2番プリンタポート(LPT2) |
2E0-2E7 | 4番シリアルポート(COM4) |
2E8-2EF | 3番シリアルポート(COM3) |
2F8-2FF | 2番シリアルポート(COM2) |
360-363 | ネットワーク |
368-36B | ネットワーク |
378-37F | プリンタポート(LPT1) |
3F0-3F7 | フロッピーディスクドライブ |
3F8-3FF | 1番シリアルポート(COM1) |
HDD ジオメトリー
ハードディスクの構成は3つの物理的な数値情報(C/H/S)で表される。
この数値情報のことをジオメトリーとよぶ。
- C:シリンダ数
- ハードディスクは、複数のディスクが縦に重なり合った構造になり、それぞれに媒体へ読み書きを行う磁気ヘッドが存在する。このヘッドの位置を変えずにアクセスできる円周のことを「トラック」とよぶ。シリンダとは、それぞれのディスク上にある同一番号のトラックが集まってできる軸から等距離にある仮想の円筒を意味し、シリンダ数ほその数を表す。
- H:ヘッド数
- 媒体へ読み書きを行う磁気ヘッドの数。
- S:セクタ数
- ディスク上の各トラックを分割する単位、ディスクアクセスの基本的な単位。一般的に 1セクターあたり 512Byte。
PROC であそぼう!
ファイル名 | 内容 | |
---|---|---|
cmdline | システムのブートパラメータ | |
version | カーネルバージョン | |
cpuinfo | CPU情報 | |
uptime | システム動作時間 | |
devices | デバイスとメジャー番号の対応 | |
partitions | 認識されたパーティション一覧 | |
filesystems | サポートするファイルシステムタイプ | |
interrupts | プロセッサへの割り込み要因のリスト | 0: 2042766666 IO-APIC-edge timer |
pci、ioports、iomem、interrupts | 認識しているハードウェア情報 | |
swaps | スワップファイル一覧 | |
locks | ファイルロックのリスト | |
loadavg | ロードアベレージ | |
stat | システム状態 | |
meminfo | 空きメモリ情報 | |
slabinfo | スラブキャッシュの状態 | |
dma | 登録されている ISA DMA (direct memory access) チャネルのリスト |
USB とは ( Universal Serial Bus )
キーボードやマウス、モデム、ジョイスティックなどの周辺機器とパソコンを結ぶデータ伝送路の規格のひとつ。
本体との間であまり大容量のデータをやりとりしない機器を接続するための規格として、USB 1.1という規格名で投入された。
しかし、当初高速シリアルインターフェースとして予定されていたIEEE 1394の立ち上げが遅れ、その間にUSB 1.1の普及が爆発的に進んだ結果、CD-RやHDDなどもぶら下がるインターフェースに変貌した。
USB 1.1は最高で12Mbps(=1.5MB/s)というかなり低速でしか転送ができない規格だったため、高速転送の需要を満たすことを目的としてUSB 2.0(HI-SPEED USB)が策定された。
USBスタックは、2.2系カーネルから非公式に組み込まれていたが、Linuxカーネル2.4系において、正規にサポートが開始された。
PCに搭載されているUSBコントローラを介して制御する。使用しているマザーボードによってコントローラが異なる。
- UHCI(Universal Host Controller Interface)
- Intel社やVIA社のチップ
- OHCI(Open Host Controller Interface)
- Compaq社やALi・SiS・OPTiなど
Linuxでは、カーネル2.4から正式なサポートが開始され、カーネルモジュールを組み込むことで LinuxでUSBを使用可能となる。
「UHCI」であれば【usb-uhci.o】モジュールを、「OHCI」であれば【usb-ohci.s】モジュールを組み込めばよい。
PCがどちらのコントローラを搭載しているかを調べるには【lspci】コマンドを使用する。
lspci | grep -i usb
USBカーネルモジュールが組み込まれているかを確認するのには lsmod コマンドを使う。
UART とは ( Universal Asynchronous Receiver Transmitter )
パソコンのシリアルポートなどに使われる通信回路。
コンピュータから送られてくるパラレル信号をシリアル信号に変換したり、周辺機器から送られてきたシリアル信号をパラレル信号に変換したりする。
SCSIとは ( Small Computer System Interface )
いわゆるスカジー、パソコン本体と周辺機器の接続方法の取り決め。
最初の規格はShugart社(現在のSeagate Technology社)の開発したSASIをベースにしている。
現在では汎用性や性能が大幅に強化された後継規格、SCSI-2やSCSI-3が普及している。
主に小型の外付けハードディスク・CD-ROM・MO・イメージスキャナなどの接続に用いる。
しかし設定が複雑かつ高価ゆえにデスクトップPCからはだんだん廃れていき、小型の外付けHDD・CD/DVD装置は 安価で大容量のIDEやシリアルATAに、イメージスキャナ等はホットプラグも可能で簡単なUSBに移り変わっていった。
現在ではワークステーションや小規模サーバの一部に、高信頼型HDDやディスクアレイ、テープバックアップ装置などの接続目的に使われているのみである。