コンピュータの基本的な仕組み
ITを勉強する上でコンピュータがどういった仕組みで動くのかを理解する必要があります。コンピュータは電気信号を操り様々な処理を行ったり情報を管理します。また、人間がコンピュータに処理の手順を覚えさせることで初めてコンピュータは我々が思う通りの機能を発揮します。ここでは問1~問10あたりで出題される「コンピュータの基本的な仕組み」について解説します。
情報の表現方法
コンピュータは情報を電気信号の「ON」と「OFF」の2つで制御します。なので、0と1だけで数を数える2進数がかなり重要になります。
コンピュータは2進数で情報を扱いますが、コンピュータが扱う情報の最小単位を「ビット」、ビットを8個まとめた単位を「バイト」と言います。
コンピュータの仕組みを学ぶと16進数もよく出てきます。2進数で動くコンピュータと16進数は相性が良いからです。
アルゴリズムとプログラミング
コンピュータは電気信号のONとOFFで様々な情報を処理しますが、このONとOFFをそれぞれ「1」と「0」に対応させて様々な演算を行います。これを論理演算と言います。コンピュータには論理演算を行う論理回路が沢山組み込まれています。
コンピュータではデータを保存したり使うことがあります。データの出し入れの方法には「スタック」と「キュー」があります。
コンピュータを構成するもの
コンピュータを構成する装置
コンピュータにはデータやプログラムを一時的に保存するメモリが組み込まれています。メモリにはRAMとROMがあります。
主記憶装置はCPUより処理速度が遅いため、キャッシュメモリを使ってCPUの処理効率を上げます。
コンピュータの中にあるCPUやメモリ等の様々な装置はお互いに正しく干渉し合うことであらゆる機能を発揮します。機器同士の動作のタイミングをメトロノームのように合わせるために使われるのがクロック周波数です。
システムの構成と仕組み
システムを構成するとき、障害が発生しても業務が止まらないように予備のシステムを用意します。この方法にはデュアルシステムとデュプレックスシステムがあります。
システムの信頼性を評価する方法に稼働率を算出する方法があります。
データを記録するストレージを構成するとき、アクセスの高速化や信頼性を高めるためにRAIDという技術を使います。
私たちはコンピュータを使うとき、複数のプログラムを動かすことがあります。その際、どのタスクを優先的に処理するのか管理することをタスク管理と呼びます。
色々なシステム
データベース
データを記録するとき、関係データベースと呼ばれる2次元の表がよく使われます。基本情報では関係データベースにデータを記録する際のルールや関係データベースに対して行える処理について出題されます。
データベースに対して行える処理には参照・更新・登録・削除があります。基本情報の午前試験では参照を実行する命令文に関する問題が出題されます。
データベースに対してデータの更新・登録・削除の処理を実行する際、トランザクションと呼ばれるまとまりで処理を実行します。トランザクション毎に処理を行うことでデータ同士の整合性が保たれます。また、複数のトランザクションを実行する際、お互い干渉しないように処理を進めないとデータ不整合が発生します。これを排他制御と言います。
データベースに障害が発生した時、バックアップ等からデータを復旧させる必要があります。
ネットワーク
異なるメーカーが開発したコンピュータ間で通信をするためには通信に関するルールを統一する必要があります。ネットワークに関するルールは複雑なので、認識齟齬が発生しないように分かりやすくモデル化しました。このモデルをOSI基本参照モデルと言います。
通信する時は宛先コンピュータの適切なアプリに正確にデータを送る必要があります。そこで使われるのがIPアドレスとポート番号です。
インターネットを使うとき、どこで見るかによってネットの重たさが変わるのは、普段の生活でも体感出来ることです。これは回線の通信速度や通信効率に影響されます。
インターネットを利用してサービスを提供する代表に電子メールがあります。電子メールの仕組みは基本情報でよく出題されます。
セキュリティ
相手のコンピュータと情報のやり取りをする際、悪意を持った他者から情報を盗聴されるリスクがあります。盗聴への対策として有効な手段は暗号化です。暗号化の方法には共通鍵暗号方式・公開鍵暗号方式・ディジタル署名があります。
悪意を持った他者がどのような攻撃をしてくるのか、基本情報では様々なサイバー攻撃について出題されます。
システム開発
プログラムはモジュールと呼ばれる部品が集まって機能を発揮します。例えば、電卓のプログラムは「計算をするモジュール」と「結果を表示するモジュール」で構成されています。モジュール同士はデータや処理をお互いに共有することがありますが、モジュール同士の関係性が強くなり過ぎると問題が生じることもあります。
システム開発の考え方にオブジェクト指向と呼ばれるものがあります。オブジェクト指向は開発する対象を「モノ」の組み合わせとして考える方法です。
システムを使うユーザはエンジニアの知識が無いことがほとんどです。しかし、そういったユーザにも設計内容が正しいかどうか確認してもらう必要がある場合があります。ここで使われるのがUML等の設計図です。UMLではシステムの構造等を図式化するので誰にも分かりやすい設計図になります。
システムを作成した時は、不具合が無いのか、要望通りのシステムになっているのかを確認するためにテストを実施します。