ITパスポート試験の難易度★★

ITパスポートを会社に通いながら60日でサクサク通過する「ぬるい日記」

プログラムについて(ITパスポート)

 

プログラミングとは

プログラミンはコンピュータに処理させたい内容を記述したもの。

 

ソフトウェアの元となる、記述で「プログラム言語」を使い記述します。

 

プログラム言語とは

コンピュータは以前の記事で案内した「2進数」で電圧のOFF/ONにて処理をしてゆきます。

 

これを、機械語といいます。

 

ですが、実際に2進数で記述すると書いてる人間の方が疲れてしまいますので、プログラム言語で記述して「コンパイラ」と呼ばれるソフトを使い機械語に変換します。

 

コンパイラとは翻訳するソフトと言えます、人間からしてみれば、プログラミング言語自体に翻訳が必要ですが、機会から見ても同じなのです。

 

コンパイルすることで内容を理解できます、オブジェクトファイルとして生成されます。

 

この、いくつかのオブジェクトファイルを連結する事によりコンピュータが実行可能なファイルが形成されます。

 

このプログラム言語で記述したプログラムそのものを「ソースコード」と呼びます。

 

プログラム言語の種類

 

アセンブリ(低水準言語)

マシン語(低水準言語)

BASIC(高水準)

C言語(高水準)

COBL(高水準)

 

高水準でどうゆうこと?

高水準は人間からみてわかりやすいという意味。

 

じゃ、低水準は?

機械から見てわかりやすいということ。

つまり、2進数になどに近いという事になります。

 

オブジェクトってなんじゃ?

オブジェクトとは「」の意味で部品として扱われます。

この部品をつなぎ合わせる事で1つのプログラムを可動させます、これによってプログラムの仕様が変わっても部品の組み合わせを変えるだけで完成してしまうという利点があります。

 

その他の言語

コンピュータに「処理」させるのがプログラム言語というのに対して文書を扱う言語を「マークアップ言語」といいます。

 

マークアップ言語とは

WEBページを作るのに使う言語です、ブラウザソフトで表現するために記述する言語。

 

プログラムは処理(計算や手順など)動的なもの、に対してマークアップ言語は「静的」なものと言えますが、近年ではHTML5やCSS3などでで動きのあるものが増え、いわゆる「指示」が出せるものが増加しているため、境界線は曖昧と言えますが、基本的にWEBページ用に使うのは、マークアップランゲージと考えて良いです。

 

HTMLは基本の紙に書くと考えてよい

CSSは紙に書いたものに色や区切り配置などを決めるものですが、HTML本文を触らず別の用紙に書いて変更できるので便利です。

 

これによって、ブラウザ側では構文がシンプルに見え処理が早まり結果として利便性が上がります。

 

一方、 プログラム言語としてJavaJavaScriptがあります、この二つは全く違う言語です、Javaは機械に処理の指示を出すプログラム言語です、JavaScriptはブラウザ上で動作する仕組みを作る言語です。

 

JavaScriptは近年よく使われますが、サイバー犯罪にも利用されやすい性質を持ち合わせているため、仕様にユーザーの許可が必要な場合が多くセキュリティ面での配慮が必要です。

 

JavaはPC上の処理などに主に使われ、C言語は洗濯機や冷蔵庫、クーラーなどの製品にも使われる基本的な処理が得意です。

 

この線引きは覚えておきましょう。

 

ではWEBブラウザの構成はどうなっているのか?

 

HTMLとCSSで表面を作っています。

(ブラウザ側)

JavaScriptで表面上での動きを作っています。

(ブラウザ側)

PHPPythonRubyなどでWEBサーバーとやりとりしてDB(データベース)からの情報に基づき処理を行います。

(サーバー側)

 

じゃぁ、じゃぁグーグル検索はどうなってるの?

Google検索はサーバ側にある大量のデータベースを使って検索結果を抽出しています、つまりサーバ側です。

 

検索窓に特定の文字列(JavaScript)などを打ち込むことでデータベースの内容を改変したり異常な動作を起こすクラッキング行為をクロスサイト・スクリプティングXSS)といいます。

 

また、SQL文の表示から動作確認を行い、SQLの構文を予測し、不正な指示を入力し会員全てのID/PWを盗み出すなどの行為をSQLインジェクションといいます。

ちなみに、インジェクションとは「注射」などを意味します。

 

 

 

マークアップ言語の種類

MTMLとXMLがあります、基本的にHTMLはブラウザに表示する内容を記述するのに対して、XMLはブラウザと他のアプリケーションを組み合わせる時に使われることが多い。

 

なお、両者共にSGMLというマークアップ言語から派生して出来た言語である。

 

 

次回はアルゴリズムとデータ構造についてサクッと覚えます。

システム開発(ITパスポート)

システム開発の流れ

システムの開発を始めるのにどのような順番で進めていくのか、決められた流れがあります。

 

これに準じておかないと後々問題が発生した時、責任の所在にが明らかにならないので、問題解決に時間が掛かります、更にはどこから手をつけて良いのか右往左往する羽目になります。

 

従って十分に開発プロセスを理解しておく必要があります。

 

要件定義

共同レビュー

開発者と発注する人が十分に話し合いながら「システム要件」を決めます。

 

システム要件定義

システムに必要とされる「機能」や「処理能力」を決めます。

 

 

ソフトウェア要件定義

ソフトの「インターフェース」を決めますインターフェースとはこのボタンを押すとこうゆう出力動作が行われるなどの機能。

 

機能要件定義

機能性とはユーザーの利便性を考えたボタンの設置位置や見た目、UI=ユーザ・インタフェースといいます。

 

非機能要件定義

ぱっと見、機能とは直結しない様で実はとても大事な構成要素、要件として「システムの信頼性」とか「システムの性能」などがある、例えば故障に備えて保存するデータは暗号化するとか、処理時間はどの程度のスピードかとか。

 

システム設計

上記の要件定義を基にしてシステムを設計します、外部設計と内部設計があり、外部設計はシステムの基本となる部分を設計します。内部設計はユーザから見えない部分の設計、例えばプログラム言語Python使うとか、PHPにするとか。

 

・システム方式設計・ソフトウェア方式設計・ソフトウェア詳細設計

 ユーザビリティ使いやすさ)を考えて設計する。

 

GUI(グラフィカル・ユーザ・インターフェース)

マウスカーソルやブラウザなどアイコンで示すことで、ぱっと見わかる設計をする。

 

PCは本来、CUIというコマンドプロンプトMacはターミナル)に指示を入力して動作を指示するが、それでは一般の人が使いにくいのでGUIが設計の基本となる。

 

 

プログラミング

システム設計が終わったら、プログラミングを行います、動作の流れやデータベース設計などのプログラムを作ります。

 

ちなみに、HTML,CSS,JavaScriptなどはブラウザ側で動作するのでテイストエディッタで入力するのが一般的だが、プログラミングの大半はサーバ側での動作が中心なので作業過程もコマンドプロンプトで制作することが多い。

 

テスト

作成したプログラムのテストを行います、動作確認やバグなどの修正処理。(基本的に作った人達で行う作業)

ソフトウェア受け入れ

ソフトウェアの受け入れテスト、注文した人が出来上がってきたソフトを更にテストします、このソフトを導入運用していく段階で自社のシステム構成とマッチしているか、トラブルは起こらないかをテストします。

ソフトウェア保守

最後に導入したソフトウェアに不具合が見つかった時どうするかを決めます、誰が責任者になってどの様に対応するのかを決めておきます。

 

以上の流れのでも開発順序の種類があります。

 

システム開発順序の種類

ウォーターフォールモデル

1工程ずつ完成させて順番に流れ作業。

ウォーターフォールモデル「」といいます。

上から一気に流れてゆくスピードのある開発モデルだが途中で戻れないという難点もある。

 

一つ一つの工程で責任を持ってチェックを行わないといけないのでスキルの高い監督者が必要。

 

プロトタイピングモデル

試作品(プロトタイプ)を作り実際に試しながら開発を進めてゆくタイプの開発順序、実際にユーザーと注文した人の間に立って双方の意見を聞きながら進めてゆく。

 

スピード感はないがより市場にあったシステムが作れるのと共にミスが有っても修正しながら進めるので完成時のトラブルが少ない。

 

 

スパイラルモデル

ウォーターフォールモデルとプロトタイピングモデルを組み合わせて作る方法。

 

要件定義・システム設計・プログラミング・テストとフィールドを分けて順番にまずは軽く一周する、そこで問題点やユーザの意見を吸収しながら、次の周回に入る、ユーザはある程度完成したシステムを試すのでレビューがし易い。

 

次の周回では前回の指摘や反省点を踏まえ開発を進める、これを繰り返す事によりより完成度の高いモデルを各担当の負担を軽くしながらスピーディに進めることができる。

ウォーター・フォールとプロトタイピングの両方の利点が使えるモデル。

 

 

 

次回はプログラミングについて、サクッと覚えます。

 

 

障害対策(ITパスポート)

 

システムの障害対策とは

システムが障害を起こした時に被害を最小限にとどめる対策です。

 

 

フェイルセーフ

障害発生を知らせる、エレベーターや電車を自動停止するなどのブレーキの役割。

 

災害時に自家発電によって電気の供給を絶やさないようにする、

これを、フェイルセーフと言います。

 

車の自動ブレーキやエアバックなども含まれます、故障すると赤ランプが点灯する機器はよく見かけますが電源は入ります。

 

 つまり、何かしろ連動して事故や故障に備えておくシステム。

 

フェイルとは「失敗やしくじる」を意味します。

 

フェイルソフト

フェイル・ソフトは障害が発生したとき、その機能だけを切り離して被害を最小限に抑える。

 

正常動作部分を利用して運用を続行しようとする考え方、完全に機能停止すると、他の危険性が高まる場合に動作します。

 

飛行機のエンジンの一部を停止したり燃料供給を断つなどがある、洗濯機の洗濯開始から終了までの途中で、蓋が開いていると動作が止まるが工程は覚えていて蓋を閉めると続きから動作する。

 

コンピュータのメモリではの処理に優先順位をつけて多すぎる処理が発生した場合は優先順位の高いものだけを処理する(他は停止する)。

 

ハードディスク故障などではRAIDなどがあり、電源停止にはUPSを利用してで正常に電源OFFを実行する。

 

RAID:複数のハードディスクを組み合わせ、仮想的に1つのハードディスクとして運用するもの。

UPS:停電などで、電源供給が断たれても臨時に電源供給を行う装置、これによってデバイスの正常な電源OFFが行える。

 

フールプルーフ

 実行する者が操作を誤っても故障につながるような、動作をしないようなシステムづくり。

 

形状により正しい方向に差し込む、「コネクタの向き」は大半の場合差し込み時に向きが決められている。

 

冷蔵庫は蓋を開けても可動するが、電子レンジは蓋を閉めないと加熱しない、故障や事故につながるものは設計段階で組み込むのがフールプルーフである。

 

 

フール fool とは「愚者」、プルーフ proofとは証拠という意味になりますが・・・

 

ちなみに、エイプリルフールは日本語で「四月馬鹿」と訳されます、嘘をつかれて間違った行動を起こす人を指している。

 

フォールト・アボイダンス

フォールトとは「短所や欠陥」、アボイダンスは「回避する」と言う意味です。

 

フォールト・アボイダンス(fault avoidance)は充分なシステムテストを行って、個々のバーツや全体が故障しないように対策を取っておく事を言います。

 

フェイル (失敗)

フェイル

フール  (愚か)

フォールト(欠陥)

「フ・フ・フ・フ」と覚えましょう。 

 

 

 

システムの冗長性

この冗長化や冗長性とは、IPやITでよく使われる言葉ですので覚えていきましょう、意味は(障害が発生したときに予備装置などで稼働し続ける)と言う意味。(バックアップとよく言われる)

 

例えば、自宅の電話やインターネットが使えなくなった場合、スマホで代用する、生活習慣の中で自然と行っている事です。

 

光回線を使用していても故障は起こりやすく、そんな時はアナログ回線を用意しておいて回復までの繋ぎの役割をさせる、又はLTEなどの装置をバックアップに用意しておいて通信の確保をするなど。

 

ディアルシステム

デュアルとは(二重)の意味

デュアルシステムと言うものがあります、よく聞く言葉と思いますが同じ処理を二つのシステムで行い、「お互いを参照して」処理が正しく行われる構成をディアルシステムといいます。

 

ただし、片方が壊れてもお互いに参照できなくても稼働し続けることができるのでバックアップとしても使えます。

 

バックアップとしてもう一つ挙げられるのがデュプレックスシステムです、これはデュアルとは違いもう一つの方のシステムは普段や休んでいて、故障したらバトンタッチする方法です。

 

デュプレックス(複式)の意味

二重という意味もありますがこの場合、「複式」又は「主系統」と「従系統」と考えるのが正しいと思われます、現用と待機、メインサブと覚えても良いです。

 

このデュプレックスの場合切り替え方法が2つあり、即時対応可能な電源ON状態で待機する方法と、故障障害発生した時に1から起動して処理を引き継ぐ方法があります。

 

即時スタンバイをホットスタンバイといい。

起動して引き継ぐのをコールドスタンバイといいます。

 

ホットスタンバイは電気代かかるけど、サービス停止時間が短くて済むという利点があります。

 

クラスタシステムと

クラウドコンピューティング

グリッドコンピューティング

 

まずクラスタコンピューティングですが、複数のコンピュータを連携させて1つのコンピュータとして使用する事をいいますが、同じ敷地内にあるといえます。

つまり、LAN(ローカル・エリア・ネットワーク)内で構成されたシステムといえます。

 

一方、グリッドはLANプラスWAN(ワイド・エリア・ネットワーク)NTTなどの回線を利用して繋げた大規模なシステム、複数の管理者が処理を実行する可能性を含めて構築される。

グリッド(網目状の意味)

 

そして、クラウドは有名なクラウド業者などのシステムと(WAN)で繋げ、SaaSDaaSなどのサービスと組み合わせて構築されるシステム。

 

有名なクラウド業者を(パブリック・クラウド)と呼びグールやマイクロソフトなどがあげられます。

 

クラウドの場合も複数の管理者により処理が実行されることが多い。

一方(プライベートクラウド)というものがあり、セキュリティの関係上WANを使わず自社内クラウド環境を構築するものもある。

クラウド(雲・群衆)の意味

 

 

次回は、システムの開発についてサクッと覚えます。

 

 

システムの性能評価(ITパスポート)

システムの性能とは

良好なシステムとは何か?

 

・使いやすい

 

・ 処理が速い

 

・故障が少ない

 

以上3点が求められます。

 

システムの性能を測るための指標は発注者とベンダ側で合わせる必要がある。

 

同じ物差しで性能を試す事で、認識のズレを防ぐ。

ターンアラウンドタイム

1、速度測定

処理の速さを測ります、どこを測るの?

 

まず、入力を始めてから出力完了までの時間。

 

つまり、入力開始ボタンを押してから出力が完了するまでの時間。

ボタンクリック → 出力完了

これを、ターンアラウンドタイムと言います。

レスポンスタイム

次に、上記のターンアラウンドタイムの中に含まれる作業で、ボタンを押してから実際に処理命令が開始されるまでの時間を開始として、実際に出力が開始されるまでの時間を計測します。

 

つまり、入力した命令がCPUに行く時間からCPUが計算を完了し出力命令を出した時間までを測ること。

ボタンクリック → CPUへ送る →CPU計算 →CPU出力命令 → 出力完了

これを、レスポンスタイムと言います。

 

こういった全体の作業を決められた時間でどれだけこなせるかを表す指標をスループットと言います。

 

平均故障間隔と平均故障時間の計算法

2、稼働率(故障が少ない)

運転期間の中でどれぐらい稼働しているか?

 

故障が発生した時に修理にかかる時間の平均を表す指標を。

平均修復時間:Mean Time to Repair(ミーン・タイム・トゥー・リペアー)と言います。訳して、MTTR

 

反対に運転期間全体からリペアー時間を引いた数字を故障回数で割ったものが「平均故障間隔」Meam Time Between Failures(ミーン・タイム・ビトウィーン・フェイリャーズ)と言います。

これを、MTBFと言います。

 

似ているから、覚えられないので。

リペアービトウィーンと覚えましょう。

試験問題としてはMTBFMTTRと出るので、RBだけ覚えておくとよいです。

 

この二つの数字で、式ができます。

 

システムが稼働している割合を示す計算方法があります。

稼働率を求める式

稼働率B ÷(BR

稼働率ビトウィーン割る(ビトウィーン足すリペアー

 

稼働率が問題で提示されている場合「移項」して求めてください。

 

問題:青が稼働中赤が故障中

稼働率

上記の場合稼働率はいくらか?

 

ビトウィーン(B)=(4+5+6)÷3

B=5(三回稼働している平均なので)

 

リペア(R)=(1+2+3)÷3

R=2(三回故障している平均なので)

 

稼働率=5÷(5+2)

稼働率=0.714・・

つまり、71.4%

稼働率100%は「1」です)

 

割ると・足す、だけでも覚えておくとよいです。

RとBはR&Bと覚えておきましょう。

 

この問題はセキュリティマネジメント試験でも共通に出てきます。

 

 

直列システムと並列システム

 直列システムとは

装置を一つの直線上に接続した装置を直列システムと言います。

 

直線上にあるので一つでも壊れるとシステム全体が停止します。

 

例えば: スタートABCDゴールとあって、

A〜Dのどの装置が壊れてもシステムとして稼働しないと言えます。

 

このシステムの全体の稼働率を求めるのには?

全体の稼働率=Aの稼働率×Bの稼働率×Cの稼働率×Dの稼働率

 

個々の稼働率の求め方はこの記事前半で覚えました。

 

A=0.9

B=0.8

C=1.0

D=0.9

とすると・・

 

システム全体の稼働率=0.9×0.8×1.0×0.9

全体の稼働率=0.648となります。

つまり、64.8%です。

 

この場合「直列」なので計算も簡単です。

 

並列の場合どうなるのか? 

 

 並列システムとは

直列システムが直線上に配置された装置であるのに対して並列システムは、分岐しており、「分かれ道」があって、その後「合流している」と考えることができる。

 

スタートAとBに分岐合流ゴール

と、なっている。

 

AとBは同時に同じ処理をするのでどちらがか壊れても、ゴールには到達する。

 

つまり、システム全体は停止しにくいと言える。

 

並列システムの稼働率は常に1かと言うとそうでもない、両方壊れる事もある。

 

 そこで、並列システムの稼働率を求める式が次のようになる。

 

装置Aと装置Bが並列の場合、

システム全体の稼働率1ー1ーAの稼働率×1ーBの稼働率

ややこしいので、

稼働率1ー1ーA)×1ーB)とする。

ここでの「1」は常に決まっている数字。

 

では、

Aの稼働率が0.9で

Bの稼働率が0.8の場合

 

計算してみよう。

全体の稼働率=1ー(1ー0.9)×(1ー0.8

となる。

つまり、1ー0.1×0.2

答え:0.92

システム全体の稼働率0.92となる。

 

この式を覚えるのはめんどくさいが、全部「1ー」と覚えればよいかもしれない。掛けるを忘れると元も子もないが・・

 

計算結果が0.9以下の場合計算方法を疑った方が良い、並列とはそれほどまでに、稼働率が高いものなのである。

 

 

結構この問題出るのでパスやスルーはしない方がいい!

 

 

次回は障害対策についてサクッと覚える。

システム導入(ITパスポート)

 

システム導入とは

ここで言うシステムとは大まかにアプリケーションソフトと共にインターフェースの構築とクラウドDB(データベース)やサーバーとのやりとりを含む全体をさす。

 

では、どんなものがあるのか。

たとえば、こんな業務効率化システムを開発して売りに出したい。

 

又は、便利なアプリとWEBページを連動させDBで管理したいとか。

 

けど、さっぱり作り方わからない・・・

 

こんな時に、ベンダと呼ばれる提供者に尋ねる。

 

 システム導入の流れ

これを情報提供依頼 RFI(Request For Information)と言う。

RFI リクエスト・フォー・インフォメーション

(こちらから出すもの)

 

そうすると、ベンダから返事が返ってくる。

 

私の所では「このようなシステムを作った実績があります」と返事が返ってくる。

 

良さそうだね、それでは具体的に話を進めてほしい、概要や調達条件などシステムの提案書を求める。

 

これを、提案依頼書 RFP(Request For Proposal)という。

RFP リクエスト・フォー・プロポーサルという。

(こちらから出すもの)

 

提案書を提出してくる。(ベンダ)

 

じゃ、お願いします、申し込む

(こちらから)

 

契約締結

(お互いに)

 

以上の流れがシステム導入概要。

 

 

ここから様々な部分に細分化される。

 

導入時の決まり

まずは、共通フレーム

共通フレームとは、「情報処理推進機構」が定めた、用語や作業内容など規定したもの。

 

システム開発を委託する場合に誤解が生じないように、定められている。

 

サービスの構想開発運用保守破棄まで定められている。

(お互い調整は可能)

 

最新バージョンは「共通フレーム2013」となっている。

 

この共通の物差しとも言える言葉のやりとりで、後から揉めずに済む。

 

ソフトウェアライフサイクル

この構想から破棄に到るまでの一連の流れを「ソフトウェアライフサイクル」という。

 

企画プロセス

(システムの投資効果やコストとスケジュールを明らかにする)

 

要件定義プロセス

(システムの範囲と機能・性能・利用法などを明らかにする)

業務要件定義が含まれる。

 

開発プロセス

(要件定義を基にして、ベンダが開発を行う)

 

運用プロセス

(システムが利用者の要望に沿った動きをするか運用テストを行う)

 

以上がシステム導入の流れ。

 

 

ここからはシステム監査

 

システム監査とは

システムは導入してはい終わりというわけではありません。

 

システムに関するリスクを管理して整備・運用する事が必要です。

 

リスクとは?

故障によるリスク

システムの障害により停止してしまったりする事。

(停電や、故障による停止)

 

不正アクセスによるリスク

システムで運用管理する情報が大量に流出してしまう事。

(セキュリティマネジメント)

 

このようなことに対して、対策が取られ運用できているかを評価検証する事を「システム監査」と呼ぶ。

 

システム監査人は外部又は部門外の独立した立場の人に評価を依頼します。

 

内部不正を防ぐためです。

 

システム監査基準に基づいて

システム監査人は次の流れで監査します。

 

計画

(目的、対象、日程を決めて計画を立てる)

 

実施

(予備調査・本調査・評価と結論)

本調査では監査証拠を確保します。

 

報告

(必ず経営者に結果報告と指導・勧告する)

それぞれの部門では勧告に基づき改善計画書をまとめ改善の実施をします。

 

フォローアップ

指摘・勧告した改善点について改善されているか評価し、さらに改善されていない場合、指導を行います。

 

このシステム監査ITパスポート試験で頻繁に出題されますので、ポイントだけ覚えておきましょう。

 

 次回はシステムの性能評価についてサクッと覚えます。

システムについて(ITパスポート)

 

システムとは

複数のコンピュターを接続して構成する。

 

ここでの「接続」ということはネットワークということ。

 

ネットワーク無しでは1台のコンピュータで処理をする「集中処理」になってしまう。

 

ちなみに、ディスプレイやキーボードとPCを繋ぐだけではネットワークと言わない。

 

これは入出力デバイスとの接続で有り分散処理ではない。

 分散処理とは

分散処理とは複数のコンピュータを接続して並列的に処理をすること。(一台が壊れてもシステム自体は動く)

 

別の意味でREIDと言うハードディスクを分散する方法もある。

(分散・パリティ )する事で冗長性(可用性)システムが継続して稼働できる構成を作る事ができる。

 

つまり、1つが壊れてもシステム自体はもう一つ又は2つ以上の構成要素で動き続けると言うこと。

 

REIDにはミラーリング(同時に2台に同じものを書き込む)とストライピング(分散書き込み)が有ります。

 

ミラーリングは片方が壊れても予備があるので安心。

(2本のHDで一本分の容量しか使えない)

 

ストライピングは並列作業を行うので速度が速い。

(片方のHDでも壊れたら終わり)

 

 

リアルタイム処理とバッチ処理

進行中の作業を処理するのをリアルタイム処理といい、作業完了時にまとめて処理する事をバッチ処理という。

 

バッチ処理とは決まった時間や単位で一括して処理する方法。

リアルタイム処理とは例えば作業中のタスクの自動保存など。

 

 

 

仮想化とは

コンピュータの物理的な部分に「OS」というソフトを入れて動作することは、ソフトウェアのところで学びました。

 

と、いうことは。

1台のハードウェアに複数のOSを入れることができるのか?

 

それを、仮想化と言います。

 

ハードウェアに仮想化ソフトウェアを入れて、その上にOSソフトを載せると考えてください。

 

例えば:MAC・PCにWindowsを載せる場合がそうです。

ブートキャンプという仮想化ソフトウェアの上でWindowsを可動させます。

 

ここで言う「ブート」bootとはコンピュータの電源を入れOSやモニタ・キーボードなど基本的なソフトウェアを主記憶装置に読み込み動作させるまでの事を言う。(ブートストラップBootstrapとも言う)

 

この読み込み時に仮想化ソフトを通して展開するOSを選択する事ができる。

 

1つのコンピュータに複数のOSを展開する。

 

ただし、

無理やり可動させようとしても無理、何故ならOSの開発段階でCPUを特定し、「このCPUでないと動作しない」と言う条件を定義している事が多いからである。

 

例えば:アンドロイドOSなどはCPUの特定はしない。

 

iOSCPUを特定している。

 

つまり、iPhoneiOSでしか動作しないが。

アンドロイドは様々な端末で動作する。

 

と、言うことは、iPhoneでアンドロイドOSを動作する事が出来ると言うこと。

 

 

NAS(ネットワーク・アタッチ・ストレージ)

NASNetwork Attached Storage)とは何か?

外付けHDDとは少し違います、ルータを経由して取り付けるHDDみたいなもの。

 

外付けHDDはPCに直接ケーブルなどで取り付けますが、1つのPCに対して1対1のみ通じており、他にスマホや、タブレットがあった場合ファイル共有する事ができません。(つなぎ直さない限り)

 

それに対してNASはWindowsPCや、ノートPCやディスクトップスマホタブレットを選ばずのはもちろん外出先からも自分の保存したデータを見る事ができます。

 

もちろん、PCを立ち上げる事なくデータを見れるわけです。

 

NASは基本的にはCPUを備えており、キーボードやマウスが無くても操作できるようになっている、ホットスワップ(電源OFF/ON無しで脱着できる)タイプがある。

 

基本的にはファイルの共有が目的だが、冗長性の管理に使われる。

 

スマホ時代にNASは便利!

スマホ内のデータを外出先からNASに落としてしまえば、スマホの中のデータは常に軽量。

AndroidiOS対応の物が人気!

 

同一のLAN内でデータの共有が楽ちん、かつ小電力設計のためコストは気にならない。

 

プライベートクラウド

クラウドと言うと何処かにサーバがあってそこで管理されているイメージがあるが、大手のサーバは常に狙われているのでセキュリティコストも高く、セキュリティ自体も高度な物を使用している。

 

一方プライベートで自分の家のルータにNASを繋いでしまえばランニングコストもかからないし、標的となる事も少ない。さらに心配ならば、クラウドと同期する事で二重のバックアップも取れる。

 

音楽や映像も落とし放題NASは標準2T以上で構成される事が多いのでTVと繋げば番組録画も可能、大量の音楽ファイルを落としても全く問題無し。

 

最近のNASHTTPS(セキュア通信)にも対応しており暗号化されたデータも正常に読み取れる。

 

 

 

次回はシステムの導入についてサクッと覚えます。

 

 

  

 

 

16進数について(ITパスポート)

 

16進数とは

16心痛ではなく、16しんすうと読みます。

 

2進数で学んだのと同じ、16コ目で1桁上がります。

ところが、

 

10とは13とかの表記はしません。

 

なんと・・10=A、11=B、と表現します。

 

並べると、

1・2・3・4・5・6・7・8・9・A(10)・B(11)・C(12)・D(13)・E(14)・F(15)

となります。

以上15個の数字とアルファベットを使って表現されます。

 

では、16はどうなるのかというと。

「10」になります。

 

???と、なりますが、

 

安心してください。

 

2段目の「1」は16の1乗を掛けたものになります。

つまり、

1×16=16

と、いうことです。

 

2進数で「10」と並んだ数字は『2』であると学びました。

 

16進数でも同じ「10」の場合は『16』となります。

 

なぜなら、10は2進数の1は2段目にあるので2の1乗を掛けた数字になりますそれに0を足すので、(2+0)となり答えは:2

 

16進数の10は2段目の1に16の1乗を掛けるので、(1×16+0)となり答えは:16

 

では、「F1」はどうでしょう?

 

1=16進数の1段目なのでそのまま「1」

 

F=15でしたね。

 

15に16の1乗を掛けるので(15×16=240)

240に1を

足すと=241になります。

 

ここまでで出遅れた人は、2進数をもう一度見直した方が良いかもです。

 

とにかく、ここで覚えておくべきは。

16しんすうは15個しかない、という事。

10=A

11=B

12=C

13=D

14=E

15=F

これだけは覚えておきましょう。

 

16進数の1〜Fはただの数字、右端の数字は1の位と考えて良い、ただし、2つ目の位からが厄介、16の1乗×数値となる。

 

つまり、A1はまず、Aを10に翻訳して、から16を掛る、そして1を足す。

つまり、「161」になる。

分かりにくいので、区切ると。

160+1=「161」になるだけ。

 

 16進数を10進数に直す

では、「ABC」という16進数は10進数でいくつ?

 

A=3段目かつ10なので

10×16の2乗になる

10×16×16=2,560

 

B=2段目かつ11なので。

11掛ける16の1乗になる。

11×16=176

 

C=12

足すと=2,748です。

 

つまり、ABC=2,748という事ができます。

 

ぎょぇええ!

こんな問題出るのか?

 

普通に出ます。

回答は4〜5択と思われますが、外したらアウト!

 

一体なにに使うんだ何に?

コンピュータやネットワーク、WEBコーディングのカラーの表現などに頻繁に使います。

 

16進数の使われ方

例えばシルバーsilverは16進数で指示を出すと、

#「C0C0C0」となります。

10進数に直すと12632256になりますが、

2進数に直すと110000001100000011000000となり、コンピュータはこれを見て「シルバー」と判断できます。

もちろんコードを表記するプログラムの基準に準拠する必要はあります。

 

 何故そうなるのか?

コンピュータは電気で動いている、のは知っていると思いますが、電気には電流・電圧があり「0の時は電流なし」「1の時は電流あり」電流の有る無しで動作します。

 

つまり、

「100110」は有り・無し・無し・有り・有り・無しとなる。

 

こんな単純な事を膨大に繰り返すことにより、最終的に答えを導くというわけです。

 

 

その他にも、近年拡大しているネットワークのIPアドレスではIPv6は全て16進数で表記させます。

 

例えば (2001:0db:0000:0000:320f:000:000:feo1)とか、

こんな感じで表記される(短縮は可能)

 

理由:2進数32ビットのIPv4アドレスでは2の32乗(約43億)の

アドレスが提供可能ですが現在の地球の人口は約75.3億人です、さらに会社などはIPアドレスを大量に使用します、故にIPアドレスが足りません。

 

したがって、16進数うを使うことによって、3.4×1036 という約340澗(カン)の数の割り当てが理論上可能なIPv6が使用されているのです。

 

 

10進数を16進数にするのにはどうすれば良いか?

基本原則:右から16の0乗、16の1乗、16の2乗と増えてゆく。

 

2進数の場合1を引くか、余りを右から記載すれば良かったのですが、16進数はそうはいかない。

 

何しろ、16を引いても何の役にも立たない。

 

したがって、計算機で16を掛けて近づけてから余りを求める必要があります。

 

例えば、556の場合。

 

計算機で556÷16=34.75と出る。

次に16×34=544と出る

余りは556ー544=12と出る

つまり、余りは12

右端に12=Cなので「C」と書く。

 

この時16で割った答えが34なので次は34を16で割る、

34÷16=32+

 

」と書く、

 次に、32÷16=

ここで割り切れなくなる。

 

最後に割り切れなくなった「」を書く。

(決まり、整数で計算する。)

 

答え:22C

 

なぜこうなるのか?

 

分解してみよう。

 

左端の2は3段目なので、16の2乗

2×16×16=512となる。

 

真ん中の2は2段目なので、16の1乗

2×16=32となる。

 

右端のCは10進数の12なので

12となる。

 

5123212=556となる。

 

わかっった?

 

一回では無理・無理!

 

もう一回行くよ!

 

「666」を16進数に直すとどうなる?

まず、

666を16で割る。

666÷16=41.625となる

 

41×16=656

666ー656=10

つまり、余りは10

10=Aなので

 

左端に「 A 」と書く。

 

この時41で割ったので、それを16で割る

41÷16=2.56・・

となるので、

41÷16=2+9

つまり、16×と余りが「9」

ここで、余りをAの側に書く

 

9Aとなる。

 

最後にが余ったので

最後に2と書く、

「29A」となる。

 

分解してみよう。

 

端の2は3段目の16進数なので16の2乗

2×16×16=512

 

真ん中の9は2段目なので16の1乗

9×16=144

 

最後のAは10進数にすると10なので

A=10

 

足すと、

51214410=666となる。

 

以上を言葉にまとめると・・・

 

まず、16で割る、割り切れた数(16割った整数部)をさらに16で割る。

それぞれの余りを右から書いてゆく、

最後に16で割り切れなかった数を左端に書く。

 

練習問題

問題:1285は16進数でいくつか?

 

1285÷16=80.3・・

1285ー80×16=5(余り

80÷16=(余り

答え:505

 

 

問題:9895は16進数でいくつか?

 

9895÷16=618.4・・・

618×16=9888

9895−9888=7(余り

618÷16=38.6・・・

38×16=608

618−608=(余り10=A

38÷16=2.3・・・

×16=32

38ー32=6(余り

32÷16= 

答え:26A7

 

 

次回は2進少数がチラッと見えたが、スルーしてシステムの導入をサクッと覚えます。