[新卒が作る自作OS] OSってどうやって起動するの?

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【4/18開催】VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜
Visual Studio Codeの拡張機能であるDev Containersを使ってReactとかPythonとかSpring Bootとかの開発環境をラクチンで構築する方法を紹介するイベントです。
https://tech-lab.connpass.com/event/311864/

初めまして、本年度サイオステクノロジー株式会社に入社いたしました新卒の藤原です。

 

本投稿、[新卒が作る自作OS]では、我々が自作OSを作るにあたり、詰まったところや、備忘録的に残しておきたいところなどをまとめておこうという趣旨の投稿です。
間違っている認識も多々あるかとは存じますが、どうか温かい目で見てくださると幸いです。

 

前回『[新卒が作る自作OS] OSの全体像』では、
私たちが作るOSの全体像についてまとめ、色々な機能を実装していく必要があることが分かりました。

今回はOSってどうやって起動するの?ということについて、まとめていきたいと思います。

 

OSが起動する仕組み

OSの起動の仕方は、フロッピーとHDDの場合では若干異なりますが、今回はフロッピーの場合について以下の図を使って説明したいと思います。

左側のシーケンス図に従って、OSが起動します。右側のBIOSとフロッピーの図はその補足です。

 

 

①電源ON

  • PCの電源を入れます。

②BIOS起動

  • PCが起動するとBIOSが起動します。
  • BIOSは周辺機器の初期化などの処理(Power On Self Test; POST)を行います。
  • そしてPCに接続されたドライブ(フロッピーやHDDなど)の中から起動ドライブを選択します。

③ブートセクタのロード

  • BIOSは選択したドライブの先頭セクタをロードします。
  • この先頭セクタのことを、フロッピーではブートセクタと呼びます。
  • BIOSがブートセクタを読み込み、ブートセクタのプログラム(Initial Program Loder; IPL)を呼び出します。

④システムファイルのロード

  • IPLはOSのシステムファイルを読み込みます。

⑤OS起動

  • ④によりIPLがOSを呼び出し、OSが起動します。

 

用語

BIOS:

 Basic Input Output System; BIOSはPCのマザーボードに組み込まれた最も低レベルな入出力をサポートするファームウェアです。

 今回は実際のPCではなく仮想マシンを利用しているので、仮想マシン上のBIOSを用いています。

セクタ:

 コンピュータがフロッピーディスクを読み込む際の最小単位がセクタです。(1セクタ=512バイト)

システムファイル:

 OS本体の処理が記述されたファイルのこと

 

まとめ

今回はフロッピーディスクからOSを起動する仕組みについてまとめました。

  1. 電源ON
  2. BIOS起動
  3. ブートセクタのロード
  4. システムファイルのロード
  5. OS起動

次回以降は、OSのシステムファイルを作成しつつ、詰まったところ、理解に苦しんだところなどをまとめていけたらと思います。

最後までお読みいただきありがとうございます。ではまた。

 

 

アバター画像
About 藤原 6 Articles
文教向け案件を主に担当。ID管理、SSOを中心にインフラ構築からWebアプリ開発など幅広く業務を行っています。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる