独学でLPIC受験してみた

勉強したことをアウトプットする備忘録的ブログです

ディレクトリについて

こんにちは。今日はディレクトリについて解説します。

前回、コマンドラインシェルの使い方について解説をすると書きましたが、ディレクトリという考え方を知らないと理解が難しい部分があるので、先にこちらを説明します。

ディレクトリとは

まずは辞書的な意味を確認しましょう。

ディレクトリ(英:Directory)は、コンピュータのファイルシステムにおいて、ファイルをグループ化するための特殊なファイルで、整理・管理などの目的で活用される。ディレクトリの中にも、通常のファイルだけでなく入れ子的にディレクトリを作って、任意の階層を持たせて管理できることがほとんどである。

ファイルの入れ物(容器)などとも表現され、GUIでは文具のフォルダーのようなメタファーで表現されることが多い。ただし、物理的な容器であるのはHDDなどのメディアそのものであるので、ディレクトリは「ファイルへの見出しの入れ物」と表現する方が正確である。

ディレクトリ - Wikipedia

ディレクトリは、英和辞典では「電話帳」などの意味を持つ英単語ですが、コンピュータ用語では意味が異なってきます。

上記のとおりディレクトリは、ファイルをグループ化するための特殊なファイルで、整理・管理などの目的で活用されるものです。

皆さんが使用しているパソコンの中には様々なデータが入っています。仮に宿題のプリントが引き出しの中に沢山ある状態やカバンの中に仕事の参考資料が粗雑に入れ込まれている状態を想像してみてください。これではどこに何があるか分かりませんし、欲しい情報を探し出すのに時間がかかってしまいます。

ディレクトリは、このような雑多な状態ではなく、ファイルを整理して整頓することができるのです。

ディレクトリとフォルダとの違い

ファイルを分類したり、整理したりするという内容でフォルダと何が違うのかと思いませんでしたか。それもそのはず、ディレクトリとフォルダはファイルを整理するという点において大きく違わないからです。

では、ディレクトリとフォルダは何が違うのでしょうか。その違いとして、CUIGUIで呼び方が違います。正確には、もっと細かな部分で違いはあるのですが、ここでは呼び方が違う程度で覚えておきましょう。

CUILinuxなど):ディレクト

GUIWindowsなど):フォルダ

ディレクトリの整理の形

ディレクトリを活用して整理を行った場合、いくつも枝分かれした木のような形となっていることが特徴です。

このような形のことをディレクトリの階層構造と呼びます。

ディレクトリの呼称

ディレクトリは上記の階層構造のどこにあるのかやその特徴によって呼称が違います。それぞれの違いを確認しましょう。

◇ルートディレクトリ(root directory)

ルートディレクトリは、階層構造の最上位にあるディレクトリの呼称です。上の図の中で「root」と書かれたディレクトリがルートディレクトリに該当します。分かりやすくいうと「ディレクトリの大元」です。

このルートディレクトリを始まりとして、分岐した先(下位)に様々なディレクトリが存在しています。このディレクトリの上にディレクトリは存在しません。

◇カレントディレクトリ(current directory)

カレントディレクトリは、自分が今どこのディレクトリで作業をしているのかを示す呼称です。分かりやすくいうと「現在地」です。

例えば、「home」ディレクトリから「user1」へ移動した場合、自分がいる場所は「user1」です。この場合の「user1」がカレントディレクトリ(現在地)となります。(上の図を参照)

◇ホームディレクトリ(home directory)

ホームディレクトリは、自分がログインした時の起点となる場所のことです。分かりやすくいうと「自分のためのディレクトリ」です。ログインをしたら必ずこのディレクトリから動き出すことになります。

基本的には、自分のデータをここに置いて、ほかの人のデータを置くことはありません。ただし、管理者などの例外があるため、あくまで基本的にはという内容です。

◇サブディレクトリ(subdirectory)

サブディレクトリは、ディレクトリの中にある別のディレクトリのことです。

例えば、「user1」は「home」のサブディレクトリです。このようにディレクトリの中にあるディレクトリのことをサブディレクトリと呼びます。子ディレクトリと呼ばれることもあります。

 

それでは今日はこの辺で。

シェルについて

こんにちは。今日はシェルについて解説をしていきます。

シェルとは、前回の解説にて人の言葉を解釈してカーネルに伝えて実行するものであると説明しました。今日はそんなシェルをもう少しだけ掘り下げて解説します。

シェルの種類

パソコンのOSにWindowsMacOSなど種類があるように、シェルにも種類があります。その種類は大きく2つに分けられます。

・B系シェル

・C系シェル

それぞれ内容を確認していきましょう。

B系シェル:sh・bashksh

◇sh

sh(Bourne Shell)は、UNIXにおいて標準的なシェルです。名称は、開発をしたSteven Bourneの名前から名付けられています。shはシェルの基本的な機能のみを有しているとてもシンプルなシェルです。

bash

bash(Born again shell)は、shをもとに改良された派生シェルの1つです。shと互換性を持っていて、多くのLinuxディストリビューションで標準シェルとして組み込まれています。

ksh

ksh(Korn Shell)は、basuと同じくshを改良した派生シェルの1つです。開発元は同じなのですが、開発をした人が異なります。kshは開発をしたDavid Kornから名前をとって名付けられました。

◇まとめ

これらshを元とするシェルをshの名前であるBorne Shellの頭文字をとってB系シェルと呼ばれています。

C系シェル:cshtcsh

csh

csh(C Shell)は、C言語に似たスクリプトを利用できるシェルです。shにはない配列を使用可能にしているところが最大の特徴といえます。

tcsh

tcsh(Text C Shell)は、cshを拡張したシェルです。cshにはなかったヒストリ編集機能やライン編集などの機能が追加されていることが特徴といえます。

◇まとめ

cshtcshは、shを元にしていますがスクリプトの構文がC言語のプログラミング仕様となっています。その特徴からC系シェルと呼ばれています。

 

シェルの使い方

シェルを使うためには大きく2つのやり方があります。

コマンドラインシェル

シェルスクリプト

コマンドラインシェル

コマンドラインシェルは、コマンドを入力して単純な指示を実行する方法です。誰かに今の時間を聞いたりする要領で、単純な指示を出すという内容になります。

この方法がコマンドを入力して実行することからコマンドラインシェルと呼ばれています。これはシェルの中で最も単純な使い方です。そのため、単にシェルと呼んでコマンドラインシェルを指している場合もあります。

シェルスクリプト

シェルスクリプトは、複雑な指示を1つにまとめて実行する方法です。例えば、日時や週次でルーチンを組んで対応する内容を、都度コマンドを打ち込んで行うのではなくて、自動的に実行してその結果を表示させたりできるようにするやり方になります。

この方法は簡易的なプログラムを構成して実行させることからシェルスクリプトと呼ばれています。

 

ちなみにLPICの試験範囲から考えるとコマンドラインシェルは101試験の範囲、シェルスクリプトは102試験の範囲になっています。

 

次回はコマンドラインシェルのやり方について解説を行います。

それでは今日はこの辺で。

カーネルとシェルについて

こんにちは。今日はカーネルとシェルについて解説します。

カーネルとは

カーネルとはどういうものでしょうか。まずは辞書的な意味を確認しましょう。

カーネル(英:kernel)は、階層型に設計されたオペレーティングシステム(OS)の中核となる部分で、アプリケーションとハードウェアの架け橋である。具体的には、システムのリソースや、ハードウェアとソフトウェアの連携を管理する。

カーネル - Wikipedia

ちょっと難しいですね。私も学び始めの時にこの文章を読んで頭の上に「?」がいくつも浮かびました。一つずつ紐解いていきましょう。

OS

まずはOSについて。オペレーティングシステム(OperationSystem:略称OS)は普段私たちがパソコンを使ううえで当たり前だと思っている機能を提供してくれるものです。

例えば、パソコンでYoutubeの動画を見たいと思った時の行動を思い出してみてください。パソコンでブラウザのアプリをマウスでクリックして、選択と起動ができます。ブラウザが立ち上がり、「Youtube」という文字をキーボードで打ち込みます。開いたYoutubeのページで気になる動画を選択して再生すると、映像がモニターに表示されて、スピーカーから音が流れてきます。

これらすべての機能をOSが提供してくれています。

もう少し詳しく説明すると、パソコン(周辺機器を含む)の全てをOSが管理しいて、それらに対して指示を出し制御をしているからできているということです。

このようなOSは以下のような内容で構成されています。


カーネル

それでは改めて、カーネルとはどのようなものなのでしょうか。

カーネルはソフトウェアであり、OSの中核に存在しているものです。(上図参照)

先の説明のとおり、カーネルはソフトウェアとハードウェアの連携を管理しています。ハードウェアにはCPUやメモリ、記憶容量であるハードディスクなどが該当します。

ではなぜ、カーネルがソフトウェアとハードウェアの連携を管理する必要があるのでしょうか。それは、ソフトウェアが好きなだけ指示を出してしまうとハードウェアがパンクしてしまうからです。

そこで、カーネルは様々な観点からソフトウェアの要求を管理しているのです。主なカーネルの役割には以下のようなものがあります。

・プログラムのプロセス管理

ファイルシステム管理

・ネットワーク管理

・デバイス管理

・時間の管理

・メモリ管理

シェルとは

OSの中にはカーネルともう一つ大切なシステムがあります。それが「シェル」です。

シェル(英語:shell)はオペレーティングシステム(OS)があるような高機能なコンピュータにおいて、ユーザーのためにインタフェースを提供するコンピュータプログラムであり、オペレーティングシステムが提供する機能へのアクセスを提供する

コンピュータシステムとユーザの間にある「殻」であることから、このように呼ばれる。

シェル - Wikipedia

以前に、GUIについてコンピュータが伝えたいことをユーザに分かる形で表現するインタフェースであると説明しました。シェルはこの逆にあたるインタフェースであるといえます。

つまり、人が人の言葉でコンピュータへコミュニケーションを図れないということについて、人の依頼を機械の言語に変換をして伝えてくれるという役割をするということになります。この通訳をするような役割からインタープリターであるとも言われています。

 

さて、いかがだったでしょうか。次回はシェルについてもう少し掘り下げてみたいと思います。

それでは今日はこの辺で。

initとsystemdについて

こんにちは。今日は先日解説した起動の続きです。

initとsystemdについて学んでいきましょう。

はじめに

まずは今日解説をするinit/systemdが起動の流れの中でどの部分にあたるかを確認しましょう。

  1. システムの電源を入れる
  2. BIOS/UEFIが起動
  3. BIOS/UEFIがハードウェアのチェックや初期化を行う
  4. 起動デバイスに書き込まれたブートローダを読み込み
  5. ブートローダが起動
  6. ブートローダカーネルをメモリ上へ読み込み
  7. カーネルが起動
  8. カーネルがメモリの初期化やシステムクロックの設定などを実施
  9. カーネルが初期RAMディスクをマウント
  10. カーネルがinit/systemdプロセスを実行 ⇐今回はこの部分
  11. init/systemdが必要なサービスを起動した後にログインプロンプトを表示
  12. 起動処理の完了

init/systemdとは

「init」と「systemd」はどちらもプロセスの名前です。

どちらも一番初めに起動して、その他のプロセスを起動するという動きをします。

プロセスとは

プロセスというのはコンピュータがプログラムを動かす上で割り振っている仕事だと思っていただければと思います。

一般的な会社での仕事のやり方を想像してみてください。例えば社長が行いたい事業が関連する業務ごとに分別されて各部署に割り振られます。その割り振られた仕事がさらに細分化されて部署内で部員に割り振られることになります。こうして末端の仕事が行われると上位の業務が回り、結果として事業が成立します。

コンピュータのプロセスも同じように、その過程でプロセスが増えていきます。この場合の元となるプロセスを「親プロセス」、派生したプロセスを「子プロセス」「孫プロセス」などと呼んでいます。

起動の仕組み

initはsysVinitという起動の仕組みの中で、systemdはsystemdという起動の仕組みの中でプロセスとしての役割を果たします。

sysVinitはこれまで長い間、Unix系OSで広く使われてきました。時代の流れの中で昨日の仕組みが改良され、最近ではsystemdという起動の仕組みが主流になってきます。

SysVinit

SysVinitでは、はじめにinitプロセスを起動します

initプロセスは/etc/inittabファイルの設定に従って必要なプロセスを順に起動します

起動の流れ

①initが/etc/inittabファイルを読み込む

②initが/etc/rc.sysinitスクリプトを読み込む

③initが/etc/rcスクリプトを実行する

/etc/rcスクリプトが特定のランレベルに応じた処理を実行する

SysVinitでは、決められて順番でプロセスが起動することから、あるプロセスの起動に手間取ってしまうと、後続のプロセスが全て遅れることになってしまい、最終的な起動完了までに時間がかかっていました。

そのため現在ではこの問題を改善したsystemdが採用されることが多くなっています。

ランレベル

ランレベルは、動作モードをレベルで表したものです。

それぞれのレベルで起動されるプログラムが異なります。

ランレベル 説明
0 停止
1 シングルユーザモード
2 マルチユーザモード(ネット接続なし)
3 マルチユーザモード(ネット接続あり)
4 未使用
5 マルチユーザモード(グラフィカルログイン)
6 再起動
S or s シングルユーザモード

シングルユーザモードは、管理者のみ使用出来るモードです。主にメンテナンスなどの際に使用されます。

systemd

systemdでは、initプロセスの代わりにsystemdプロセスが起動して、各種プロセスを管理します。systemdでは、システムの起動処理はUnitとよばれる単位に分かれています。まずは主なユニットを確認しましょう。

ユニット名 説明
service 各種プロセスを起動を管理
device systemdで管理するデバイスの定義を実施
mount ファイルシステムのマウント実施
swap スワップ領域を有効化
target 複数のユニットをグループ化実施
timer 対応するserviceユニットの実行を管理

主な動作

systemdプロセスが起動すると、はじめにdefault.targetというUnitが起動されます。このファイルは/etc/systemd/system以下にあります。ここに置かれたファイルはgraphical.targetのシンボリックリンクとなっています。

このgraphical.targetは従来のランレベル5であるグラフィカルログインで起動するサービスをまとめたUnitです。つまり、このようなtargetが従来のランレベルに相当しています。ランレベルとtargetの対応は以下のようになっています。

ランレベル ターゲット
0 poweroff.target
1 rescue.target
2,3,4 multi-user.target
5 graphical.target
6 reboot.target

systemdでは、systemctlコマンドを使ってサービスを管理します。詳しくは後日解説します。

 

それでは今日はこの辺で。

Linuxの起動の流れについて

こんにちは。今日はLinuxの起動について解説します。

起動の流れ

Linuxはどのような流れで起動するのでしょうか。基本的な流れは以下のようになっています。

  1. システムの電源を入れる
  2. BIOS/UEFIが起動
  3. BIOS/UEFIがハードウェアのチェックや初期化を行う
  4. 起動デバイスに書き込まれたブートローダを読み込み
  5. ブートローダが起動
  6. ブートローダカーネルをメモリ上へ読み込み
  7. カーネルが起動
  8. カーネルがメモリの初期化やシステムクロックの設定などを実施
  9. カーネルが初期RAMディスクをマウント
  10. カーネルがinit/systemdプロセスを実行
  11. init/systemdが必要なサービスを起動した後にログインプロンプトを表示
  12. 起動処理の完了

皆さんも自宅にあるPCの電源を入れた時に、PC自体がブーンという音を立てて、カリカリと何かを読み込むような音を聞いたことがあるかと思います。実はいろいろなプログラムが動いていたことが分かりますね。

内容を読んでみると専門的な言葉が多く登場しています。これらはプログラムでそれぞれが役割を持って決まった順番で動いています。

起動時の主要なプログラムの流れ
BIOS/UEFIブートローダ ⇒ カーネルinit/systemd

起動時のプログラムの順番は試験に高確率で出題されるので覚えましょう。

各プログラムについて

先に挙げたプログラムはどんな内容で何をしているのか確認していきましょう。

BIOS/UEFI

BIOS-Basic Input / Output System

BIOSはコンピュータに搭載されたプログラムの中で最も基本的な制御を行うプログラムです。

制御というと何かの動きを制限するように聞こえるかもしれませんが、制御とは目的どおりの動きをするように調整することという意味です。

このBIOSマザーボードに搭載されたフラッシュROMに書き込まれています。

UEFI-Unified Extensible Firmware Interface

UEFIは、基本的な機能はBIOSと同じですが、拡張機能を持つプログラムです。

具体的な動き

BIOS/UEFIは具体的には以下の3つの働きをします。

  1. バイスを認識して起動デバイスの順位を決める
  2. キーボードやハードディスクなどのハードウェアレベルでの制御を行う
  3. ブートローダを読み込み、制御をブートローダに渡す

ブートローダ

ブートローダ-Boot Loader

ブートローダは、カーネルを読み込む(ロードする)ためのプログラムです。主な役割としては、起動デバイスからカーネルを読み込むことです。

具体的な動き

ブートローダの具体的な動きは以下の内容です。

  1. カーネルと初期RAMディスクイメージをメモリにロード
  2. カーネルに制御を渡す

カーネル

カーネル-Kernel

カーネルは、オペレーティングシステム(OS)の基本機能の役割を担うソフトウェアです。OSの中でも特に核となるプログラムで、ハードディスクやメモリなどの制御を行います。

起動時の具体的な動き

カーネルの具体的な動きは以下の4つです。

  1. メモリの初期化やシステムクロックの設定を行う
  2. 初期RAMディスクをマウントする
  3. マウントの結果、システムの起動に必要なデバイスへアクセス可能となる
  4. init/systemdを実行する

ここで登場する初期RAMディスクとは、仮のルートファイルシステムと呼ばれています。このディスクには、正規のルートファイルシステムが存在するディスクをマウントするためのドライバなどが含まれています。

ルートファイルシステムとは、システム起動時にマウントされる全てのファイルシステムの頂点に存在しているファイルシステムのことです。このファイルにアクセスできるようになることで、その他のファイルへアクセスできるようになり、カーネルが実行するinit/systemdが順番に必要なサービスを起動することができるようになります。

init/systemd

イニット/システムディー-init/systemd

この2つのプログラムについては別途詳しく解説します。今回は起動時の働きを確認しておきましょう。

具体的な働き
  1. 必要なサービスなどを順次起動
  2. 最後にログインプロンプトを表示して起動処理完了

ここで登場するログインプロンプトとは、コンピュータへログインする際に、ユーザ名・パスワード入力を促す指示のことです。一般的にはその画面のことをログインプロンプトと呼ぶ場合もあります。

 

 

いかがだったでしょうか。徐々に専門的な言葉が増えてきましたね。

それでは今日はこの辺で

GUIとCUIについて

こんにちは。今日はGUICUIについて解説をします。

GUICUIについて

今日学ぶ範囲は、コンピュータがどのようにしてコンピュータの言葉を人間にもわかる言葉に変換しているのかという内容です。このように書くとちょっと近未来のように感じるかもしれませんが、映画の中に出てくる壮大な機械戦争のそれとは異なりますので期待外れでしたらすみません。

ユーザーインターフェース

以前にも解説した通り、コンピュータは「ON」と「OFF」を表す「1」と「0」の2つの信号を使って動作したり、伝達をしています。

逆に我々人間はコンピュータの信号とは異なる「言語」を使ってコミュニケーションを図っています。つまり、人間とコンピュータはそのままでは意思の疎通を図ることが難しい状態にあります。このままではコンピュータに何かを指示することが難しいということですね。

そこで互いの接点(Interface)となる入出力部分を設けています。これをコンピュータとそれを扱う人の接点という意味でユーザーインターフェースUser Interface)と呼びます。

ちなみにこのユーザーインターフェースによって、より効率的で満足度が高いことをユーザビリティが高いなどということがあります。

さて、次に主なユーザーインターフェースである「GUI」と「CUI」について解説します。

GUIとは

f:id:lpi_memoir:20220410154044p:plain

GUI:Graphical User Interface

ジーユーアイ:グラフィカルユーザーインターフェース

GUIとは、画像やアイコンなどで表現されています。WindowsMacOSを想像すると分かりやすいですね。画面に表示されるカーソルをマウスで操作してアプリケーションの立ち上げを行い、キーボードで任意の文字を打ち込むことが可能です。このように視覚的に分かりやすい表現が行われるものをGUIと呼びます。ちなみにスマートフォンタブレットGUIですね。

CUIとは

f:id:lpi_memoir:20220410155646p:plain

CUI:Character User Interface

(シーユーアイ:キャラクターユーザーインターフェース

CUIは、画面に表示されるのは文字だけです。Windowsなどの場合には上記の画像のようにコマンドプロンプトを立ち上げるとCUIを見ることができます。CUIGUIとは違い、マウスなどでのドラッグ操作などはできません。GUIにてマウスでクリックをすることでできていた操作を、CUIでは「コマンド」と呼ばれる文字入力で動作を制御します。

LinuxでもGUIを備えているコンピュータもありますが、ほとんどがCUIでの操作となります。

まとめ

最後にGUICUIの違いについてまとめます。

GUI CUI
マウスやキーボードで操作 キーボードでコマンドを打って操作
覚えるのが簡単で操作も比較的分かりやすい 慣れれば複雑な作業も迅速に対応できる
何を操作したかを記録することができない 何を操作したかを記録することができる

私は、この部分を勉強したときに、なぜ操作が簡単なGUILinuxを操作しないのかと思いました。学習を進める中で分かったことがあります。

それは、エンジニアなどコンピュータを専門で扱う人たちにとってCUIの方が理に適っているからということです。

例えば、何かの設定を行うとき、その設定内容を記録しておく必要がありますが、GUIでは難しい場合が多いです。また、何かのソフトを作成した時に正常に動作するかテストをしますが、これもCUIであれば気になる特定の一部だけをテストして修正したりすることができます。

Web上の開発やサーバ管理においてはむしろCUI操作がほとんどとなっています。

 

 

それでは今日はこの辺で。

コンピュータについて

 

こんにちは。今日はコンピュータの内容についてまとめます。

コンピュータとは

私たちの生活は様々なコンピュータに囲まれています。

スマホやパソコンはもちろん、最近では冷蔵庫や洗濯機にも搭載されています。しかし、コンピュータは家の中よりもむしろ家の外に多く存在しています。街中にある電光掲示板やショッピング施設のフロアマップ、レストランの電子メニューやコンビニのセルフレジ。ありとあらゆるものがコンピュータによって動いています。

さて、それではコンピュータとは一体どういうものなのでしょうか。まずは国語的な意味を確認してみましょう。

コンピュータ[名](英 computer)計算機。特に電子回路を利用して、演算やデータの蓄積・検索・加工などを高速度で行う電子計算機をいう。

でんし-けいさんき【電子計算機】[名]電子回路を利用して、計算を自動的に行う装置の総称。数値計算のほか自動制御やデータ処理、事務管理などにも利用される。電算機。コンピュータ。

コンピュータとは何? Weblio辞書

電子計算を行うとは

コンピュータはオンとオフの電気信号によって計算を行っています。このオンとオフは「0」と「1」の2つの数字で表されています。

私たちが日常的に見たり聞いたりしている音声や画像(アナログデータ)はそのままではコンピュータで処理することができません。コンピュータが分かるデータに書き換える必要があります。そのため「0」と「1」で構成される情報(デジタルデータ)に変換されるのです。

このようにアナログをデジタルに、またデジタルをアナログに変換する処理を電子計算といいます。そのため、コンピュータはこの処理を行う機械、つまり電子計算機と呼ばれるのです。

情報の単位

コンピュータが扱う情報の最小単位をbit(ビット)といいます。1bitは0か1のどちらかを表します。つまり1bitで0と1の異なる情報を表すことができます。1bitは2通りの情報を持つことになります。

情報量が増え8bitとなったとき、その情報は2通りの8乗となり256通りの情報を表すことができることを意味します。この時の単位を1byte(バイト)といいます。

情報量が増えることで私たち人間にとっての見え方がどのように変わるかというと、例えば、ファミコン時代のドット絵スーパーマリオを想像していただいて、bit数が増えると角が減っていき、滑らかな曲線を表現できるようになります。

情報の単位は、情報量が増えるにしたがって表現が変わります。これらの単位はハードディスクやメモリなどの容量を表現する際にも使用されます。

単位 bit容量
1byte 8bit
1KB(キロバイト) 1024byte
1MB(メガバイト) 1024KB
1GB(ギガバイト) 1024MB

1byteが256通りの情報を表すことを考えると、1GBの情報となると途方もない量の情報を処理していることが分かります。

コンピュータの構成

様々な処理を行うコンピュータはどのような構成となっているのでしょうか。

コンピュータは5つの装置から構成されています。これらはコンピュータにとってなくてはならないものであり、どんなに大きなスーパーコンピュータでも家庭用のパソコンでも必ず同じ構成となっています。

5つの装置
入力装置・制御装置・演算装置・記憶装置・出力装置

入力装置

入力装置は、コンピュータが情報を受け付けるものです。人間でいう目や耳にあたります。

人が行いたいことをコンピュータへ伝える手段となります。この装置があることでコンピュータを操作することができます。

具体的な入力装置としては、マウスやキーボードが該当します。

制御装置

制御装置は、各装置に実行の指示を出す装置です。人間では神経に例えられます。

この装置があることで、プリンターでの印刷やモニターへ映像を映し出すことが可能となります。

具体的な装置としては、演算装置とともにCPUにまとめられています。

演算装置

演算装置は、処理や計算を行う装置です。人間では脳の考える部分に該当します。

人が年齢ごとに学習処理速度や計算が早くなるのと同じように、性能が上がるほど、より複雑な処理を効率良く行うことができるようになります。

この演算装置は制御装置とともにCPUにまとめられています。

記憶装置

記憶装置は、処理したデータを保存する装置です。人間では脳の記憶部分に相当します。

記憶装置は、メモリとストレージの2種類が存在します。

メモリ

メモリは、一時的にデータを保存する装置です。この装置は主記憶装置とも呼ばれ、電気的に情報記憶しています。そのため、メモリの保存データは電源を切ると消えてしまいます。

身近なものでは、よく作業スペースに例えられます。

机の上にメモやノートが広がっている状態です。そのため、すぐに内容を見ることができます。それでもあまりに量が多いと探すことに時間がかかってしまいます。そういう時にはもっと大きなスペースを用意すると思います。メモリも容量が大きいとそれだけ多くの情報を保存しておくことが可能となります。そうすることで、処理のスピードも上がります。

ストレージ

ストレージは、長期的にデータを保存する装置です。メモリにて保存すると消えてしまうという欠点を補うことから補助記憶装置または外部記憶装置と呼ばれています。この装置はすぐに取り出す必要のない情報を保存しておくためのものです。そのため、電源を切っても保存データが消えることはありません。

身近なものでは、よく本棚に例えあれます。

本棚が大きく広い分だけたくさんの本(データ)を整理し保存することができます。

具体的な装置としては、HDD(ハードディスク)などがあります。

出力装置

出力装置は、データの処理の結果を出す装置です。人間の口や手足にあたります。

どれだけ高性能なコンピュータでも中でどのような処理が行われたか分からなければ意味がありません。そのためモニターなどで音や色などを使って結果を表します。

具体的な装置としては、モニターやスピーカー、プリンターなどがあります。

 

まとめ

・コンピュータは電子計算を行う機械

・5つの装置から構成されている

家庭に広く普及しているパソコンは、パーソナルコンピュータと呼ばれ、個人向けのコンピュータということになります。もちろんこのパソコンにもコンピュータは含まれています。その他にもノート型のノートパソコンもありますね。

このようにパソコンにはいろいろな種類がありますが、その中でもネットワーク上で情報の処理などを行うコンピュータをサーバと呼びます。このサーバは、インターネットでのページを見たり、メールを送ったりする時に使われます。

LPICではこのようなサーバに入っているLinuxというOSに関する内容となっています。

 

次回はこのLinuxの内容に入っていきます。

それでは今日はこの辺で