見出し画像

ソフトウェアとマルチメディア

◯ソフトウェア

 ソフトウェアとはコンピュータを動かすプログラムの総称を指します。パソコンの部品を買ってきて組み立て電源を入れたとしても、ソフトウェアが何も入っていなければ何も動きません。ソフトウェアを入れることをインストールといい、コンピュータを動かすにはソフトウェアが必須です。ちなみにソフトもソフトウェアを表しています。

 ソフトウェアは大きく分けて3つに分類されます。
OS(Operating System):ハードウェアやプログラム、アプリの管理などを行います。1つのコンピュータに複数のOSを入れることをマルチブートといいます。
アプリケーション(アプリ)応用ソフトウェアともいい、専門的な機能を持ちます。WordやLINEなど普段ダウンロードしているものはこれに分類されます。
ミドルウェア:OSとアプリの仲介役を担っています。

 プラグインと言ってソフトウェアに組み込んで機能拡張するソフトもあります。

・OSS(Open Source Software)
 ソフトウェアの発展のため、ソースコードを公開しているソフトウェアをOSSと言います。特徴としてライセンスを遵守する範囲で自由に使用することができ、使用、コピー、改変、販売を認めています。ライセンスには次のような種類があります。

BSDL(Berkeley Software Distribution License):無保証、著作権表示、複製、改変、再領布、販売等が自由にできます。ソースコードを非公開で頒布できます。
GPL(General Public License):基本的にはBSDLと同じですが、ソースコードの公開を原則としていて、派生物に関しても同様のライセンスが適用されます。
※著作権のことをコピーライトと言いますが、上記のように著作権を守りながら自由に変更等できることをコピーレフトと言います。

◯ジョブ管理とタスク管理

 ジョブとは人間から見たコンピュータに実行させるまとまった仕事の単位のことです。ジョブが入力された後、実行準備→実行→後始末→出力の管理をすることをスケジューリングと言います。

 主記憶装置と低速の入出力装置間のデータ転送を補助記憶装置を介して行うことをスプーリングと言います。高速で低容量の主記憶装置から一旦高容量の補助記憶装置に入れて出力装置のスピードに合わせることによりCPUを有効活用できます。

 タスクとはジョブをコンピュータから見た時にCPUで実行するのに適した単位に分割したものです。タスクの実行方式には2通りがあり、OSがCPUを管理しないノンプリエンプティブ方式とOSがCPUを管理するプリエンプティブ方式があります。現在の主流はプリエンプティブ方式です。

 ノンプリエンプティブ方式はタスクに優先順位がなく、実行可能になった順に実行するので、到着順方式とも呼ばれます。

 プリエンプティブ方式は優先順位や一定時間の経過などによってタスクの切り替えを行いますが、組み合わせによって幾つかの方法があります。
①優先度順方式:優先度が高い順に実行されます。
②処理時間順方式:処理時間が短い順に実行されます。
③ラウンドロビン方式:到着順からやっていき、一定時間実行すると最後尾に回されます。

 生成されたタスクは消滅まで3つの状態で管理されます
実行可能状態:CPU割り当てを待っている
実行状態:CPU使用中(処理中)
待ち状態:入出力終了待ち
①から②に変わる際にCPUへの割り当てが発生します。これをディスパッチと言います。

 これによりあるプログラムが入出力処理を実行している間、CPUを有効活用することができるので別のプログラムを実行することができます。これをマルチタスク(マルチプログラミング)と言います。

 すぐに処理すべきものが発生したときに実行中のプログラムを一時中断し、必要とする別の処理に切り替えることを割り込みと言います。割り込みにはプログラムの実行が原因による内部割り込みとハードウェアやオペレータの操作が原因による外部割り込みがあります。

内部割り込みの例
プログラム割り込み:0で割った時など不正の命令が原因
SVC(スーパバイザコール)割り込み:OSに入出力を要求した時など

外部割り込みの例
入出力割り込み:入出力装置の動作が完了
タイマ割り込み:CPUの割り当て時間の超過
コンソール割り込み:オペレータが介入

◯記憶管理

 限られた主記憶装置のうち、プログラムがとこに格納されていても動作するように管理するのがOSで行う(実)記憶管理です。うまく管理しないと使い終わった部分を解放しないなどにより主記憶の使用可能部分が減ってしまうメモリリークが発生します。実記憶管理(主記憶の利用方法)には幾つかの方式があります。

区画(パーティション)方式:主記憶をいくつかの区画に分割して割り当てる方式。一定の大きさに区画を分ける固定区画方式と、プログラムの大きさに合わせる可変区画方式があります。

 上図のように断片化(フラグメンテーション)が起きる場合があり、その際には細切れ未使用領域をまとめるメモリコンパクションを行う必要があります。

②スワッピング方式:主記憶の容量不足が発生した場合、優先度の低い主記憶のプログラムの一部を補助記憶に退避する方法です。退避させることをスワップアウト(ロールアウト)、主記憶が空いた時点で再び戻すことをスワップイン(ロールイン)と言います。

オーバレイ方式:プログラムを複数のセグメントに分割し、実行時に必要な部分だけ主記憶に格納する方法です。

 補助記憶の一部を主記憶として扱う方法を仮想記憶方式と言います。これにより朱記憶のサイズより大きいプログラムも実行可能になります。主記憶装置では実アドレスで管理し、補助記憶装置では仮想アドレスで管理しますが、これをDAT:Dynamic Address Translator(動的アドレス変換機構)で処理します。固定長のページに分割して管理する方法をページング方式と言います。

 主記憶にページが存在しない時(ページフォルト)、主記憶から必要のないページを追い出し(ページアウト)、補助記憶からページを読み込み(ページイン)ます。ページフォルトが多発して能力が急激に低下することをスラッシングと言います。ページアウトするページを決定する方法はいくつかあります。

①FIFO(First In First Out)方式:1番古く存在するページをページアウト。

②LRU(Least Recently Used)方式:最も長い時間参照されなかったページをページアウト。

③LFU(Least Frequently Used)方式:参照回数が最も少ないページをページアウト。

◯ファイル管理

 コンピュータではデータをファイルという単位で管理しています。またファイルを使うときにわかりやすいようにフォルダ(ディレクトリー)に分けて保存しています。データを格納している装置をボリューム(Volume)と呼び、Windowsではこれをドライブ(drive)と言います。

 コンピュータにおけるファイルの指定方法は2パターンあります。それが絶対パスと相対パスです。

絶対パス:最上位のフォルダ(ルートディレクトリ)をスタートとして、ファイルのある場所を指します。またあるディレクトリの下にあるディレクトリをサブディレクトリと言います。下図の丸のファイルを絶対パスで表すと『/desktop/today/A』となります。Windowsでは「/」の代わりに「¥」。

相対パス:ルートディレクトリ以外のフォルダをスタートとしてファイルのある場所を表す方法。現在アクセスしているディレクトリをカレントディレクトリと言います。下図の丸のファイルを相対パスで表すと『../../picture/F』とる。「../」で一個上のファイルに戻ることを表します。

 装置の故障やミスなどによりデータを全て失わないように別の場所に保管しておくことをバックアップといいます。システムやデータが破損した場合はデータの復旧作業(リカバリー)が必要になります。バックアップには次の3つの方法があります。

フルバックアップ:全てのデータを毎回バックアップします。作業が多いのでバックアップの時間が最もかかりますが、復旧の際はフルバックアップのみで復元できるので時間が最もかかりません。

差分バックアップ:初回のフルバックアップ以降に更新されたデータを全てバックアップします。フルバックアップからの日数が経つほどデータ量は多くなります。フルバックアップファイルと直前の差分バックアップファイルを使用して復元を行います。

③増分バックアップ:初回のフルバックアップ以降に更新されたデータのみバックアップします。対象となるデータが少ないのでバックアップ時間は短く済みますが復元の際は全ての増分バックアップを使用するので最も時間がかかります。

◯マルチメディア

複数の情報媒体を利用、複合したものをマルチメディアと言います。音声や静止画、動画などがあります。

・静止画/動画
文字データと比較してデータサイズが大きくなります。以下にいくつかを紹介します。

 データサイズが大きいと保存やメールの送信の際に不都合が生じる場合があります。そのため圧縮解凍をしてデータサイズを変更します。完全に元に戻せる圧縮を可逆圧縮、元に戻らない圧縮を不可逆圧縮と言います。

・CG(コンピュータグラフィックス)
 コンピュータで画像処理または生成する技術のことをCGと言います。基本情報技術者試験でよく問われる技術は以下の通りです。

・VR(バーチャルリアリティ)
 コンピュータの作り出す仮想の空間を現実であるかのように知覚させる技術をVRと言います。

・AR(拡張現実)
 実際の環境にコンピュータの作る情報を重ねて表示する技術をARと言います。

いいなと思ったら応援しよう!