LoginSignup
30

More than 1 year has passed since last update.

自作OSを始める時に役立つ資料

Last updated at Posted at 2022-12-29




30日でできる! OS自作入門



ゼロからのOS自作入門動画はこちら

※UEFIだし、丁寧に説明されてるしで自作OSを勉強したいって人は決定版のような気がする。
 作者さんは、下記の動画も見れるようにしてくれてるしもう買うしかねえ って感じ。

現代的な開発ツールや手法を学ぶ
自作OS 東京工業大学 システム開発プロジェクト
uchan C++ 講習会

環境構築

全日程ソース同梱、各日付にcdしてmake run
Codespacesはweb上で完結

Codespaces
devcontainer



上記の本を買うのが一番ですが、補助的に有益なリンクを集める予定です。





知識が無さ過ぎてわからんわ..

みんな最初はそうで、いつ知るかだけの違い ドンマイ


キタミ式イラストIT塾 基本情報技術者 中古
ゆるーい感じでおすすめ。試験を受けないなら数年前の版でもOK

ある程度わかってきたら
実用的じゃないけど入門にはピッタリのCASLでアセンブラ体験

プログラミングテキスト COMETⅡ & CASLⅡ

本の方が丁寧に教えてくれるので上記で無理なら
プログラミング入門 CASL2 もちろん中古

問題を解きまくる
最強のCASL2/COMET2環境
基本情報技術者試験 CASL過去問

アセンブラをおすすめする理由はバイナリを読み込んで、各レジスタがどう動いているか?
を意識出来るようにです。

ある程度CASLが出来るようになると
ファミコンのエミュレータを作成できる下地は出来ています。
エミュレータ??じゃねえよ!自作OSだよ!おっさん頼むぜ!と思うかもしれないですが..

自作エミュレータで学ぶx86 の作者さんがゼロからのOS自作入門
を出されてる事からも、CPUの知識を要するエミュレータ作成は、OS自作につながる下地を作ってくれると思います。


*ファミコンが難しいと感じたらCHIP8がおすすめです。
CHIP-8 & Golang でエミュレータ作成入門してみた
CHIP-8エミュレータ



C/C++の知識はこちらの動画で

それと
現代的な開発ツールや手法を学ぶ



後は.. 楽しいと感じるかだと思います。





gcc, make, cmake, その他..

gcc コンパイルオプション備忘録

Makefileの解説

いまさら人に聞けないmake入門

CMakeを使ってビルドする
cmakeはmakeでいいなら必須ではないです

clangd
超便利であって必須ではないです。

clang-format
超便利であって必須ではないです。



いやもうそんなんええねん

「ググって設定を見に来たのに、歴史から始まってインストールを長々説明してる、殆ど情報ないページ多すぎ。
はよC++始めたい。おっさん頼むわ」



OK
C++で構文チェック、フォーマッタ、ビルド環境、拡張と一通り整ったdevcontainer

vscodeでコンテナを開けばC++開発
最初にdevcontainerで開いたらbuildフォルダないしF7押して。cmakeの設定してくれるし
ステータスバーのbuildでもええで




「そのうちGUIアプリも作りたいねん。おっさん頼むわ」


OK
devcontainerでC++ Qt5, GTK4, SDL2 でGUIアプリ開発




「そのうちRust.. おっさん頼むわ」


OK 色々あんで
devcontainerで簡単に言語入門




「clang, gcc?どっちがええの?」

う〜ん 何となくのイメージは

clang  大都市の高いビルに住んでるパリピ。飲んでる水はエビアン

GCC 叩き上げの歴戦のおっさんで、人との交流はちょっと勘弁。飲んでる水は大阪淀川の浄水された水道水

って感じ。それとクランって聞くと、 あーハイジの友達の車椅子の..
っていつもクララ思い出すわ。まあ3文字中2文字一緒やったら、もう殆ど一緒や。そんなんでええねん。





Web上での開発

xv6
xv6-riscv
linux-0.01
linux-0.11
はりぼてOS

GUIはブラウザで確認

Github Codespaces





30日でできる! OS自作入門

開発環境

Web上での開発環境

ローカルなUbuntu 22.04


ブログ

30 日 OS 自作入門 (Win)

自作 OS に挑戦する日記

『30 日でできる!OS 自作入門』のメモ

サラリーマンがハッカーを真剣に目指す

【はてな】ガットポンポコ

「30日でできる!OS自作入門」をRustで

メモ:「30日でできる!OS自作入門 」






全般

0から作るソフトウェア開発

1から創る自作OS 0x00+

Advent Calendar 2018:OS 自作

フルスクラッチで作る!x86_64 自作 OS

OS を書く:初歩から一歩ずつ

OS を自作してみる

技術 / 歴史

osdev.info

Operating System Development Series (DeepL訳) 気が向いたら校正するかも...

Writing an OS in Rust






Linux

Linux JF (Japanese FAQ) Project.

The Linux Kernel

Linux Insides : カーネル起動プロセス part1

LFS (linux フロム スクラッチ)

@IT Linux & OSS

Linux 学習ロードマップ

Linuxカーネルメモ

linux-0.01

linux-0.11






xv6

xv6-x86

xv6のブートプロセスめも 32bit-modeになるまで

xv6 のブートローダーを読む

Xv6 を読む~ OS コードリーディング~ ① はじめに

xv6ソースコードリーディング

xv6OSを真面目に読みこんでカーネルを完全に理解する

risc-v

xv6-riscv

和訳された教科書






BSD

OpenBSD kernel hack memo






CPU

Intel 8086 CPU 基礎

はじめて読む486の要約

リアルモードからプロテクトモードへの変更

エンジニアなら知っておきたい仮想マシンのしくみ

インテル デベロッパーズ・マニュアル、上巻

インテル デベロッパーズ・マニュアル、中巻 A

インテル デベロッパーズ・マニュアル、中巻 B

デベロッパーズ・マニュアル、下巻






ブート

Rust で vmlinux を起動できる x86 ブートローダーを作ってみた話


BIOS

簡易的なOS自作



UEFI

ブートローダーは4行で実装される

フルスクラッチで作る!UEFIベアメタルプログラミング

フルスクラッチで作る!UEFIベアメタルプログラミング パート2

フルスクラッチで作る!UEFIベアメタルプログラミング サンプルプログラム

EDK II で UEFI アプリケーションを作る

gnu-efiでUEFI遊びをはじめよう

Raspberry Piを使ったUEFIのお勉強:導入編






メモリ管理

自作OSのから見たメモリ管理概論






Youtube

現代的な開発ツールや手法を学ぶ

自作OS 東京工業大学 システム開発プロジェクト

uchan C++ 講習会

osdev-jp

低レイヤーガール


英語

Write your own Operating System

nanobyte

How to Make an OS


















Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30