yuta_eng_prg’s diary

筆者がプログラミング学習の内容を綴るだけのブログです。

スプーリング、スループット

スプーリングとは、主記憶装置と高速の入出力装置(プリンタなど)との間のデータ転送を、高速の補助記憶装置を介して行うことによってシステム全体の処理能力を高める方法のことです。

スループットとは、コンピュータやネットワーク機器が単位時間あたりに処理できる仕事量をスループットと言います。

スプーリングを行うこと(具体的には、次の印刷指示を補助記憶装置を介して行うことでプリンタが印刷している間の待機時間中に主記憶装置が別の処理を行うこと)で、スループットを高めることができます。

OS

OS(オペレーティング システム)とは、アプリやデバイスを動作させるための基本ソフトウェアのことです。

キーボードやマウス、タッチパッドなどのデバイスから入力した情報をアプリケーションに伝え、ソフトウェアとハードウェアの連携を司る中枢的な役割を担います。

代表的なOSに、

Windows

Mac OS

UNIX

Linux

などがあります

CPUと5大装置

制御装置、演算装置、記憶装置、入力装置、出力装置の5つの装置が連携してコンピュータを動かしています。

これらを総称してコンピュータの5大装置と呼びます。

CPU(セントラル プロセシング ユニット)コンピュータの中枢で制御と演算を行う装置です。

記憶装置の内、動作するために必要なプログラムやデータを一時的に記憶する装置を主記憶装置と呼び、メモリなどがあります。

また、記憶装置の内、プログラムやデータを長期的に記憶する装置を、補助記憶装置と呼び、ハードディスク、CD-ROMなどがあります。

入力装置として、キーボードやマウス、出力装置として、ディスプレイやプリンタなどがあります。

インタプリンタとコンパイラ

プログラミング言語には「インタプリンタ」と「コンパイラ」の2種類があります。

プログラマーが記述したプログラム(ソースコード)を解釈しながら実行する形式を「インタプリンタ」と言います。

インタプリンタは、ソースコードを記述するための「テキストエディタ」さえあれば、すぐに開発、修正を行える反面、実行速度がコンパイラより遅く、コードの文法ミスが実際に実行されるまで分からないというデメリットがあります。

コンパイラでは「コンパイラ」というプログラムを使い、ソースコードを「バイナリコード」に変換したものを実行します。

コンパイラは、バイナリコードを実行するだけなので、インタプリンタに比べ、実行速度が速く、ソースコードを隠匿することができ、コンパイラの時点で文法ミスを発見できるメリットがあります。

しかし、コンパイラなどの開発環境が必要である、修正には再びコンパイルし直す必要があるなどのデメリットもあります。

サーバサイドのプログラムを作成する際の注意点

クライアントサイドのプログラムでは、

・プログラムの実行がユーザー環境によって左右される。

・プログラムを見られたり改変されたりする恐れがあるのでデータ等を暗号化する必要がある。

などの注意点がありました。

サーバサイドのプログラムでは、上記のようなクライアントサイドでの注意点はありません。

しかし、接続しているユーザーの数だけ同時にプログラムが実行される可能性があるので、

・できるだけ短い時間で処理が終わるようにする。

・複数のユーザーが同時にデータを書き換える可能性を考える(「書き換え中は他の人のアクセスをしない」というロック処理を行う)

などの点に注意する必要があります。

クライアントサイドで動くプログラム

Webで実行できるプログラムには、「クライアントサイドで動かす方法」「サーバサイドで動かす方法」の2通りがあります。

クライアントサイドで動くプログラムは、WebサーバからHTMLとともに送られ、Webブラウザ内部で動きます。

主に「Javascript」「Flash」の2種類のプログラムをクライアントサイドで動かすことができます。

Javascriptは、Netscape社によって考案されたプログラミング言語で、現在ではほとんど全てのWebブラウザでプログラムを実行できます。

Flashは、Macromedia社が開発したプログラムの実行環境で、「Adobe Flash」というツールで、「Action Script」という言語で記述します。

実行するには「Adobe Flash Player」というプラグインが必要で、全てのWebブラウザで対応しているわけではないです。

SSH(セキュア シェル)

リモートでサーバを操作する場合、専用のソフトを使って、コマンド操作します。

この時サーバとの接続に、「SSH(セキュア シェル)」というプロトコルを使います。

SSHは暗号化された通信で、安全にサーバを操作できます。

WindowsSSH接続するソフトの代表として、「Tera Term」、「PuTTY」があります。

サーバ側にはSSH接続を受け入れるためのソフト「sshd」を設定して起動しておく必要があります。

Webサーバにファイルをアップロードする時には、SSHに内蔵されている「SCP(セキュア コピー)」というプロトコルを使うか、「FTP(ファイル トランスファー プロトコル)」を使います。

SCPを使ってファイルを転送するソフトとして、「WinSCP」、

FTPを使ってファイルを転送するソフトとして、「ProFTPD」などのソフトがあります。