私はサポートエンジニアになりたい

元教師・現開発エンジニアの挑戦

OSとは何か説明する

OSとは

複数のプログラムを同時に安定動作させ、ハードウェアコンポーネントを効率的に使えるよう抽象化するためのプログラム。

OSの構成

ブートローダ

PC起動時によびだされ、OSなどを動かす仕事をしているプログラム。

PCの電源を入れる→BIOS起動→ブートローダ起動→OS起動

カーネル

ハードウェアとソフトウェアをつなぐソフトウェア

  • リソース管理
    • CPU(プロセッサ)
      多数のプログラムの中からプロセッサを割り当てるべきものを選択する
    • メモリ
      各プロセスにメモリを割り当て、全体としてメモリが不足した場合、対処を決定する
    • 入出力デバイス(キーボード・HDD・USBなど)
      アプリケーションから入出力要求を受け付け、適切なデバイスに対して入出力を実行し、デバイスを使用するための便利な方法を提供
  • プロセス管理
    アプリケーションの実行を許可し、ハードウェア抽象化などの機能でサポートする
  • メモリ管理
    ユーザープロセスの要求に応じて安全なメモリアクセスを提供
  • バイス管理
    ドライバが物理的にデバイスにアクセスするための入出力ポートやメモリ空間を用意する
  • システムコール

デーモン

LinuxUNIXにおいてメモリ上に常駐してるプロセス

Windowsでは「サービス」とよばれる

利用者の操作とは無関係に処理を行うバックグラウンドプロセスの一種で、別のプログラムや機器、通信相手など外部からの要求を受け付けて処理を実行したり、あらかじめ設定されたタイミングで自律的に特定の処理を実行したりする。

systemd, syslogd, tcpd, httpd, sshdなど

シェル

ユーザからの入力をPCに伝えるプログラム

ユーザが入力したコマンドをシェルが解釈しカーネルに伝え、

カーネルはシェルから伝達された要求に応えてプログラムの操作を行い、その結果をシェルに返す。

返ってきた結果をシェルが解釈し、ユーザ側に出力する

-----

カーネル←シェル←ユーザ

カーネル→シェル→ユーザ

-----

デスクトップ環境

ツールバー、ファイル、背景画像などから成り立つ。

デスクトップ環境のおかげで画面表示でのPC操作環境が快適に行える。

アプリケーション

様々な情報やプログラミングを組み合わせ、OSの機能を拡張していく事ができ、PC操作が快適に使えるようにしてくれるようにプログラムされたソフトウェア

OSの機能

  • タスク管理
  • メモリ管理
  • ファイル管理
  • 周辺機器の管理
  • APIの提供

参考

milestone-of-se.nesuke.com

qiita.com

www.geekly.co.jp

e-words.jp

recruit.cct-inc.co.jp