サービスプログラムとは
コンピュータがサーバーとして機能するためには、OSだけではなくサービスプログラムと呼ばれるプログラムが必要です。サービスプログラムはバックグラウンドプログラムとして常駐し、サーバーとしての機能を提供します。
例えば、クライアントからサーバーのファイルへアクセスする際には、クライアントPCのアプリケーションから、サーバーのOSにファイルを使いたいと伝えることになります。サーバーのOSはファイルサーバーとしてのサービスプログラムに命令し、データをクライアントPCに提供します。
サービスプログラムの実体
例えば、メールサーバーのサービスプログラムは「sendmail」、「qmail」、「Postfix」などが実際のプログラムとなっています。これらのサービスプログラムはMail Transfer Agentと呼ばれ、略してMTAと言います。MTAはメールサーバーとしての機能を提供するサービスプログラムです。
sendmailは1つのプログラムでメールサーバーとしての機能を提供できますが、amailやPstfixなどは複数のプログラムによって構成されています。そのような違いはあるものの、電子メールを送受信するとういメールサーバーとしての機能には違いがありません。
サービスプログラムとOSの違い
OSはコンピュータが動作するために必要なプログラムです。サービスプログラムはコンピュータの動作自体には関わりません。
サービスプログラムとアプリケーションプログラムの違い
クライアントPCでのアプリケーションプログラムと、サーバーのサービスプログラムは大体同じようなものですが、サービスプログラムはシステムプロセス(システムが自動的に動作させるプログラム)であり、アプリケーションプログラムはユーザープロセス(使用者が動作させるプログラム)であるとの違いがあります。
クライアントPCで使えるサービスプログラム
サービスプログラムはサーバー用のプログラムですが、クライアントPCでも使用できるものがあります。Webサーバー機能としての「IIS」は、クライアントPCでも追加することができます。
なぜクライアントPCでもサービスプログラムを使えるの?
Windows OSには「Server」と「Workstation」と呼ばれるサービスプログラムが搭載されています。この2つのサービスプログラムがクライアントPCでもサーバー機能を実装できる基盤となっています。しかし、クライアントPCで実行できるサーバー機能は限定的です。
Workstationはネットワークを経由してサーバーへとアクセスすることを可能とします。一方、ServerはWorkstationから寄せられた要求に従ってデータを返します。