オペレーティングシステム(Linux等)

機械学習技術 人工知能技術 ICT技術 セマンティックウェブ技術 検索技術 データベース技術 サーバー技術 ネットワーク技術 デジタルトランスフォーメーション技術 マイクロサービス 本ブログのナビ

オペレーティングシステム(Linux等)

オペレーティングシステムとは、ソフトウェアの種類の一つで、機器の基本的な管理や制御のための機能や、多くのソフトウェアが共通して利用する基本的な機能などを実装した、システム全体を管理するソフトウェアとなる。

入出力装置や主記憶装置(メインメモリ)、外部記憶装置(ストレージ、ディスク)の管理、外部の別の装置やネットワークとのデータ通信の制御などが主な役割で、コンピュータに電源が投入されると最初に起動し、電源が落とされるまで動作し続ける。利用者からの指示に基いて記憶装置内に格納されたソフトウェアを起動したり終了させたりすることができる。

OSの機能を利用し、OSの上で動作するソフトウェアをアプリケーションソフト(application software、応用ソフト)という。アプリケーションの開発者は、OSの提供する機能を利用することによって、開発の手間を省くことができ、操作性を統一することができる。また、ハードウェアの仕様の細かな違いはOSが吸収してくれるため、あるOS向けに開発されたソフトウェアは、基本的にはそのOSが動作するどんなコンピュータでも利用できる。

オペレーティングシステムは通常、ユーザーやアプリケーションプログラムハードウェアの中間に位置し、ユーザーやアプリケーションプログラムに対して標準的なインタフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。現代のOSの主な機能は、ファイルシステムなどの補助記憶装置管理、仮想記憶などのメモリ管理マルチタスクなどのプロセス管理、更にはGUIなどのユーザインタフェースTCP/IPなどのネットワーク、などがある。パーソナルコンピュータからスーパーコンピュータまでの各種のコンピュータや、スマートフォンゲーム機などを含む各種の組み込みシステムで、内部的に使用されている。

商品として(ないし製品として)のOSには、デスクトップ環境ウィンドウシステムなど、あるいはデータベース管理システム (DBMS) などのミドルウェア、ファイル管理ソフトウェアやエディタや各種設定ツールなどのユーティリティ、ウェブブラウザや時計などのアクセサリが、マーケティング上の理由などから一緒に含められていることもある。

パーソナルコンピューター向けのOSとしてはマイクロソフト社のWindows、アップル社のMac OSX、Unix系OSであるLinuxなどがある。

OSの分類の一つとして、主にサーバコンピュータで使用されることを想定して開発・調整されたサーバーOSがある。サーバは対面で利用するコンピュータとは求められる性能や機能が異なり、画面表示や音声に関わる機能などは操作に必要最低限で十分な一方、ネットワーク性能や動作の安定性などは高い水準が求められる。また、遠隔からコンピュータやソフトウェアの状態を監視・管理する機能なども必要とされる。こうした要求に応えられるよう特別に調整された製品がこのように呼ばれる。

基本的な機能は汎用のOSやデスクトップ向けOSと変わらないため、サーバOSとしてのみ開発・提供されるOSパッケージはほとんどない。多くはベースとなる汎用のOSの性能や機能、同梱するソフトウェアなどを調整し、サーバ「向け」OSとして提供される。

またOSの分類の一つに、コンピュータなどの機器を通信ネットワークに接続してデータを送受信することを主な機能・目的とするネットワークOSもある。これは、多数のコンピュータを相互に接続する現在のような形のコンピュータネットワークが一般に普及し始めた1980年代頃に広まった用語で、当時はネットワークに対応していないOS(MS-DOSなど)にネットワーク機能を追加するソフトウェアパッケージや、ネットワーク上でサーバとしての機能を提供するのに特化したNetWareなどのソフトウェアのことをNOSと呼んでいた。

現代ではほとんどのOSが何らかの形で通信・ネットワーク機能を備えているため汎用コンピュータ向けのOSの分類としてNOSという語を用いることはほとんどなくなり、代わって、ルータやネットワークスイッチなどの通信機器・ネットワーク機器を制御するOSのことをNOSと呼ぶことが多い。

さらにスマートフォンやタブレットなどでで用いられるGoogle社のAndroid OSやApple社のiOS、産業機器や家電製品などの組み込み系の機器で用いられるリアルタイムOSであるTRONやMSCE、freeBSDなどもある。

本ブログではこれらOSに関して以下のように詳細を述べる。

詳細技術

  • オペレーティングシステムの概要とLinux OS(CentOS,Ubuntu)の環境設定

オペレーティングシステム(Operating System)は、コンピューターシステムの基本的なソフトウェアの一部であり、ハードウェアとアプリケーションソフトウェアの間のインタフェースを提供するものとなる。オペレーティングシステムは、コンピューターのリソース(プロセッサ、メモリ、ディスクスペースなど)の管理や、ユーザーとコンピューターシステムとの対話のための環境を提供している。

ここではこのOSに関してはLinuxとLinuxのディストリビューションであるCentOS、Ubuntuの具体的な実装方法とクラウド環境(AWS)でのOSについて述べている。

Linuxは1991年に誕生したフリーのオペレーティングシステムとなる。コンピューターの操作、運用、運転(オペレーティング)を司るソフトウェアとなり、ユーザーやアプリレーションプログラムとハードウェアの中間に位置して、ユーザーやアプリケーションプログラムに対して標準的なインターフェースを提供するとともに、ハードウェアなどの各リソースに対して効率的な管理を行うものとなる。

具体的な機能としては、ファイルシステムなどの補助記憶管理、仮想記憶などのメモリ管理、マルチタスクなどのプロセス管理、GUIなどのユーザーインターフェース、TCP/IP等のネットワークの管理などになる。

inuxは、サーバー、スマートフォン、テレビ、デジタルカメラなど様々な機器の上で動作しているまたくらうどしすてむにおいてもLinuxが圧倒的なシェアを閉めている。そのようなLinuxディストリビューションの中で最も広く利用されているものが「ubuntu」となる。(linuxが用いられているWebサーバーの中で、Ubuntuのシェアは34%で一位(2018年)であり、クラウドやコンテナにインストールするサーバーOSとしてもUbuntuのシェアは大きい)

Ubuntuは無償で配布されているため、個人でダウンロードしてPCで動かすことも容易だし、WindowやmacOSに仮想PCソフトである「VirtualBox」をインストールすれば、他にPCを用意することなく動かすこともできる。

一般的なPCにインストールできるUbuntuには「Ubuntuデスクトップ」と「Ubuntuサーバー」がある。

CentoOS(Community Enterprise Operating System)は、Red Hat社の商用Linuxディストリビューション、RHEL(Red Hat Enterprise Linux)と高い互換性を維持したクローンOSとなる。Red Hatとコミュニティが協力して開発し、無償で利用できるオープンソースのOSとして、幅広い用途で使用されている。特に最近は、Hadoopなどのスケールアウト型分析基盤や、AI・機械学習、深層学習などの知識情報処理基盤、ソフトウェア定義型分散ストレージ基盤、HPC(High Performance Computing)基盤、コンテナ基盤など様々な利用分野で使われている。以下にOSのインストール手順について述べる。

コメント

タイトルとURLをコピーしました