Linux Professional Institute Learning Logo.
main contentにスキップ
  • ホーム
    • 全てのリソース
    • LPI学習教材
    • コントリビューターになる
    • Publishing Partners
    • Publishing Partnerになる
    • About
    • FAQ
    • コントリビューター
    • Roadmap
    • 連絡先
  • LPI.org
4.2 レッスン 1
課題 1: Linuxコミュニティとオープンソースのキャリア
1.1 ポピュラーなOSとLinuxの発展
  • 1.1 レッスン 1
1.2 主なオープンソースのアプリケーション
  • 1.2 レッスン 1
1.3 オープンソースソフトウエアとライセンス
  • 1.3 レッスン 1
1.4 ICTスキルとLinuxでの作業
  • 1.4 レッスン 1
課題 2: Linuxシステムで自分の手法を見つける
2.1 コマンドラインの基本
  • 2.1 レッスン 1
  • 2.1 レッスン 2
2.2 コマンドラインのヘルプ機能の利用
  • 2.2 レッスン 1
2.3 ディレクトリの利用とファイルの一覧
  • 2.3 レッスン 1
  • 2.3 レッスン 2
2.4 ファイルの作成、移動と削除
  • 2.4 レッスン 1
課題 3: コマンドラインの力
3.1 コマンドラインでのファイル圧縮
  • 3.1 レッスン 1
3.2 ファイルの検索と展開
  • 3.2 レッスン 1
  • 3.2 レッスン 2
3.3 コマンドをスクリプトにする
  • 3.3 レッスン 1
  • 3.3 レッスン 2
課題 4: Linuxオペレーティングシステム
4.1 オペレーティングシステムの選択
  • 4.1 レッスン 1
4.2 コンピュータハードウエアの理解
  • 4.2 レッスン 1
4.3 データの保管場所
  • 4.3 レッスン 1
  • 4.3 レッスン 2
4.4 ネットワーク上のコンピュータ
  • 4.4 レッスン 1
課題 5: セキュリティとファイルパーミッション
5.1 セキュリティの基本と、ユーザタイプの確認
  • 5.1 レッスン 1
5.2 ユーザとグループの作成
  • 5.2 レッスン 1
5.3 ファイルのパーミッションと所有権の管理
  • 5.3 レッスン 1
5.4 特別なディレクトリとファイル
  • 5.4 レッスン 1
How to get certified
  1. 課題 4: Linuxオペレーティングシステム
  2. 4.2 コンピュータハードウエアの理解
  3. 4.2 レッスン 1

4.2 レッスン 1

Certificate:

Linux Essentials

Version:

1.6

Topic:

4 Linusオペレーティングシステム

Objective:

4.2 コンピューターハードウェアの理解

Lesson:

1 of 1

はじめに

ハードウェアなしでは、ソフトウェアは単なる文章の塊にすぎません。ハードウェアが、ソフトウェアに記述されたコマンドを処理し、記録や入出力の仕組みを実現します。クラウドでさえも、最終的にはハードウェアによって支えられています。

オペレーティングシステムとしてのLinuxの役割の1つは、システムのハードウェアにアクセスするためのインターフェースをとなるソフトウェアを提供することです。構成の詳細は、このレッスンの範囲を超えています。とはいえ、特定のアプリケーションを適切にサポートするシステムの能力に影響を与えるため、ユーザーはハードウェアのパフォーマンスや容量などの要因に関心を持っています。このレッスンでは、ハードウェアを標準のコネクタとインターフェースを使用する個々のアイテムとして説明します。規格はほとんど変化しませんが、ハードウェアの形態やパフォーマンス、ならびに容量の特性は常に進化しています。変化によって物理的な違いが曖昧になったとしても、このレッスンで説明するハードウェアの概念が変わることはありません。

Note

このレッスンのあちこちで、ハードウェアの情報にアクセス方法の例を示します。ほとんどの例は、Raspberry Pi B+から採っていますが、ほぼすべてのシステムでも使えます。本書を理解するために、これらのコマンドを理解する必要はありません。

電源

コンピュータシステムのすべての能動的なコンポーネントは、電気で動作します。残念ながら、ほとんどの電源は適当ではありません。コンピュータシステムのハードウェアは、一定の電圧を必要とします。家庭のコンセントから得られるものではありません。

電源装置は、利用可能な電力を安定させます。電圧要件が標準化されているので、メーカーは世界中のどのシステムでも使用できるハードウェアコンポーネントを製造できます。デスクトップマシンの電源装置は、コンセントからの電力を使用します。サーバーマシンの電源装置はより重要であるため、複数の電源に接続して、ひとつが失われても動作が継続できることを保証しています。

電力を消費すると熱が発生します。発熱が多すぎると、システムコンポーネントの動作が遅くなったり、故障に繋がることがあります。ほとんどのシステムは、通風して効果的に冷却するためのファンを備えています。プロセッサなどのコンポーネントは、通風だけでは逃がすことができないほどの熱を発生することがあります。そのような高温のコンポーネントには、ヒートシンクと呼ばれる発熱を逃がすための特別なフィンが取り付けられています。ヒートシンクには、適切な通風のための小さなファンを備えているものもあります。

マザーボード

システムのハードウェアは相互に接続しています。マザーボードは、規格化されたコネクタとフォームファクタ(形状要素)を用いて、正しく相互接続を行います。また、それらのコネクタの構成と電気的な要件のサポートも提供します。

マザーボードの構成は多様であり、さまざまなプロセッサーとメモリシステムをサポートしています。色々なコネクタ規格の組み合わせと、それらを納めるパッケージサイズの違いに対応しています。特殊な外部デバイスを接続する場合を除いて、マザーボードの設定画面でデバイスを調整することができます。管理者は、デバイスを調べる時にも、マザーボードの設定画面と向き合うことになります。

電源が投入されたときに、システムが操作可能になる前に初期化して構成する必要がある、マザーボードに固有のハードウェアがあります。マザーボードは、ファームウェアと呼ばれる不揮発性メモリに納められたプログラムを用いて、それらのハードウェアを処理します。ファームウェアの元々の形式は、BIOS(Basic Input/Output System: バイオス)と呼ばれていました。BIOSは基本的な構成を設定するだけでなく、Linuxなどのオペレーティングシステムを識別し、ロードし、制御を引き渡す働きをします。ハードウェアの進化に伴って、大容量ディスクのサポート、診断機能、グラフィカルインターフェース、ネットワーキングなど、ロードされるオペレーティングシステムに依存しない高度な機能をサポートするようになりました。初期にはマザーボードメーカそれぞれが基本的なBIOSを超えるファームウェアを作っていましたが、Intelが EFI(Extensible Firmware Interface)と呼ばれる高度なファームウェアの規格を定義しました。Interlは UEFI(Unified Extensible Firmware Interface)を作成するために、EFIを標準化組織に提供しました。今日、ほとんどのマザーボードはUEFIを使用しており、BIOSやEFIはほとんど見られません。それでもなお、ほとんどの人はマザーボードのファームウェアのことをBIOSと呼んでいます。

ファームウェアに一般的なユーザーが注意しなくてはならない設定項目はほとんど無いので、システムハードウェアの設定を担当する人だけがファームウェアを扱う必要があります。新しいCPUにおける仮想化拡張機能の有効化は、よく変更されることがあるオプションのひとつです。

メモリ

システムメモリは、実行中のアプリケーションのプログラムコートとデータを保持します。コンピュータのメモリと言うと、ほとんどの人はこのシステムメモリのことを思い浮かべるでしょう。システムメモリのを指す言葉として、RAM(Random Access Memory)や同様の略語があります。システムメモリの物理的なパッケージには、DIMM、SIMM、DDRなども使われます。

物理的には、システムメモリは独立した基板モジュールにパッケージ化されていて、それぞれをマザーボードに差し込んで使います。それぞれのメモリモジュールは、2GBから64GBのものが現在の主流です。ほとんどの汎用アプリケーションでは、4GBのシステムメモリが最小だろうと考えられています。個人用のワークステーションでは、通常は16GBで充分ですが、ゲームやビデオ、ハイエンドの音楽などのアプリケーションを実行するには、16GBでも足りないことがあります。サーバーでは、ユーザーの負荷を効率的にサポートするために、128GBないし256GBが必要になることもよくあります。

ほとんどの場合、Linuxではシステムメモリをブラックボックスとして扱うことができます。アプリケーションが開始されると、Linuxは要求されるシステムメモリの割り当てを処理し、アプリケーションが終了すると他のアプリケーションが利用できるようにメモリを解放します。しかし、アプリケーションが利用可能なシステムメモリより多くを要求した場合はどうなるのでしょうか。この場合、Linuxは休止状態のアプリケーションを、システムメモリからスワップ空間と呼ばれる特別なディスク領域に移動します。Linuxは、休止状態のアプリケーションを実行する必要がある場合に、ディスク上のスワップ空間からシステムメモリにアプリケーションを戻します。

専用のビデオハードウェアを持たないシステムでは、システムメモリの一部(多くの場合1GB)をビデオ表示の記憶領域として使用することが多く、このため有効なシステムメモリが減少します。専用のビデオハードウェアは通常、システムメモリとして使用できない、独立したメモリを持っています。

システムメモリに関する情報を得る方法がいくつかあります。一般的なユーザにとって、利用可能なメモリ容量と、使用中のメモリ量に関心があるでしょう。情報を得るためには free コマンドを使い、出力単位をメガバイトとするために -m オプションを使用します。

$ free -m
              total        used        free      shared  buff/cache   available
Mem:            748          37          51          14         660         645
Swap:            99           0          99

最初の行には、システムで利用可能なメモリの総容量(total)、使用中の容量(used)、空き容量(free)が表示されます。2行目には、スワップ空間に関する情報が表示されます。shard ならびに buf/cache に示されるのは、システムの他の機能のために現在使用されている容量ですが、available の値まではアプリケーションが利用することができます。

プロセッサ

“プロセッサ” という用語は、何かが処理されていることを示しています。コンピューターにおける処理の大部分は、電気信号を取り扱っています。それらの信号は、1ないし0の2つの値のいずれかとして扱われます。

コンピューターについて語るとき、プロセッサという単語を頭文字語の CPU (Central Processing Unit: 中央処理装置)と同じように使っていますが、技術的には正しくありません。すべての汎用コンピュータは、ソフトウェアで指定されたバイナリコマンドを処理するCPUを備えていますから、CPUとプロセッサを同じものだと考えてしまうことは理解できます。しかしながら、現代のコンピュータにはCPUに加えて、タスク処理に特化したプロセッサが搭載されていることが多いのです。最もよく知られた追加のプロセッサは、GPU(Graphical Processing Unit: 画像処理用プロセッサ)です。つまり、CPUはプロセッサのひとつですが、すべてのプロセッサがCPUではありません。

ほとんどの人にとって、CPUアーキテクチャとは、プロセッサがサポートする命令のことです。IntelとAMDは同じ命令をサポートするプロセッサを製造していますが、ベンダー毎にパッケージ、性能、消費電力などが異なるので、それらを区別することには意味があります。ソフトウェアの配布では、動作に必要な最低限の命令セットを明示するためにこれらの名称を使用します:

i386

Intel 30386に結びついた32ビット命令セットを参照します。

x86

80386の後継である80486、80586、Pentiumなどに結びついた32ビット命令セットを指します。

x64 / x86-64

x86ファミリーの32ビット命令と64ビット命令の両方をサポートすることを指します。

AMD

AMDプロセッサがサポートするx86を指します。

AMD64

AMDプロセッサがサポートするx64を指します。

ARM

x86命令セットとは異なる、RISC(Reduced Instruction Set Computer: リスク)CPUを指します。組み込み、モバイル、タブレット、電池駆動デバイスなどによく使用されます。Raspberry Piでは、ARM版のLinuxが使用されています。

ファイル /proc/cpuinfo には、システムのプロセッサに関する詳細情報が含まれています。残念ながら、その詳細は普通の人には難しすぎます。lscpu コマンドでは、少し簡単な結果が表示されます。Raspberry Pi B +からの出力例を示します:

$ lscpu
Architecture:          armv7l
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
Model:                 4
Model name:            ARMv7 Processor rev 4 (v7l)
CPU max MHz:           1400.0000
CPU min MHz:           600.0000
BogoMIPS:              38.40
Flags:                 half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32

ほとんどの人にとって、ベンダーやプロセッサファミリー、仕様項目が星の数ほどあることは、途方に暮れるほどの選択肢となることでしょう。いずれにせよ、CPUやプロセッサにはいくつもの要素があり、運用環境を特定する際には、一般のユーザーや管理者であってもそれらを考慮しなければならないことがあります。

ビット長

CPUにおけるビット長は、1回に処理できるデータの大きさと、アクセスできるメモリ容量に関係しています。最新のシステムでは、ほとんどが32ビットないし64ビットです。32ビットで表現できる最大アドレスは4ギガバイトなので、アプリケーションが4ギガバイトを超えるメモリにアクセスする必要がある場合には64ビットシステムが必要となります。また、通常、32ビットアプリケーションは64ビットシステムで実行できますが、64ビットアプリケーションを32ビットシステムで実行することはできません。

クロック速度

メガヘルツ(MHz)やギガヘルツ(GHz)で表されます。プロセッサの速度は、システムの応答時間、待ち時間、およびスループットに影響を与える要因の 1 つにすぎません。活動的なマルチタスクユーザーであっても、一般的なデスクトップ PC のCPUを2~3%以上活用していることはほとんどありません。それでも、暗号化やビデオレンダリングなど計算量の多いアプリケーションを頻繁に使用する場合は、CPU の速度がスループットや待ち時間に大きな影響を与える可能性があります。

キャッシュ

CPUが動作するためには、命令とデータの両方を一定のストリームとして必要とします。何ギガバイトものCPU速度で動作するシステムメモリのコストと消費電力は法外なものです。CPUチップにはCPU速度で動作するキャッシュメモリが統合されていて、CPUとシステムメモリの間に高速なバッファを提供します。通常、キャッシュはL1、L2、L3、さらにはL4と呼ばれる複数のレイヤーに分かれています。キャッシュは、多い方が高性能です。

コア数

コアは個々のCPUを意味します。物理的なCPUコアに加えて、1つの物理CPUが複数の命令を並行して実行する Hyper-Threading Technology (ハイパースレッディングテクノロジー)を利用すると、1つの物理CPUが2つの仮想的なCPUコアとして機能します。ほとんどの場合、複数の物理コアが1つの物理的なプロセッサにパッケージ化されますが、複数の物理的なプロセッサをサポートするマザーボードもあります。理論上はプロセッサの数が多いほどシステムのスループットが向上しますが、残念ながら、デスクトップアプリケーションでは通常2〜3%のCPU時間しかビジー状態になりませんから、アイドル状態のCPUを増やしてもスループットの向上はほとんど期待できません。ビデオフレームやWebページのレンダリング、複数ユーザーによる仮想マシン環境など、複数の独立したスレッドを持つように書かれたアプリケーションでは、多くのコアが真価を発揮します。

ストレージ

ストレージデバイスは、プログラムやデータを保持します。 ハードディスクドライブ (HDD)や SSD (Solid State Drives)が最も一般的なストレージデバイスで、サーバーやデスクトップで使われています。USBメモリスティックやDVDなどの光学デバイスも使われますが、プライマリのデバイスとして使われることは多くありません。

名前が示すように、ハードディスクドライブは、堅い円盤に情報を記録します。円盤は記録するための磁性体で覆われています。ほこりや小さな粒子、さらには指紋などは、HDDが磁気媒体を読み書きする際の障害となるので、円盤は密閉パッケージに格納されています。

SSDは、USBメモリスティックをより洗練して、大幅に大容量化したものです。SSDは情報をマイクロチップに格納するので、可動部分がありません。

HDDとSSDでは基盤とする技術が異なりますが、比較できる重要な要素があります。HDDの容量は物理的な部品の程度や規模によりますが、SSDの容量はマイクロチップの数によって決まります。SSDのギガバイト当たりのコストは、HDDのコストの3〜10倍になります。HDDでは円盤が所定の位置に回転することを待つ必要がありますが、SSDはランダムアクセスです。SSDのアクセス速度は、HDDの3〜5倍になります。可動パーツがないため、SSDはHDDよりも低消費電力で、信頼性もたかくなります。

ストレージの容量は、HDDもSSDも増加し続けています。今日、HDDは5テラバイト、SSDは1テラバイトが一般的に利用可能です。しかしながら、ストレージ容量は大きなほど良いというわけではありません。ストレージデバイスが故障すると、そこに含まれていた情報は利用不可能になってしまいます。そして、情報の量が多いほどバックアップには長い時間がかかるのが当然です。大量のデータを読み書きするアプリケーションでは、容量よりも遅延やパフォーマンスがより重要なことがあります。

近年のシステムでは、ストレージデバイスの接続に SCSI ( Small Computer System Interface/スカジー)か SATA (Serial Advanced Technology Attachment/サタ)を使います。これらのインターフェイスは、マザーボードの適切なコネクタでサポートされています。初期ブートは、マザーボードに接続されたストレージデバイスから行われます。ファームウェアの設定によって、どのデバイスからこの初期ロードを行うかを定義できます。

RAID (Redundant Array of Independent Disks/レイド)と呼ばれるストレージシステムは、情報の損失を防ぐための仕組みです。RAIDアレイは複数のデバイスで構成され、それらの上に情報をコピーして冗長化するので、ひとつのデバイスが故障しても、すべての情報が有効に保たれます。物理的なRAIDの構成には、レベル0,1,5,6,10などがあり、レベルごとにストレージのサイズやパフォーマンス特性、データ回復のために使用するチェックサムのやデータの冗長化方法が異なります。管理の手間はかかりますが、ユーザーがRAIDの存在を意識することはありません。

ストレージデバイスは通常、データをバイトのブロックとして読み書きします。lsblk コマンドを使用すると、システムで利用できるブロックデバイスを一覧できます。以下の例は、SDカードをストレージデバイスとして使用するRaspberry Piで実行したものです。出力の詳細については、後の パーティション と ドライバ のレッスンで説明します。

$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk0     179:0    0 29.7G  0 disk
+-mmcblk0p1 179:1    0 43.9M  0 part /boot
+-mmcblk0p2 179:2    0 29.7G  0 part /

パーティション

論理的には、ストレージデバイスは、収納スペース(セクタ)の長い並び(シーケンス)です。それらをひとつの長いシーケンスとして、あるいは複数の独立した複数のシーケンスとして扱うことをLinuxに通知する仕組みが パーティション (partition)です。(Linuxからは)それぞれのパーティションが、独立したデバイスであるかのように取り扱われます。ほとんどの場合、システムを最初に設定するときにパーティションを作成します。変更が必要な場合には、デバイスのパーティションを変更するための管理ツールが用意されています。

ではなぜパーティションを利用するのでしょうか? パーティションの使用目的には、利用可能なストレージの管理、暗号化オーバーヘッドの分離、複数のファイルシステムのサポートなどがあります。パーティションによって、ひとつのストレージデバイスから、複数のオペレーティングシステムをブートすることが可能になります。

Linuxは、Rawデバイスの収納スペースの並びを理解できますが、そのままでは使用することができません。デバイスを使用するためには フォーマット する必要があります。フォーマットでは、デバイスにファイルシステムを書き込んで、ファイル操作を行えるようにします。ファイルシステムなしでは、デバイスでファイル操作を行うことができません。

ユーザーにはパーティションが独立したデバイスに見えますから、ひとつの物理デバイスを使用しているということを見失いがちです。例えば、あるデバイスから別のデバイスへの操作が、実はパーティションからパーティションへの操作であり、期待するパフォーマンスが出ないことがあります。ひとつのデバイスの物理的なメカニズムは1つであり、読み書きするハードウェアはひとつしかありません。大事なことは、あるデバイスのパーティションを組み合わせても、対故障性は向上しないことです。デバイスが故障したら、すべてのパーティションが故障するので、対故障性はまったくありません。(訳注: つまり、別のパーティションにバックアップを作成しても全く意味がありません。)

Note

LVM (Logical Volume Manager/エルブイエム)は、複数のディスクやパーティションを組み合わせて、ひとつのドライブのように管理するためのソフトウェアです。

周辺装置

サーバーやワークステーションが機能するためには、CPU、システムメモリ、ストレージを組み合わせることが必要です。これらの基本的な部品は、外部の世界と直接インターフェイスするものではありません。周辺機器とは、システムへの入出力を行い、現実世界とやりとりを行うデバイスです。

ほとんどのマザーボードには、キーボード、マウス、サウンド、ビデオ、ネットワークなどのデバイスをサポートするレガシーな周辺機器インターフェイスに対応するファームウェアのサポートと、組み込みの外部コネクタを備えています。最近のマザーボードでは、ネットワークをサポートするEthernet(イーサネット)コネクタや、基本的なグラフィック用のHDMIコネクタ、ほとんどあらゆるものを接続するための USB (Universal Serial Bus/ユーエスビー)コネクタを複数個備えていることも普通です。USBには速度や物理特性が異なる複数のバージョンがあり、1つのマザーボードに異なるバージョンのUSBポートが搭載されていることも一般的です。

マザーボードが、1つ以上の拡張スロットを備えていることもあります。拡張スロットには、レガシーなもの、特殊なもの、標準化されていないものなど、各種の周辺装置をサポートする特別な回路基板を追加できます。グラフィックス、サウンド、ネットワークインターフェイスなどの拡張カードは一般的ですし、RAIDや、シリアル接続やパラレル接続用の特殊な形式のレガシーインターフェースをサポートするものもあります。

プロセッサやシステムメモリ、SSD、周辺装置制御ハードウェアを1つの集積回路としてパッケージングした SoC (System on a Chip/ソック)は、電力、パフォーマンス、大きさ、信頼性などの面でマザーボードを上回る有意性を実現しています。SoCがサポートする周辺機器は、パッケージされているコンポーネントによって制限されます。そのため、SoCは特定の用途向けに開発されています。 電話、タブレット、およびその他の携帯機器は、多くの場合、SoC技術をベースにしています。

一部のシステムには、周辺機器が組み込まれています。ラップトップはワークステーションに類似していますが、デフォルトのディスプレイ、キーボード、マウスなどの周辺機器が組み込まれています。オールインワンシステムはラップトップに似ていますが、(外付けの)キーボードとマウスが必要です。マザーボードやSoCベースのコントローラには、特定用途に適した周辺機器が統合されていることがよくあります。

ドライバとデバイスファイル

ここまでにこのレッスンでは、プロセッサ、メモリ、ディスク、パーティション、フォーマット、および周辺機器に関して説明しました。ただし、一般ユーザーにシステムにあるそれぞれデバイスの細かな操作を求めると、システムは動かなくなってしまうでしょう。また、ソフトウェア開発者は、サポートするデバイスを追加ないし変更する度に、(デバイスを操作する)コードを変更しなくてはなりません。

この “細かな操作” 問題を解決するのがデバイスドライバです。デバイスドライバは、標準的な一群のリクエストを受け付けて、それらのリクエストをデバイスに最適な制御方法に変換します。デバイスドライバによって、ユーザーやアプリケションは、ファイルがハードディスクにあるのか、SSDにあるのか、メモリスティックにあるのか、あるいは暗号化ストレージにあるのかなどを気にすることなく、/home/carol/stuff ファイルにアクセスすることができます。

/dev ディレクトリにあるデバイスファイルによって、物理デバイスとそれをサポートするドライバ、デバイスへのアクセス方法が分かります。現在のシステムでは、SCSIやSATAベースのストレージデバイスには、プレフィックスとして sd から始まるファイル名を付けるのが慣例です。プレフィックスに続く a や b などの文字によって、物理デバイスを区別します。プレフィックスとデバイス識別文字に続く数字が、物理デバイス内のパーティションを示します。つまり、dev/sda は最初のストレージデバイス全体を示し、/dev/sda3 は、最初のストレージデバイスの3番目のパーティションを示します。デバイスの種類ごとに、デバイスファイルの適切な命名規則が決まっています。すべての命名規則を網羅することはこのレッスンの範囲を超えますが、システム管理を行うためにはこれらの命名規則を知っておくことが重要です。

このレッスンでは /dev/ ディレクトリの内容を取り上げませんが、ストレージデバイスの例を見ておきましょう。SDカードデバイスには、通常 mmcblk というプレフィックスを使います。

$ ls -l mmcblk*
brw-rw---- 1 root disk 179, 0 Jun 30 01:17 mmcblk0
brw-rw---- 1 root disk 179, 1 Jun 30 01:17 mmcblk0p1
brw-rw---- 1 root disk 179, 2 Jun 30 01:17 mmcblk0p2

デバイスファイルのリストの詳細は、一般的なファイルの詳細とは異なります。

  • ファイルやディレクトリとは異なり、パーミッションフィールドの最初の文字は b です。これは、文字ではなくブロックを単位としてデバイスへの読み書きが行われることを示しています。

  • サイズ欄は、ひとつの数値ではなく、カンマで区切られた2つの数値です。1つ目の数値はカーネルに組み込まれたドライバを示し、2番目の数値はそのドライバで処理されるデバイスを示します。

  • ファイル名には物理デバイスを示すために数字を使うので、サフィックス p に続けてパーティション番号を指定することが(このデバイスの)命名規則になります。

Note

それぞれのシステムデバイスは、/dev にエントリを持つ必要があります。/dev ディレクトリの内容はインストール時に作成されるので、物理デバイスが無くても、組み込まれたドライバとデバイスを示すエントリが作成されることがあります。

演習

  1. これらの用語を説明して下さい。

    プロセッサ

    CPU

    GPU

  2. 主にビデオ編集のアプリケーション(計算量が多い作業)を利用する場合に、システムの使い勝手に最も影響を与えるコンポーネントはどれで、どのような特性が求められますか?

    CPUのコア数

    CPUの速度

    利用可能なシステムメモリ

    ストレージシステム

    GPU

    ビデオディスプレイ

    上記以外

  3. システムの3番目のSATAドライブの3番目のパーティションを表す、/dev 内のデバイスファイルの名前はどれですか:

    sd3p3

    sdcp3

    sdc3

    どれでもない

発展演習

  1. 手元のマシンで lsblk コマンドを実行して、以下のパラメータを確認しましょう。システムがすぐに使えない時は、 “ストレージ” セクションで取り上げた Raspberry Piシステムで lsblk -f を実行した結果について考察しましょう。

    $ lsblk -f
    NAME        FSTYPE LABEL  UUID                                 MOUNTPOINT
    mmcblk0
    +-mmcblk0p1 vfat   boot   9304-D9FD                            /boot
    +-mmcblk0p2 ext4   rootfs 29075e46-f0d4-44e2-a9e7-55ac02d6e6cc /
    • デバイス種別と数

    • それぞれのデバイスのパーティション構成

    • ファイルシステムの種別とそれぞれのパーティションのマウント位置

まとめ

システムはコンポーネントの積み合わせですから、異なるコンポーネントはコストやパフォーマンス、使い勝手に影響を与えます。ワークステーションとサーバーに共通する一般的な構成がありますが、ベストな構成はひとつではありません。

演習の解答

  1. これらの用語を説明して下さい。

    プロセッサ

    さまざまなプロセッサを総称する用語です。よくCPUと同じ意味で使われますが誤りです。

    CPU

    中央処理装置(Central Processing Unit)です。あらゆる種類の計算タスクを処理します。

    GPU

    グラフィカルプロセシング装置(Graphical Processing Unit)です。グラフィック表示に関連する処理に最適化されています。

  2. 主にビデオ編集のアプリケーション(計算量が多い作業)を利用する場合に、システムの使い勝手に最も影響を与えるコンポーネントはどれで、どのような特性が求められますか?

    CPUのコア数

    影響あり。複数のコアは、ビデオ編集に求められる同時表示やレンダリングのタスクをサポートします。

    CPUの速度

    影響あり。ビデオのレンダリングには、大量の計算能力が求められます。

    利用可能なシステムメモリ

    多い方が良い。編集に使用する圧縮されていないビデオデータは巨大です。汎用的なシステムは8ギガバイトのメモリを搭載していることが多いですが、16ないし32ギガバイトのメモリを搭載すればより多くの非圧縮のビデオフレームを処理できるようになり、効率的な編集作業を行えます。

    ストレージシステム

    影響あり。ビデオファイルは長大です。内蔵SSDドライブは、効率的な転送を行えます。遅いネットワークドライブは逆効果になる可能性があります。

    GPU

    影響なし。GPUは主にレンダリングされたビデオの表示に影響を与えます。(訳注: アプリケーションによってはレンダリングに使用するものもあります。)

    ビデオディスプレイ

    影響なし。ビデオディスプレイは主にレンダリングされたビデオの表示に影響を与えます。

    上記以外

    影響なし。いくつかの要因は、システムの使い勝手に影響します。

  3. システムの3番目のSATAドライブの3番目のパーティションを表す、/dev 内のデバイスファイルの名前はどれですか:

    sd3p3

    誤り。3番目のドライブは sdc であって sd3 ではありません。

    sdcp3

    誤り。3番目のパーティションは 3 であって p3 ではありません。

    sdc3

    正解。

    どれでもない

    誤り。3つ目が正解です。

発展演習の解答

  1. 手元のマシンで lsblk コマンドを実行して、以下のパラメータを確認しましょう。システムがすぐに使えない時は、 “ストレージ” セクションで取り上げた Raspberry Piシステムで lsblk -f を実行した結果について考察しましょう。

    $ lsblk -f
    NAME        FSTYPE LABEL  UUID                                 MOUNTPOINT
    mmcblk0
    +-mmcblk0p1 vfat   boot   9304-D9FD                            /boot
    +-mmcblk0p2 ext4   rootfs 29075e46-f0d4-44e2-a9e7-55ac02d6e6cc /

    以下の回答例は、Raspberry Piシステムで lsblk -f を実行した結果に基づいています。異なる結果となる場合があります。

    デバイス種別と数

    ひとつのデバイス mmcblk0 があります。SDメモリカードの名前は、慣例的に mmcblk です。

    それぞれのデバイスのパーティション構成

    2つのパーティション mmcblk0p1 と mmcblk0p2 があります。

    ファイルシステムの種別とそれぞれのパーティションのマウント位置

    1番目のパーティションは vfat ファイルシステムで、システムのブートに使われて /boot にマウントされます。2番目のパーティションは ext4 ファイルシステムで、主要なファイルシステムとして / にマウントされます。

Linux Professional Insitute Inc. All rights reserved. 学習資料をご覧ください: https://learning.lpi.org
ここでの作成物は、Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Licenseの下でライセンスされています。

次のレッスン

4.3 データの保管場所 (4.3 レッスン 1)

次のレッスンを読む

Linux Professional Insitute Inc. All rights reserved. 学習資料をご覧ください: https://learning.lpi.org
ここでの作成物は、Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Licenseの下でライセンスされています。

LPIは非営利団体です。

© 2023 Linux Professional Institute(LPI)は、オープンソースプロフェッショナル向けのグローバルな認定基準およびキャリアサポート組織です。200,000人以上の認定保持者を擁する、世界初かつ最大のベンダー中立Linuxおよびオープンソース認定機関です。LPIは180か国以上で認定プロフェッショナルを擁し、複数の言語で試験を実施し、何百ものトレーニングパートナーを擁しています。

私たちの目的は、オープンソースの知識とスキルの認定資格を世界中からアクセスできるようにすることで、誰にとっても経済的で創造的な機会を可能にすることです。

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • お問い合わせ
  • 個人情報とCookieポリシー

間違いを見つけたり、このページを改善したいですか? 私たちに知らせてください。.

© 1999–2023 The Linux Professional Institute Inc. All rights reserved.