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
|
それぞれのシステムデバイスは、 |
演習
-
これらの用語を説明して下さい。
プロセッサ
CPU
GPU
-
主にビデオ編集のアプリケーション(計算量が多い作業)を利用する場合に、システムの使い勝手に最も影響を与えるコンポーネントはどれで、どのような特性が求められますか?
CPUのコア数
CPUの速度
利用可能なシステムメモリ
ストレージシステム
GPU
ビデオディスプレイ
上記以外
-
システムの3番目のSATAドライブの3番目のパーティションを表す、
/dev
内のデバイスファイルの名前はどれですか:sd3p3
sdcp3
sdc3
どれでもない
発展演習
-
手元のマシンで
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 /
-
デバイス種別と数
-
それぞれのデバイスのパーティション構成
-
ファイルシステムの種別とそれぞれのパーティションのマウント位置
-
まとめ
システムはコンポーネントの積み合わせですから、異なるコンポーネントはコストやパフォーマンス、使い勝手に影響を与えます。ワークステーションとサーバーに共通する一般的な構成がありますが、ベストな構成はひとつではありません。
演習の解答
-
これらの用語を説明して下さい。
- プロセッサ
-
さまざまなプロセッサを総称する用語です。よくCPUと同じ意味で使われますが誤りです。
- CPU
-
中央処理装置(Central Processing Unit)です。あらゆる種類の計算タスクを処理します。
- GPU
-
グラフィカルプロセシング装置(Graphical Processing Unit)です。グラフィック表示に関連する処理に最適化されています。
-
主にビデオ編集のアプリケーション(計算量が多い作業)を利用する場合に、システムの使い勝手に最も影響を与えるコンポーネントはどれで、どのような特性が求められますか?
CPUのコア数
影響あり。複数のコアは、ビデオ編集に求められる同時表示やレンダリングのタスクをサポートします。
CPUの速度
影響あり。ビデオのレンダリングには、大量の計算能力が求められます。
利用可能なシステムメモリ
多い方が良い。編集に使用する圧縮されていないビデオデータは巨大です。汎用的なシステムは8ギガバイトのメモリを搭載していることが多いですが、16ないし32ギガバイトのメモリを搭載すればより多くの非圧縮のビデオフレームを処理できるようになり、効率的な編集作業を行えます。
ストレージシステム
影響あり。ビデオファイルは長大です。内蔵SSDドライブは、効率的な転送を行えます。遅いネットワークドライブは逆効果になる可能性があります。
GPU
影響なし。GPUは主にレンダリングされたビデオの表示に影響を与えます。(訳注: アプリケーションによってはレンダリングに使用するものもあります。)
ビデオディスプレイ
影響なし。ビデオディスプレイは主にレンダリングされたビデオの表示に影響を与えます。
上記以外
影響なし。いくつかの要因は、システムの使い勝手に影響します。
-
システムの3番目のSATAドライブの3番目のパーティションを表す、
/dev
内のデバイスファイルの名前はどれですか:sd3p3
誤り。3番目のドライブは
sdc
であってsd3
ではありません。sdcp3
誤り。3番目のパーティションは
3
であってp3
ではありません。sdc3
正解。
どれでもない
誤り。3つ目が正解です。
発展演習の解答
-
手元のマシンで
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
ファイルシステムで、主要なファイルシステムとして/
にマウントされます。