個人用雑記

勉強したことを書いていければなーと

2020-01-01から1年間の記事一覧

自作OS、始まります! #8

キーボード入力の改善 バッファリング対応 さて、#7のハンドラはグローバル変数に格納しており、これはよくないという話をしました。というのも、CPUの処理によっては入力された値を表示する前に次の割り込みが発生し、全ての入力を処理しきれない可能性があ…

自作OS、始まります! #7

割り込みをしたい 前回、ついにローダーが完成していよいよOSの自作が始まったわけで、とりあえずまずはキーボードで入力するところからかなと。 幸いにも文字を描画する部分については#5でもう作っているので、今回やるべきことは割り込みを受け付けるため…

自作OS、始まります! #6

ローダー自作 今になって思えば、ローダーを自作しようと思った時点で沼でした・・・ 結局開始から3週間かかってなんとかローダーとして完成した、という感じです。ただ、とにかく知らない知識が多くて、逆に大量の知識を得ることができました。 メモリマッ…

30日でできる!OS自作入門(Day 13)

タイマの続き 今日もタイマをやるのですが、どちらかというとタイマそのものではなくその裏の割り込み処理とかを改善する、という感じでしたかね・・・ 性能測定 ただコードを改善するだけでは本当にそれが速度も改善で来ているかはわかりません。そこで、実…

自作OS、始まります! #5

始まります OSの自作が さて、いきなりですが今まで書いてきたものは自作OSではありませんでした。(今回も自作OS色はないですが。)言うなればUEFIアプリケーションですかね。 いよいよカーネル部分を書き始めたので、ついにタイトル通りの自作OS、始まります…

30日でできる!OS自作入門(Day 12)

タイマ ついにきましたね、タイマ。 タイマって? timer、時計ですね。一定時間ごとに割り込みを発生させてくれるというとても重要で便利なものです。 このタイマのおかげで非常にたくさんのメリットが生まれます。例えばHLT命令で停止している時でもタイマ…

30日でできる!OS自作入門(Day 11)

ついにウィンドウ らしいです、GUI(というよりはそういう感じの見た目)はやっぱり説得感が全然違いますよね。 の前にマウスの続きをちょっと 昨日まででほとんど完成したマウスでしたが、Windowsなんかではよくやる画面の端ギリギリまでマウスを持っていくや…

自作OS、始まります! #4

続・GUIのようなもの マウスのようなものを作ってみる・・・はずが 晴れて任意の画素に色を付けることができるようになったので、今度は描画したドットをマウスで動かしてみます。なんとUEFIには最初からマウスの移動を取得できるEFI_SIMPLE_POINTER_PROTOCO…

30日でできる!OS自作入門(Day 10)

メモリ管理の続き 確保するメモリのサイズを考える Day 9で実装したセグメントによるメモリ管理では必要なバイト数ちょうどだけ確保して割り当てていました。しかし、これでは例えば数バイト程度のメモリ割り当てが頻繁に行われると、虫食いだらけでどんどん…

自作OS、始まります! #3

GUIっぽいものを作る準備 文字出力→キー入力→矩形描画(=任意のピクセルに色を付ける)という流れを見るとUEFIすごい・・・ってなりますね。 今回使用するプロトコルはEFI_GRAPHICS_OUTPUT_PROTOCOLです。ちなみに自分のミスが原因で3日間修正まで時間がかか…

30日でできる!OS自作入門(Day 9)

メモリ管理 そもそも、セグメント方式 最近作成を始めたUEFIの自作OSの方は、今後メモリ管理を実装する際はページングにしようと思ってるので(ページングを習った時めちゃめちゃ感動したので)セグメントとは結構違う部分も出てきそうなのがネックですね・・…

自作OS、始まります! #2

文字表示の次はいきなりキー入力 30日OSの方では文字を表示させた後、とにかく最初のBIOSが使える状態でしなければいけないことをしていく、という流れでした。しかし、UEFIを使う場合既に32bitないし64bitで動いているため32bitモードへ移行する必要もなく…

自作OS、始まります! #1

はじめに 30日OSのブログでUEFIの勉強も並列して行っていると書いたので、そちらも進捗が出次第ブログにしていきたいなと思い、書き始めました。 ソースコードはGitHub上にあげておきますが、自環境での動作のみ保証しているため、正常に動かない場合があり…

30日でできる!OS自作入門(Day 8)

はじめに 何ですか、これは。 1日進めるために287日かかりました。この間何をしてたかといえば、講義でOSとかアーキテクチャとかいろんなことを学んでいました。満を持してのOS自作本というわけです。ちなみにOSの講義でめっちゃ好きになったのがOS自作では…