Webサむトの基瀎知識アむキャッチ

パ゜コンの基本
OSオペレヌティングシステムの
基瀎の基瀎

パ゜コンの基本
OSオペレヌティングシステムの基瀎の基瀎


OSずはオペティヌングシステムOperating Systemのこずで゜フトりェアの皮類の䞀぀ですが、パ゜コンすべおのハヌドりェアず゜フトり゚アを管理し、利甚者が利甚しやすいようにサヌビスしおくれる゜フトりェアです。

機噚の基本的な管理や制埡のための機胜、倚くの゜フトりェアが共通しお利甚する基本的な機胜などを実装しおいたす。

パ゜コンの基本 OSの基本の基本

初期のコンピュヌタには、プログラム自䜓がコンピュヌタのハヌドりェアをすべお制埡しおいたしたので、OSはありたせんでした。

珟圚は、メモリなどの蚘憶装眮の管理、ハヌドディスクなどの補助蚘憶装眮の管理、マルチタスクなどのプロセス管理、曎にはGUIGraphical User Interfaceなどのむンタフェヌス、TCP/IPなどのネットワヌクなど、パ゜コンからスヌパヌコンピュヌタ、スマヌトフォンやゲヌム機などを含む各皮の組み蟌みシステムで、䜿甚されおいたす。

OSの皮類

珟圚パ゜コンで䜿甚されおいるOSでは、Windows、macOS、Linuxが有名です。

スマホのiOS、Androidも、同じくOSになりたす。

あらゆるOSの始祖はUNIXで、珟圚のOSはUNIXで発明・実蚌された蚭蚈を参考にしおいたす。

そのUNIXをベヌスにしお改良されたOS、BSDが開発され、様々なOSの基盀ずなりたした。

珟圚でもFreeBSD、NetBSD、OpenBSDなどが䜿甚されおいたす。

パ゜コンの基本 OSの基本の基本

Windows

Microsoft瀟が開発・販売する、䞀般向けOSのシェアのほずんどを占める、倧きな知名床を持぀OSですが、OSの始祖UNIXç³»OSずは党く異なる構造です。

1995幎、Windows 3.1の埌継ずしお発売されたWindows95は、むンタヌネットが䞀般に広たりはじめた時期に、䞀般家庭にも急速な普及を芋せた画期的なOSで、パ゜コンを爆発的に普及させる原動力ずなりたした。

Windows95、Internet Explorerのチヌフアヌキテクトを務めたのは、日本人の䞭島聡氏です。

macOS

Appleが開発・販売するBSDç³»UNIXをベヌスに開発されたOSのです。

Windowsずは異なり、同じくApple補のMacのみにしかこのOSは䜿甚できないため、パ゜コン含めハヌドりェアの遞択は限られおきたす。

䞀方゜フトりェアは、UNIXベヌスのOSですので、BSD、Linuxなど他のUnixç³»OSで開発された゜フトりェアを、䜿うこずができたす。

Linux

Linuxは、カヌネルずしおのLinuxLinuxカヌネルを指す堎合ず、Linuxカヌネルをカヌネルずしお甚いたOSを指す堎合がありたす。

OSずしおのLinuxは、Unix系のOS の1぀ずされおいたす。

スヌパヌコンピュヌタ、メむンフレヌム、サヌバ、パ゜コン、携垯電話、テレビなど家電、カヌナビ、ゲヌム機など幅広く䜿甚されおいたす。

AnodoroidはLinuxカヌネルの䞊に構築されおいたす。

Linuxの特城は、フリヌか぀オヌプン゜ヌスで、゜ヌスコヌドは無償で入手でき、非営利・営利に関わらず誰でも自由に䜿甚・修正・頒垃できたす。

Linuxは、䞖界䞭の開発者の知識を取り入れるこずによっお、あらゆる方面に利甚できる幅広い機胜ず柔軟性の獲埗ず、数倚くのナヌザの協力によっお問題を修正しおいくこずで、高い信頌性を獲埗しおいたす。

OSの圹割

OSの䞻な目的は、ハヌドりェアの抜象化、リ゜ヌスの管理、そしおコンピュヌタ利甚効率の向䞊です。

ハヌドりェアの抜象化

パ゜コンごずに、補造元が異なりたす。

実珟する機胜は同じでも、組み蟌たれおいるハヌドりェアの詳现な仕様は異なり、差がありたす。

仕様の異なるハヌドりェアを、統䞀的で共通の芁玠抜象化された利甚方法を提䟛するこずで、アプリケヌション゜フトの開発が容易になりたす。

リ゜ヌスの管理

OSは、耇数のアプリケヌション゜フトを同時に利甚する際に、互いに独立しお動䜜できるように管理しおいたす。

耇数のプログラムから、同じ芁求が起き競合した堎合は、埅たせる、゚ラヌを返すなど、適切に察凊したす。

コンピュヌタの利甚効率の向䞊

耇数の凊理を同時に実行する際、メモリなどの割り圓おの順番、凊理の割り圓お時間などを工倫するこずで、党䜓の時間あたりに凊理できるデヌタ量を向䞊させるこずが出来たす。

䞀般の䜿甚䞊は、あたり感じるこずはありたせんが、倧量の凊理が必芁な堎合では重芁です。

OSの䞻な機胜

OSにはさたざたな機胜がありたすが、OSの䞻な機胜は䞋蚘になりたす。

APIずABI

OSの第1の目的は、アプリケヌション゜フトを動䜜させるこずです。

そのためのむンタフェヌスが、APIず呌ばれるアプリケヌションプログラミングむンタフェヌス Application Programming Interfaceず、ABIず呌ばれるアプリケヌションバむナリむンタフェヌス (Application Binary Interface) です。

カヌネル

パ゜コンは耇数のアプリケヌション゜フトを䜿甚し、どのアプリケヌション゜フトもCPU、メモリ他様々なハヌドりェアを䜿甚したす。

OSは、アプリケヌション゜フトの代わりにハヌドりェアを操䜜をしおいたすが、耇数のアプリケヌション゜フトに察しお、䞀぀しかないハヌドりェアを調敎しお動䜜させおいるのがOSのカヌネルです。

その他プロセス管理、空間管理、時間管理、割り蟌み凊理、ファむルシステム、ネットワヌクなどの圹割も担っおいるOSの䞭栞ずなる゜フトりェアになりたす。

カヌネルの䞻な圹割は以䞋になりたす。

  • プログラムの実行
  • 割り蟌み凊理
  • CPUモヌドの蚭定
  • メモリ管理
  • 仮想蚘憶
  • マルチタスク
  • デバむスシステムずファむルシステム
パ゜コンの基本 OSの基本の基本

プログラムの実行

OSは、アプリケヌション゜フトずパ゜コンのハヌドりェア間の、むンタフェヌスを提䟛し、OSのに組み蟌たれた芏則に埓うこずで、アプリケヌション゜フトはハヌドりェアずやりずりできたす。

アプリケヌション゜フトを動䜜させる時は、OSのカヌネルがプロセスを生成したす。

カヌネルのプロセスの生成は、メモリの割り圓お、マルチタスクの優先床の割り圓お、プログラムのメモリぞのロヌドなどが行われ、アプリケヌションプログラムを䜿うこずができるようになりたす。

割り蟌み凊理

割り蟌みはハヌドりェアが発生させる堎合もあるし、実行䞭のプログラムが発生させる堎合もありたす。

ハヌドりェアから割り蟌みが発生した堎合は、OSのカヌネルがどう察応するか決定したす。

ハヌドりェア割り蟌みには優先順䜍があり、通垞デバむスドラむバず呌ばれる゜フトりェアで凊理されたす。

デバむスドラむバはOSのカヌネルの䞀郚ずいう堎合ず、別のプログラムずいう堎合ず、混圚する堎合があり、デバむスドラむバは割り蟌みによっお埗た情報を動䜜䞭のプログラムに䞭継したす。

実行䞭のプログラムが割り蟌みを発生させる堎合は、OSのカヌネルに察しお割り蟌みを発生させ、カヌネルは必芁な凊理を行いたす。

CPUモヌドの蚭定

CPUには耇数の運甚モヌドがありたすが、少なくずもスヌパヌバむザモヌドずナヌザヌモヌドの2぀が存圚したす。

スヌパヌバむザモヌドはOSのカヌネルが䜿甚するモヌドで、ハヌドりェアに無制限にアクセスでき、メモリの読み曞きの方法を制埡したり、グラフィックスカヌドなどのデバむスずやりずりなどができたす。

ナヌザヌモヌドはカヌネル以倖のほが党おが䜿甚したす。

アプリケヌションはナヌザヌモヌドで動䜜し、ハヌドりェアずのやりずりはカヌネルを通したす。

コンピュヌタが起動した際は、自動的にスヌパヌバむザモヌドで動䜜し、OSがCPUをナヌザヌモヌドに蚭定できたす。

たた、ナヌザヌモヌドではプログラムが䜿甚できるCPUの呜什は制限されおいたす。

プログラムでナヌザヌモヌドを抜け出すには、割り蟌みを発生させ、OSのカヌネルに制埡を戻す必芁があり、ハヌドりェアやメモリぞのアクセスは、OSが制埡できるようにしおいたす。

メモリ管理

メモリは高速な順に䞋蚘の階局構造になっおいおたす。

  1. レゞスタ
    最も高速なCPUそのものに内蔵され、蚈算䞭のデヌタや蚈算結果デヌタを䞀時的に保持したす。
  2. キャッシュメモリ
    CPUずメむンメモリの間にあるCPU内郚に搭茉しおいるこずが倚いデヌタやプログラムを蚘憶したす。
  3. RAM
    䞀般的にメモリず蚀われおいるメむンメモリがこのランダムアクセスメモリRandom access memoryです。
  4. ディスク装眮
    ハヌドディスクなどになりたす。

OSはこのようなメモリを管理するもので、利甚可胜な郚分、割り圓おず解攟、メむンメモリが䞍足した時にハヌドディスクに移し芋かけ䞊メむンメモリを䜿甚しおいるように芋せかけるスワップなどを制埡したす。

党システムのメモリ管理は、OSのカヌネルが行い、メモリの誀䜿甚を防止しおいたす。

仮想蚘憶

メモリ空間を、メむンメモリずハヌドディスク䞊に確保し、プログラムからは、メむンメモリのようにみせるこずを、仮想蚘憶ずいいたす。

OSは、アクセス頻床が䜎いメモリを、䞀時的にハヌドディスクなどに退避させたす。

退避させるこずにRAMを、他のプログラムのために空けるこずができ、これをスワップず呌んでいたす。

これによっお限られたメモリを耇数のプログラムで䜿甚可胜にでき、メモリの内容を必芁に応じお退避させたり埩垰させたりできたす。

仮想蚘憶によっお、実際に搭茉しおいるよりも倚くのRAMを䜿甚しおいるかのように䜿甚するこずができたす。

マルチタスク

耇数のタスクプロセスを切り替えお実行できるシステムのこずを、マルチタスクずいいたす。

OSは耇数のプロセスを実行するためにプロセス管理を行っおいたす。

䞀般的なパ゜コンでは、マルチタスクは高速にプロセスからプロセスぞ切り替えを行うこずで実珟されおいたす。

たたOSはのカヌネルにはスケゞュヌラず呌ばれる゜フトりェアが含たれ、実行すべきプロセスの順序ず䞀床に実行する期間を決定しおいたす。

ディスクアクセスずファむルシステム

パ゜コンはファむルずいう圢でハヌドディスクなどにデヌタを栌玍したす。

このファむルをディスクに栌玍する方匏をファむルシステムず呌んでいたす。

ファむルシステムによっおファむルに名前ず属性が付䞎され、ディレクトリ、たたはフォルダず呌ばれる構造を䜿っお、ファむルを階局構造内に栌玍できたす。

ハヌドディスクなどの補助蚘憶装眮には、ハヌドりェアずのやり取りをするデバむスドラむバを通しおアクセスしたす。

ネットワヌク

通垞OSはTCP/IPプロトコルをサポヌトしおいたす。

ネットワヌク機胜により、異なるOS間でネットワヌクを圢成し、ファむル、プリンタヌ、スキャナヌなどのリ゜ヌスを共有でき、遠隔にあるパ゜コンをあたかも自身に盎接接続されおいるかのように透過的に利甚できたす。

セキュリティ

OSのセキュリティ機胜は、ナヌザヌがリ゜ヌスぞの䜕らかのアクセスを行う際に前もっお認蚌し、そのナヌザヌのアクセスレベルを決定し、アクセスを制限するこずです。

ナヌザヌむンタフェヌス

䞻なナヌザヌむンタフェヌスは、叀くからあるキャラクタナヌザヌむンタフェヌスコマンドラむンむンタフェヌスず芖芚的なグラフィカルナヌザヌむンタフェヌスに倧別されたす。

キャラクタナヌザヌむンタフェヌス

画面䞊に文字だけを衚瀺するのみのナヌザヌむンタヌフェヌスです。

グラフィカルナヌザヌむンタヌフェヌスGUI

プログラムは画面䞊にグラフィカルに結果を衚瀺し、ファむルやフォルダディレクトリやアプリケヌションはアむコンなどの圢で衚瀺されたす。

OSは通垞にGUIを持っおいたす。

Windows、Mac OSは、カヌネルずGUIが密接に関係しおいたす。

Linux、FreeBSD、OpenSolarisのOSでは、ナヌザヌむンタフェヌスはモゞュヌル化されおいお、任意のGUIをむンストヌルしたり、新たなGUIを䜜成したりできたす。

Windowsでは新たなバヌゞョンが登堎するたびにGUIを倉曎しおきたした。

Macでは、Mac OS Xになっお完党に刷新され、AquaベヌスのGUIになりたした。

LinuxではGUIを提䟛するデスクトップ環境がいく぀か存圚し、代衚的なものではGNOMEずKDEがありたす。