Linuxカーネルコミッタの夢を見る

10年以内にLinuxカーネルにコミットしたい(2020/10/1).無理だって?まあ見てなさい.

勉強

低レイヤー学習記【19日目】

取り組んだ内容 OS自作入門,pp.312-335 Linux2.0 カーネルブック,pp.1-32 Linuxカーネルの教科書,pp.1-91 取り組んだ内容の詳細 OS自作入門 タスク管理を自動化するためにタスクの初期化関数や構造体を定義.タスク割り当てと実行が簡単になった 時間を無…

低レイヤー学習記【18日目】

取り組んだ内容 OS自作入門,pp.290-311 Flask ~web development, one drop at a time~, Tutorial.1-3 取り組んだ内容の詳細 OS自作入門 2つ分のTSS(task state segment)を作成し,セグメンテーション導入の時に作ったGDTに登録 アセンブリでタスクスイッチ…

低レイヤー学習記【17日目】

取り組んだ内容 OS自作入門,pp.282-289 取り組んだ内容の詳細 今までキーボードを打鍵すると対応するキーコードが出力されていたが,このキーコードをもとに対応する文字を描画するように変更した 矩形描画関数を使ってテキストボックスを描画し,カーソル…

低レイヤー学習記【16日目】

取り組んだ内容 OS自作入門,pp.271-281 取り組んだ内容の詳細 昨日取り組んだタイマ性能の改良効果があったのか確認した,改良前と後では微々たる差しかなかったが割り込み処理の高速化という観点から見ると充分らしい VBE(VESA BIOS Extensio)を使って画…

低レイヤー学習記【15日目】

取り組んだ内容 [1] OS自作入門,pp.250-266 [2] コンピュータアーキテクチャの基礎,pp.264-282 取り組んだ内容の詳細 [1] OS自作入門 ・背景色とフォントの描画,そして画面更新を一つの関数にまとめて起動用プログラムの行数をリダクション ・タイマー用…

低レイヤー学習記【14日目】

取り組んだ内容 [1] OS自作入門,pp.231-249 [2] オペレーティングシステム ~設計と理論およびMINIXによる実装~,pp. 取り組んだ内容の詳細 [1] OS自作入門 ・タイマを扱うためにPITの設定を行った,IRQ0につながれたPITに対して10msごとに割り込みを行うよ…

低レイヤー学習記【13日目】

取り組んだ内容 [1] OS自作入門,pp.222-230 [2] オペレーティングシステム ~設計と理論およびMINIXによる実装~,pp.1-22 [3] AtCoder 取り組んだ内容の詳細 [1] OS自作入門 ・カウンタを実装した ・具体的には,ウィンドウ描画関数の上にフォントを描画し,…

低レイヤー学習記【12日目】

取り組んだ内容 ・OS自作入門,pp.213-221 取り組んだ内容の詳細 ・マウスカーソルが画面の外に移動したときの処理を加えた,座標の更新制限を少し変更し,マウスカーソルが画面外に出ようとする場合は更新値を一定にすることで実現 ・これまで作ってきた矩…

低レイヤー学習記【11日目】

取り組んだ内容 ・OS自作入門,pp.194-213 取り組んだ内容の詳細 ・引き続きメモリ管理,これまで1byte単位で管理していたメモリを0x1000バイト単位で管理するように変更,これによって連続しない小さな空きメモリを減らすことができる ・アプリケーションな…

低レイヤー学習記【10日目】

取り組んだ内容 ・OS自作入門,pp.175-193 取り組んだ内容の詳細 ・キーボードやマウスからの信号受け取りやハンドラの設定によってソースファイルが大きくなりすぎたため,分割した ・メモリチェックを行った,キャッシュを停止することでメモリ操作が維持…

低レイヤー学習記【9日目】

取り組んだ内容 ・OS自作入門,pp.166-174 取り組んだ内容の詳細 ・今日取り組んだ部分はコーディンではなく過去の実装で充分に説明されていなかった部分の説明を読んだかんじ ・PICの初期化前にすべての割り込みを受け付けないようにしたり,メモリの全領域…

低レイヤー学習記【8日目】

取り組んだ内容 ・OS自作入門,pp.157-165 取り組んだ内容の詳細 ・マウスから送られてくるデータを解読した,具体的には最初に送られてくるデータ(0xfa)を読み捨てて以降のデータを3つのフェーズに分けて受信し,それぞれをバッファに保存する.3つのデー…

低レイヤー学習記【7日目】

取り組んだ内容 ・OS自作開発,pp.137-156 取り組んだ内容の詳細 ・キー入力を連続して受け取れるようにした,具体的にはキー入力を受け付ける割り込みハンドラ関数について,IRQ1受付を完了を通知した後に入力されたキーを画面出力,その後HLT(停止)せず…

低レイヤー学習記【6日目】

取り組んだ内容 ・OS自作入門,pp.115-136 取り組んだ内容の詳細 ・GDTとIDTの設定を完了した,具体的にはそれぞれの構造体を用意しセグメントの大きさ,開始番地,管理用属性を保持するようにした ・リミットと番地を指定するにはGDTRというレジスタを操作…

低レイヤー学習記【5日目】

取り組んだ内容 [1] OS自作入門,pp.96-114 [2] 低レイヤを知りたい人のためのCコンパイラ作成入門,step.3-6 取り組んだ内容の詳細 [1] OS自作入門 ・構造体を導入し,アセンブリ側でメモした画面表示に関するメモリ情報をポインタを介して受け取るようにし…

低レイヤー学習記【4日目】

取り組んだ内容 [1] OS自作入門,pp.69-95 [2] 低レイヤーを知りたい人のためのCコンパイラ作成入門,step.1-2 [3] コンピュータアーキテクチャの基礎,pp.246-264 取り組んだ内容の詳細 [1] OS自作入門 ・アセンブリ側で画面描画のための関数を定義,これを…

低レイヤー学習記【3日目】

取り組んだ内容 ・OS自作入門, pp.48-68 取り組んだ内容の詳細 ・昨日に引き続きBIOSプログラムを呼び出す複数の処理を加えた ・フロッピーディスクの内容を読み出し,メモリへ移した ・画面モードを変更することで8bitカラーモードにした ・アセンブラソー…

低レイヤー学習記【2日目】

取り組んだ内容 ・OS自作入門, pp.30-47 取り組んだ内容の詳細 ・イメージファイルを生成するアセンブラソースを変更し,文字出力を行った ・MOV命令などを使ってレジスタを操作しBIOSプログラムを呼び出すことでキャラクター出力(文字出力)した ・どのBIO…

低レイヤー学習記【1日目】

取り組んだ内容 ・OS自作入門, pp.1-29 取り組んだ内容の詳細 ・バイナリエディタを使ってごく簡単なOSのイメージファイルを作成し,エミュレータ上で起動することを確認 ・上記のイメージファイルと同様のものを生成するアセンブラのソースプログラム作成の…

低レイヤー学習記【0日目】

情報系の大学院に在籍している者です。 2020年2月に就職活動を終え、これから研究やその他の活動にも精力的に取り組もうと考えていた矢先、コロナウィルスによる外出自粛や学校閉鎖でやる気を削がれてしまい、日々をだらだらと過ごして気が付けば修士二年の1…