過程が大事

学んだことを適当にアウトプットします

OS自作

Mikan OSを自作してみる #11

今回やった内容 ソースコードの理解がなかなか大変なのでC言語の基礎を学習した サンプルコードを書き、コメントアウトで解説を加える (コードその1) データ型、文字列 # include <stdio.h> // 標準入出力を行うためのヘッダーファイルを取り込む /* データ型 int(整</stdio.h>…

Mikan OSを自作してみる #10

今回やったこと ソースコードの理解 文字の表示まで出来たが、コードをしっかりと見ていなかったので理解してみる。 解説 は「//」 /** * @file main.cpp * * カーネル本体のプログラムを書いたファイル. */ // includeはファイルの挿入する命令 //例. #inc…

Mikan OSを自作してみる #9

今日やった内容 以下の用語の理解 * ユーザモードとカーネルモードと仮想アドレス * システムコール * コンテキストスイッチ * ファイルシステム 用語解説 <ユーザモード> 管理者権限なしで命令する OS上でプログラムが起動された場合はOSの管理下で、メモリ…

Mikan OSを自作してみる #8

今日やった内容 makeツールの理解 makeについて <makeとは> コンパイルやリンクなどの作業を自動化するツール <makeの使い方> 1. Makefileを作る 2. コマンドラインでMakefileを作成したディレクトリでmakeコマンドを実行する Makefileの説明 qiita.com (例) 以下のhello.cファイルを</makeの使い方></makeとは>…

Mikan OSを自作してみる (メモ)

一度biuildが成功して他のやつをbuildしようとするとエラーが出るため以下を実行する。 $ cd $HOME/edk2 $ rm -rf Build $ build 写経なしの実行方法(大体この手順) $ cd ~/workspace/mikanos/ $ git checkout osbook_day** $ cd kernel # buildenv.shはビル…

Mikan OSを自作してみる #7

今日やった内容 レジスタとアセンブリについて学んだ ※アセンブリはコードのこと、アセンブラはそのコードを翻訳するプログラムやソフトウェアのこと 学習記録 <レジスタとは> レジスタはCPUに内蔵された記憶領域である。CPUの外部にあるメインメモリとは役…

Mikan OSを自作してみる #6

今回やった内容 メモリマップについて学んだ ポインタについて学んだ メモリマップとは メモリマップとはメインメモリのどの部分がどの用途で行われているかが載っている地図のこと (メインメモリは揮発性のRAMであり、作業領域のイメージ ) メモリマップの…

Mikan OSを自作してみる #5

今回やった内容 メモリマップについて学んだ ポインタについて学んだ メモリマップとは メモリマップとはメインメモリのどの部分がどの用途で行われているかが載っている地図のこと (メインメモリは揮発性のRAMであり、作業領域のイメージ ) メモリマップの…

Mikan OSを自作してみる #4

今回やった内容 EDK2について学んだ ビルド環境の構築を行なった 学習記録 EDK2 <EDK2とは> はUEFI BIOS自体の開発とUEFI BIOS 上で動くアプリケーションの開発にも使うことができる開発キットである。 <EDK2のファイル構造> edk2/ edksetup.sh 環境変数設定用スクリプト Build/ ビルドの成</edk2のファイル構造></edk2とは>…

Mikan OSを自作してみる #3

今回やった内容 OSを使わずに起動して「Hello World!」を表示させた ブートローダーについて <ブートローダーとは> OSをメインメモリに読み込み起動させるプログラムのことである <必要な理由> パソコンには実行するプログラムはメインメモリに配置しなけれ…

Mikan OSを自作してみる #2

OS自作ではlixnuコマンドを多用するので今回はコマンドの復習をします。 ファイルの基本操作 ディレクトリの作成 ディレクトリを作成する mkdirを使う mkdir 作成するディレクトリのパス ~/Desktopにtestディレクトリを作成する $ mkdir ~/Desktop/test ディ…

Mikan OSを自作してみる #1

「ゼロからの OS 自作入門」を読んで分かったことや進捗を記事に書きます。 環境 ・開発PC : MacBook Pro((13-inch, 2017, Two Thunderbolt 3 ports)上でUbuntu 20.04.1LST ・検証PC: Windows10の予定 参考本: ゼロからの OS 自作入門 | ゼロからのOS自作入…