問題一覧
1
プロセスとは?
コンピュータの分野では、動作中のプログラムをプロセスという。あるプログラムがメインメモリ上に展開され、CPUで実行されている状態を指す。あるプログラムの実行中に同じプログラムをもう一度起動すると、それらは別のプロセスとして管理される。 プログラムを構成する命令列(コード)だけでなく、コードやデータを置くためのメモリ領域、変数などの内部状態、CPUの実行状態(コンテキスト)、セキュリティ属性などの組み合わせである。オペレーティングシステム(OS)などからは固有の識別子(プロセスID)で区別される。
2
コンテキストスイッチとは?
あるプロセスを実行している最中に、処理を中断してCPU内部のレジスタの状態などを特定のメモリ領域などに保存し、同じように途中で中断されていた別のプロセスの実行状態を読み込んで処理を再開する。この一連の切り替え処理のこと
3
レジスタとは?
マイクロプロセッサ(MPU/CPU)内部にある、演算や実行状態の保持に用いる記憶素子。最も高速な記憶装置だが、一般的なCPU製品で数個から数十個(容量に換算して数十バイト程度)と数が限られる。GPUなど特殊なプロセッサでは数万個(数百キロバイト)のレジスタを内蔵するものもある
4
スレッドとは?
スレッドとは、プロセス内の実行単位 のことです。 スレッドには二種類あります。 シングルスレッドプロセス 一つのスレッドを持つプロセスのことを指します。 マルチスレッドプロセス 複数のスレッドを持つプロセスのことを指します。 マルチスレッドプロセスでは、複数のスレッドが同時に動作することができます。 各スレッドは、独自のレジスタとスタックを持っています。 ただし、コードセグメント、データセグメント、ヒープなどの他のリソースは、スレッド間で共有されます。 スレッドは、同じプロセス内の他のスレッドと同じメモリアドレス空間を共有しているため、スレッド間の通信は非常に効率的です。 しかし、これは同時に、一つのスレッドがプロセス全体を破損させる可能性があることを意味します。
5
プロセスIDとは?
オペレーティング(OS)が現在実行中のプロセスを識別するために割り当てる一意な識別子。WindowsやUNIX系OSなどで利用される仕組みで、一般的には整数の通し番号が与えられる。
6
ファイルディスクリプタとは?
プログラムからファイルを操作する際、操作対象のファイルを識別・同定するために割り当てられる番号。オペレーティングシステム(OS)にファイルの操作を依頼する際に用いられる値で、通常は16ビットの符号なし整数が用いられる。
7
アドレッシングとは?
機器やデータの所在情報(アドレス)を指定したり割り当てること。主に対象を連続した番号(番地)で識別するシステムで用いられる概念
8
標準入力とは?
コンピュータ上で実行されているプログラムが、特に何も指定されていない場合に標準的に利用するデータ入力元。システム上では “stdin” の略号で表されることが多い。
9
標準出力とは?
コンピュータ上で実行されているプログラムが、特に何も指定されていない場合に標準的に利用するデータ出力先。システム上では “stdout” の略号で表されることが多い。
10
標準エラー出力とは?
コンピュータ上で実行されているプログラムが、特に何も指定されていない場合に標準的に利用するエラー出力先。システム上では “stderr” の略号で表されることが多い。
11
親プロセスとは?
コンピュータ上でプログラムを実行状態にしたプロセスのうち、別のプロセスで生成して実行を開始させたもの。生成したプロセスは「子プロセス」(child process/チャイルドプロセス)という。
12
子プロセスとは?
コンピュータ上でプログラムを実行状態にしたプロセスのうち、別のプロセスで生成されて実行を開始したもの。
13
systemdとは?
LinuxなどのUnix系のコンピューターのシステムを起動するときに様々なプログラムを動かす元のプログラムのことである。また、systemdのような元のプログラムのことをinitプロセスと呼ぶ。
14
fork()システムコールとは?
親プロセスを2つの同一内容のプロセスに(フォークの先のように)分岐させるシステムコールである。 fork()によって子プロセスが親プロセスのコピーとして生成され、子プロセスがexec()システムコールを呼び出すことで(子プロセス)自身の内容を置き換える。
15
exec()システムコールとは?
そのシステムコールを呼びだしたプロセス上で、別なプログラムの実行を開始するためのシステムコールである。 このため、そのプロセスでそれまで実行されていたプログラムは破棄され、システムコール呼び出しがリターンすることはありえない。
16
プロセス間通信とは?
コンピュータ上で実行中のプログラムの間でデータをやり取りするための仕組み。あるプログラムから別のプログラムへデータやメッセージを通知したり、データの提供依頼や処理依頼を行ったり、依頼に対する結果を返したりすることができる。
17
名前付きパイプとは?
NIXおよびUnix系の通常のパイプを拡張したもので、プロセス間通信の技法の1つ。その概念は Microsoft Windows にもあるが、意味論は大幅に異なる。通常のパイプは「無名」であり、使用しているプロセスが動作中のみ存在する。名前付きパイプは永続的で、プロセスが消滅しても存在し続けるので、使わなくなったら削除する必要がある。名前付きパイプはファイルのように扱うことができ、プロセス間通信 (IPC) を行うためにプロセスがオープンして使用する。
18
名前なしパイプとは?
コマンド間の入出力を繋げるときによく使う | です。これを使うことで | の左側のコマンドの標準出力を右側の標準入力に繋げる仕組みです。
19
メモリーマップトファイルとは?
ファイルまたはそれに類似するリソース(あるいはその一部)を仮想記憶空間の連続領域に直接マッピングしたものである。そのリソースは通常物理的にディスク上に存在するファイルだが、デバイス、共有メモリオブジェクトなどオペレーティングシステムがファイル記述子で参照できるリソースなら何でもよい。ファイルとメモリ空間の対応付けにより、アプリケーションはそれを主記憶の一部として扱うことができる。
20
プロセスの状態遷移とは?
生成されたタスクは「実行可能状態(READY)」となり、CPUの使用権が回ってくるのを待ちます。そして、CPUの使用権が回ってきたら「実行状態(RUN)」に変わります。 「実行状態(RUN)」になったタスクは処理が終了すればタスクは消滅、処理中に入出力処理が発生した場合は「待機状態(WAIT)」に状態が変わり、入出力処理が終わり次第、再び「実行可能状態(READY)」に遷移します。
21
bashとは?
UNIX系システムで用いられているシェルで、フリーソフトウェア財団(Free Software Foundation、FSF)のGNUプロジェクトにより開発されました。bashとは、Bourne-again shellの頭文字をとった名称です。簡単に言うと、bashはBourne Shellのフリーソフトウェア版として機能を継承しつつ、C ShellやKornShellの機能を取り入れたシェルと言えます。 現在、bashはLinuxやMacOSおよびMicrosoft Windowsでも対応する代表的なシェルと位置づけれています。bashの関連情報は以下のサイトから入手可能です。
22
catコマンドとは?
主にLinuxなどのUNIX系OSで標準的に使用されるコマンドおよびプログラムの一つで、標準入力から流れてきたデータをそのまま標準出力に流し込むもの ファイルの中身を確認したいときに利用されるLinuxコマンドです。 あくまで表示するだけのコマンドなので、ファイルの書き換えは行えません。
23
grepコマンドとは?
ファイルから特定の「文字列(文字のパターン)」が存在するかを調べたいときに利用されるLinuxコマンドです。 grepコマンドでは、検索対象として複数のファイルやディレクトリが使用できます。 また、パイプ(|)と組み合わせることによって他のコマンドの出力結果から「文字列」を絞り込むことができ非常に便利なコマンドです。
24
実行状態とは?
タスクにCPUなどのシステム資源が割り当てられ、タスクが実行している状態のこと
25
待機状態とは?
入出力要求などのタスク自体ではどうしようもできない処理が必要になり、CPUなどのシステム資源が与えられても何ともできない状態
26
実行待ち状態とは?
CPUなどのシステム資源が割り当てられさえすれば、すぐにでも動き出せる状態のこと
27
マルチプロセッサ(CPU)とは?
一台のコンピュータシステムに複数のマイクロプロセッサ(CPU/MPU)を搭載すること。複数のプロセッサで異なるデータや命令を並列に処理することでシステム全体の処理能力を向上させることができる。
28
CPUクロック数とは?
クロック周波数とも呼ばれ、CPUが処理を行う際に発する信号を扱う速さで、「Hz(ヘルツ)」という単位で表されます。この数値が高いと、同じ時間内により多くの処理が可能です。
29
CPUコア数とは?
文字通り処理作業を行うCPUの中核となる部分です。 最近のCPUではマルチコアプロセッサ−と呼ばれる1つのCPUの中に複数のコアが入っているものが主流となっています。 複数のコアが存在すると、パソコン上では複数のプロセッサーとして認識され、複数の処理を並列で行うような場合に有効です。
30
シグナルとは?
実行中のスレッドやプロセスにカーネルや他のプロセスなどが要求を通知する仕組みの一つにシグナルと呼ばれる方式がある。 シグナルを受信したプロセスは実行中の処理を中断してシグナルに対応しなければならない。特定のシグナルが送られてきた時に実行する処理をプログラム中で定義することができ、これを「シグナルハンドラ」(signal handler)という。 ハードウェアによる割り込み要求に似た仕組みをソフトウェア的に実現したものと考えることもでき、実際、利用者による特定のキー操作でプログラムを強制終了させるなど、ハードウェア割り込みを契機としてシグナルが送られる場合もある。
31
ゾンビプロセスとは?
コンピュータ上で実行状態にあるプログラム(プロセス)のうち、終了したはずなのにシステム上は残存していることになっており、資源を占有したまま停止しているもの。
32
wait()システムコールとは?
呼び出し元プロセスの子プロセスの 状態変化を待ち、状態が変化したその子プロセスの情報を取得するのに 使用される。 状態変化とは以下のいずれかである: 子プロセスの終了、シグナルによる子プロセスの停止、 シグナルによる子プロセスの再開。 子プロセスが終了した場合は、wait を実行することで、 システムがその子プロセスに関連するリソースを解放できるようになる。 wait が実行されなかった場合には、終了した子プロセスは 「ゾンビ」状態で残り続ける
33
ミューテックスとは?
相互排他制御(Mutual Exclusion)を行うコンピュータおよびプログラムの仕組みを指す言葉です。 並行処理されるプロセス間において利用されるリソースを排他制御するための仕組みです。プロセスあるいはスレッドはミューテックスの関数を利用することで、共有リソースの利用をロック(Lock)し、他のプロセスがリソースにアクセスできないようにします。その後、処理を終えた後はロックを解放し(Unlock)、リソースを使用可能にします。
34
セマフォとは?
コンピュータ上の共有資源について、利用可能な資源の数を指し示している。プログラムが資源を占有するときはセマフォの値から1を減じ、処理が終わって解放する際には1を加える。セマフォが0のときは空いている資源がないため正の値になるまで待機する。
35
OSとは?
「Operating System」の略で、日本語では「基本ソフトウェア」といいます。システム全体の管理とアプリケーションソフトを動かす役割があり、パソコンにはかかせないもの。 OS はコンピューター全体の動作管理や、ハードウェアとソフトウェアの橋渡し以外にも、以下のような仕事をしています。 ・画面 (ユーザーインターフェイス) の描画 (出力) ・キーボードやマウスからの入力の認識と結果の出力 ・ファイルの読み書きや管理 ・周辺機器の管理やコントロール
36
CPUとは?
中央であらゆる作業の処理を行ういわばパソコンにおいての頭脳といえる部分です。 CPUの主な役割は「演算」「制御」です。この役割でもって、メモリからデータを読み込み、使用者がアプリなどから出した命令を解釈して演算・実行し、データを書き出すという働きをします。 コア数、スレッド数、クロック数、キャッシュサイズで性能が決まる
37
タイムスライスとは?
CPUといったマイクロプロセッサの利用時間をミリ秒単位やマイクロ秒単位で分割して、実行中のプログラムを順番に割り当てる処理を指します。 各プログラムはCPUを占有することができないため、性能は低下しますが、先に実行された処理を待つことなく並行して処理を実行できます。
38
コンテキストとは?
実行の流れを切り替えるには、単に切り替え先のプログラムで次に実行される命令を読み込んでCPUに投入するのでは不完全で、切り替え直前のCPU内部の記憶装置(レジスタ)の内容などをメモリ上に移し替えて保全し、同じように保全されていた切り替え先の直前の実行状態を書き戻すといった処理が必要となる。このような、あるプログラムのある瞬間の実行状態の全体。
39
プログラムカウンタとは?
マイクロプロセッサ(MPU/CPU)内部でデータを保持するレジスタの一種で、次に実行すべき命令が格納されているメモリ上の番地(アドレス)を保存しているもの。また、その保存しているアドレス値
40
スタックポインタとは?
メモリ上に確保されたスタック領域の中で次にデータを書き込むべき番地を保持する。CPUがスタックへの書き出しを指示するとスタックポインタの値は書き込んだデータの長さの分だけ増え、読み出しを指示すると読み出されたデータの長さだけ減る。
41
スタックとは?
最も基本的なデータ構造の一つで、要素が入ってきた順に一列に並べ、後に入れた要素から順に取り出すという規則で出し入れを行うもの。 ほとんどのマイクロプロセッサにはメモリ領域に設けたスタックを操作するための機械語の命令やレジスタなどを内蔵しており、機械語のプログラムの実行制御などで非常によく用いられるデータ構造として知られる。特に、サブルーチンや関数を呼び出す際に処理中のデータや戻りアドレスなどを一時的に退避するコールスタック(実行スタック)のことを単にスタックと呼ぶ場合もある。
42
vmstatコマンドとは?
システム内の情報を表示するコマンドだ。 例えば,主メモリーの空き容量やCPUの動作状況などを表示する。 vmstatコマンドをそのまま実行すると,現在のプロセス,メモリー,スワップ,デバイス,割り込み,CPUの情報が表示される
43
CopyOnWrteとは?
書き込みが実際に起こるまで、複数のプロセスが同じ物理メモリを共有し続ける方法
44
スケジューラとは?
複数のプログラムを見かけ上、同時に実行するときに、どのような順番で、プログラムを実行するかなどを決定し、実行する仕組み
45
ディスパッチャーとは?
CPUの実行時間を極めて短い時間ごとに分割し、ディスパッチャが実行中の各プログラムに少しずつ割り当てる。CPUを短時間ごとに切り替えて使用することで、CPUが一つしかなくても同時に複数のプログラムを実行状態において並行に実行することができる。
46
カーネルとは?
オペレーティングシステム(OS)の核心部分を担当し、様々な基本機能を果たします。 その具体的な役割とは、ハードウェアとソフトウェアの間のインタフェースを提供し、プログラムの実行やリソースの管理、そしてデバイスの制御といった重要なタスクを実行すること。
47
FIFO方式とは?
複数の対象を列を作って待機させ順番に処理する際に、列に入った順番通りに列から取り出すような構造や手順のことを意味する。窓口などで人々が行列に並んで待ち、早く来た順に呼び出されるのと同じ方式である。 コンピュータ上でデータ群を一定の形式やルールで格納するデータ構造のうち、データを一列に並べてFIFOで出し入れするものを「キュー」(queue)という。FIFO方式でデータなどを取り扱うことを「キューイング」(queueing)ということがある。
48
最短ジョブ優先方式とは?
実行時間が最も短いプロセスが次回の実行に選択されるアルゴリズム
49
固定優先度方式とは?
全てのプロセスに固定の優先度を付与し、その優先度順にプロセスをキューイングする。新たに高優先度のプロセスが到着すると、現に実行中だった低優先度のプロセスは中断される。
50
ラウンドロビンとは?
各プロセスにある一定時間単位を割り当て、次々にその割り当てを実行させる。
51
多重キュースケジューリングとは?
複数のFIFOキューで構成されており、先頭のFIFOが最も優先される。ディスパッチャは上位のFIFOキューから実行可能プロセスを探していき、最初に見つかったプロセスを実行する。
52
アフィニティーとは?
プロセス・スレッドはOSによってどれかのCPUコア上で実行される。CPUアフィニティを設定することで、その実行されるCPUコアを任意に制限・指定することができる。
53
ハイパースレッディングとは?
一つのプロセッサコアを擬似的に二つに見せかける技術。いわゆる同時マルチスレッディング技術(SMT:Simultaneous Multithreading Technology)の一種で、一つのコアで並行して二つの命令の流れ(スレッド)を実行できる。
54
パイプラインとは?
マイクロプロセッサ(MPU/CPU)内部での命令実行方式の一つで、一つの命令を複数の段階に分割してそれぞれを別の回路で実行することにより、いくつかの命令の実行を並行して進める方式。
55
デーモンとは?
UNIX系OSでメインメモリ上に常駐して特定の機能を提供するプログラム。利用者の操作とは無関係に処理を行うバックグラウンドプロセスの一種で、別のプログラムや機器、通信相手など外部からの要求を受け付けて処理を実行したり、あらかじめ設定されたタイミングで自律的に特定の処理を実行したりする。
56
割り込み処理とは?
CPUのハードウェア機能として実現され,通常のプログラムの実行を強制的に中断し,別のプログラム処理を割り込ませることができる. 割り込みした処理が終了した後は,何もなかったかのように元のプログラムをそのまま続行する。
57
仮想メモリとは?
ハードディスクの一部をメモリとして利用する際に、ハードディスク上に作成されるファイルのこと。 パソコン内の物理メモリが不足している際、一時的に仮想メモリへデータを移動し、パソコンが重くなったりフリーズするのを防ぐことができる。 仮想メモリはハードディスク上にあります。そのため、物理メモリに比べて速度が遅くなってしまう。
58
スワップ領域とは?
LinuxなどのUNIX系OSでストレージ上に作成される特殊なパーティションの一つで、メインメモリ(物理メモリ)の容量の延長としてプログラムやデータを記録することができる領域。
59
物理メモリとは?
コンピュータに装着・内蔵されている、物理的実体としての主記憶装置(メインメモリ/RAM)。また、その記憶容量。全体の容量を指す場合と利用可能な空き容量を指す場合がある。
60
MMUとは?
仮想メモリの管理を行う役割を果たし、物理アドレスと仮想アドレスの対応関係を記録して相互に変換したり、要求されたページが物理メモリに存在しない場合にそのことをオペレーティングシステム(OS)に知らせたりする(ページフォールト)。
61
TLBとは?
仮想記憶を用いるコンピュータ上で、メモリの仮想アドレスと物理アドレスの対応関係を一時的に保存しておくキャッシュメモリ。CPU(マイクロプロセッサ/MPU)内部に実装されている。
62
メモリスワップとは?
OSのメモリ管理機能の一つで、メインメモリ(RAM)とストレージ(外部記憶装置)の同容量の領域間でデータの交換を行う動作をメモリスワップと呼び、これを略して単にスワップという。これにより、物理的なメモリ容量より広いメモリ空間を扱えるようになる。
63
スワップアウトとは?
ストレージ上に一定のスワップ領域(スワップファイルやスワップパーティション)を予約しておき、メモリ容量が逼迫してきたら直近に使われていないメモリ領域の内容をスワップ領域に退避させ、物理メモリ側に空き領域を作り出す。
64
スワップインとは?
ストレージ上に退避した領域の内容はそのままではプログラムからメモリの一部としてアクセスすることはできないため、必要になったらメモリ上に呼び戻さなければならない。プログラムからの要求を受けてストレージ上の内容をメモリに書き戻す動作
65
ページングとは?
仮想記憶(仮想メモリ)の方式の一つで、メモリ領域をページと呼ばれる一定の大きさの領域に分割し、物理的なアドレス(番地)とは別に仮想的なアドレスを割り当てて管理する方式。
66
ページアウトとは?
メモリスワップではストレージ上に一定の領域を予約しておき、メモリ容量が逼迫してきたら直近に使われていないメモリ領域の内容をストレージに退避させ、物理メモリ側に空き領域を作り出す。退避した内容が必要になったら物理メモリに書き戻してアクセスする。 物理メモリ上に空き領域を作り出すために、あるメモリ領域の記憶内容をストレージ上のスワップ領域に書き出して抹消する操作をスワップアウトあるいはページアウトという。
67
ページインとは?
ストレージ上に退避した内容へのアクセス要求があり、物理メモリ上の領域に書き戻してアクセス可能にする操作のこと
68
NUMAとは?
複数のマイクロプロセッサ(MPU/CPU)を搭載した対称型マルチプロセッサ(SMP)構成のコンピュータで、全体で共有されているメモリへのアクセス速度がCPUとメモリ領域の組み合わせ次第で均等にならないもの。 NUMA型のシステムでは、一つまたは数基のプロセッサが「ノード」(node)と呼ばれる機能単位を形成し、メインメモリ(RAM)はノード単位で配置される。ノード内のメモリはプロセッサ群と高速な伝送路で接続される。 共有メモリ型なのでこれらのメモリはすべて統一された物理アドレス空間で管理され、どのプロセッサからどのノードにある領域へのアクセスも可能だが、同じノードにあるローカルメモリには高速にアクセスできる一方、別のノードにあるリモートメモリへアクセスするには時間がかかる。
69
ページキャッシュとは?
ページというのは Linux の仮想メモリの最小単位。 ページキャッシュは、ディスク上のデータをページ単位で一時的に 保存するために使用されるメモリでファイルの読み書きの高速化に 使用される
70
カーネルパニックとは?
オペレーティングシステム(OS)のカーネル部分において、何らかの理由で致命的なエラーが発生し、安全に復旧することができなくなった状態のことである。 カーネルパニックが発生すると、OSは完全に停止してしまい、強制終了を行って再起動する以外に対応方法がなくなる。
71
フラグメンテーションとは?
ハードディスクなどのストレージ(外部記憶装置)にファイルの書き込み・消去を繰り返していくと、連続した大きな空き領域が次第に少なくなり、新たに記録するファイルが小さな断片に分割されて記録されるようになってしまう。
72
バッファキャッシュとは?
1つのデータがアクセスされたとき、そのデータは近い将来再びアクセスされる可能性が高いことを利用し、ディスクへの入出力を高速に行うための仕組み
73
ddコマンドとは?
ファイルをブロック単位で読み出し、指定通り変換して出力します ※1。入力と出力にデバイスを指定できるため、HDDのパーティションをコピーする、USBメモリやCD-ROMのバックアップを取る、といった使い方が可能です。 処理するブロック数を指定でき、任意のサイズのファイルを作成するといった用途にも役立ちます。
74
メタデータとは?
あるデータを説明するための「データについてのデータ」と定義できます。 たとえば、Wordのドキュメントなどは作成者や最終更新日などの情報が内部的に記録されており、必要に応じて「いつ」「だれが」「何を」更新したのか確認することができます。 このとき作成者や最終更新日などのデータが元のドキュメントに対するメタデータになります。
75
inodeとは?
LinuxなどUNIX系OSの一部のファイルシステムで用いられる、ファイルやディレクトリについての情報を記録した管理データのこと。
76
ディレクトリエントリとは?
HDDに書き込まれた情報に対してiノードとよばれる固有番号とファイル名が結びつけられて記載されている
77
パーティションとは?
ハードディスクやSSDなどの記憶装置は、利用開始時に内部を複数のパーティションに分割し、それぞれをあたかも一台の独立したストレージのように取り扱うことができる。区画に分割する操作や処理のことを「パーティショニング」(partitioning)という。 一台の装置を二つに分けてシステム用とデータ保存用に分けておけば、オペレーティングシステム(OS)の入れ替えや入れ直しの際にデータが影響を受けないようにすることができる。また、それぞれに異なるオペレーティングシステム(OS)を導入し、起動時に選択することもできる。
78
パーミッションとは?
ファイル/ディレクトリの所有者である「Owner」、所有者と同じグループに属するすべてのユーザー「Group」、その他すべてのユーザー「Other」に対して、それぞれ「読み込み」「書き込み」「実行」の権限を与えるかどうかを設定できる。 設定する際は主に「755」などの数字が用いられ、左の数字がOwner権限、中央の数字がGroup権限、右の数字がOther権限を意味し、それぞれの桁について、4:読み込み許可、2:書き込み許可、1:実行・ディレクトリ一覧許可、という数字を足し合わせた値で具体的な権限の内容を指定する。「7」は 4+2+1 ですべての権限を許可された状態、「0」は何の権限もない状態を表す。
79
ファイルシステムとは
記憶装置に保存されたデータを管理し、操作するために必要な機能です。OSが提供する機能の一つで、ほとんどのOSはファイルシステムでファイルを管理しています。 ファイルとは、記憶装置に保存された情報のことです。ソフトウェアやユーザーが作成したデータ、HDDレコーダーに録画したテレビ番組や、DVDに焼かれた映画などもファイルに含まれます。普段、HDDレコーダーにテレビ番組を録画したり、再生したりするとき、気付かないうちにファイルシステムを使っているということです。 ファイルシステムは、ファイルを操作するためのインターフェイスも提供しています。ファイルを階層構造に格納してラベルをつけ、必要なときにファイルを使えるようにします。ファイルシステムがないと、データを正しく保存できなかったり、保存した位置がわからなくなったりしてしまいます。 OSごとに使用しているファイルシステムは異なりますが、特定の用途向けのOSを除き、ほとんどのOSにはファイルシステムが存在します。
80
フォーマット(初期化)とは?
使用しているOSのファイルシステムに合わせて記憶領域を区切り、番号を設定することであり、データを消すことではありません。フォーマットすることでその記憶装置が認識され、使用できるようになります。
81
XFSとは?
UNIX系OSで用いられるファイルシステムの一つで、大容量のストレージを取り扱うことができ、管理領域の一貫性を維持するジャーナリング機能を持ったもの。 ファイルの管理情報(メタデータ)を書き換える際、一旦ジャーナル(journal)と呼ばれる領域に時系列で変更内容を保存してから書き換えを行う。これにより、不意の電源断などで中途半端な状態で処理が中断されても、ジャーナルの内容を参照することで即座に復旧(更新の破棄あるいは確定)することができる。 64ビットのアドレス空間を持ち、仕様上は最高で8EiB(エクスビバイト)までの単一の領域を管理することができる(実装上はシステムごとにもっと低い制限がある)。ファイルは「エクステント」(extent)と呼ばれる可変長の連続したブロックをまとめた単位で記録され、短い管理情報で高速にファイルを探索することができる。 ファイルシステム内を複数の「アロケーショングループ」(allocation group)と呼ばれる独立した管理情報を持つ単位に分割することができ、それぞれのグループに並列にアクセスすることができる。
82
NTFSとは?
Windows標準のファイルシステムの一つ。ストレージ(外部記憶装置)内部を管理し、ファイルやディレクトリ(フォルダ)を格納する。 ストレージ上に作成されたボリュームをクラスタと呼ばれる単位で区画分けし、制御情報を記録する領域を設けてファイルやディレクトリを作成できるようにする。クラスタサイズ(アロケーションユニットサイズ)は512バイトから64kB(KiB)まで選択することができる。 クラスタが小さいほど細かいファイルを格納した際の無駄を減らすことができ、大きいほど大容量の装置を扱うことができる。管理できる最大のボリュームサイズはクラスタサイズ次第で、512バイトの場合で16TiBまで、64KiBの場合で256TiBまでとなる。最大ファイルサイズはボリュームサイズと同じである。 ファイルやディレクトリについての情報(メタデータ)を保存するための「フォーク」あるいは「代替データストリーム」と呼ばれる仕組みに対応しており、ファイルのデータ本体と結びつけて、ファイルについての属性情報やアクセス権、サムネイル画像などの情報を格納できる。
83
ext4とは?
ext3と高い互換性を持ち、ext3パーティションをext4としてマウントしたり、逆に、一定の制約のもと、ext4パーティションをext3としてマウントすることが可能となっている。 急激に進むストレージ装置の記憶容量の拡大に合わせて管理容量の上限が大きく緩和され、最大ファイルサイスは16TB(テラバイト)、最大ボリュームサイズは1EB(エクサバイト)となっている。サブディレクトリの数も制限がなくなった(ext3では32000個まで)。
84
ISO9660とは?
CD-ROMにファイルやディレクトリを記録するファイルシステムの標準規格の一つ。 CDにコンピュータのデータを記録する方式の標準として広く普及しており、ISO 9660で記録されたファイルは機種やオペレーティングシステム(OS)を問わず同じように読み出すことができる。企業などが独自に拡張した派生規格もいくつかある。 初期の仕様では、ファイル名・ディレクトリ名として使用できる文字は数字(10種)と英大文字(26種)、「_」(アンダースコア)の37種で、長さは31文字以内となっている。「.」で前半部と後半部に分けることができ、後半部に拡張子などを記述する。 また、末尾に「;」(セミコロン)に続けてバージョン番号(1から32767までの整数)を追加することができ、同じファイルの複数バージョンを記録して区別することができるが、実用上はほとんど使われていない。階層型ディレクトリを使用でき、8段階まで入れ子状にすることができる。 2013年の改訂によって、名前の長さは207文字まで、「.」による前後の区分やバージョン番号は無くてもよい、ディレクトリ階層は8段階を超えて無制限に作成可能、といった変更が行われた。
85
UDFとは?
CDやDVDなど光学ディスク記憶媒体向けのファイルシステムの一つ。光学ディスク上にハードディスクなどに似た階層型ファイルシステムを設け、データをファイル単位で記録したり、ディレクトリ(フォルダ)にファイルを分類・格納することができる。 特定の機種やOSの仕様に依存せず独立した形式となっており、様々な機器や機種、オペレーティングシステム(OS)で同じように読み書きできる。現在では主要なOSのほとんどがUDF形式の読み込みや書き込みに標準で対応しており、ISO 9660系のファイルシステムに代わり広く普及している。 かつてはCD-RやCD-RWへの書き込み時に利用されたほか、DVD-ROMやDVD-R、DVD-RAMなどDVD諸規格では標準的なファイルシステムとしてよく用いられる。BD-ROMやBD-R、BE-REなどBlu-ray Disc規格でも標準仕様として使われている。
86
NFSとは?
ネットワークを介して別のコンピュータの外部記憶装置(ストレージ)上のファイルシステムをマウントすることができ、そこに保存されているディレクトリやファイルをあたかも手元にあるかのように扱うことができる。 ストレージを他のコンピュータに提供するコンピュータを「NFSサーバ」、サーバの持つストレージにアクセスして利用するコンピュータを「NFSクライアント」という。サーバもクライアントも様々なオペレーティングシステム(OS)向けの実装が提供されており、システムの種類を超えて利用できる。