卒業研究、基礎から再出発
はじめに
初めまして、私は2024年4月に新卒で入社しました、豊田聖斗と申します。
初のブログ作成なので、何かおかしなところや違和感が生じるところがあるかもしれません。
暖かく見守っていただけますと幸いです!!
まずは、自己紹介から・・・
- 名前:豊田 聖斗(とよだ まさと)
”せいと”さんと呼ばれることがあります - 趣味:アニメや寝ること
親の影響もあって世代ではないアニメ(アイシールド21やミスター味っ子)
や直近のアニメ(葬送のフリーレンや治癒魔法の間違った使い方)を見たりしていて、様々なものを見ています。 - 出身:愛知県
愛知県の中でも地域によっては東よりな特徴、西よりな特徴がいるので、文化が混ざっているので、面白い県だと思います
今回は、学生時代に行った、グループで行った卒業研究についてお話していきたいと思います
卒業研究・・・
制作経緯
私たちは、普段当たり前のように、プログラミング言語を用いて開発や調べものをしています。
その動作を行う上での当たり前に行われている機能、
すなわち、画面の描画はどのように行われているのか?や表示画面に文字出力の仕方などを
一から学びなおそうと目標が生まれました。
私たちは、OS(カーネル)を作成しようと決まりました。
OSを実装をするために学習していくうちに、様々なことを行っていることを知りました。
- CPUは、メモリから命令を読みだして、その命令によって、演算・入出力・分岐を行うだけなもの
- タスクという作業単位に分けて、そのタスク自体に一定の権限を付与して、PC内のリソースを操作できるようにする
- デバイスはCPU直結ではないが、そのデバイスのメモリアドレスを指定することでアクセスできる
など
使用ツール
OS開発するために使用したものを紹介します。
- C
開発言語 - VSCode
使用エディタ - GNU
OSのビルド - QEMU
デバックするためにエミュレータを使用
実装できた機能
卒業研究で実装した機能について紹介します。
- カーネルイメージの読み込み
OSの本体を読み込み - 画面の描画
フォントのデータや画像ファイルを用意して、画面上に文字出力したり、画像出力をします - 物理メモリ管理
メモリ管理用のメモリ領域を確保して行う
・画面描画
・文字出力
まとめ
カーネルとして、完成はできませんでしたが、普段知ることのない土台の部分をしっかりと学ぶという目的は達成できたように感じます。今まで気付きもしなかったものに気づくことが出来たので、基礎を学習する大切さを知ることが出来ました。
色々勉強して損はなし、楽しみながら学んでいきましょう~