オペレーティングシステム 作成

オペレーティングシステム
作成
T21R003 荏原 寛太
目的

オペレーティングシステム(OS)を実際に
作ってみて、どのようにしてコンピュー
タが動いているかを理解する。

C言語とアセンブリ言語を用いて作成する。
プログラミング技術の上達を目的とする。
日本語表示への対応
このOSではtypeコマンドが使用できる。
typeコマンドとは、ファイル名を指定して実行すると、
そのファイルの内容を表示してくれるものである。

日本語に対応していな
いので、日本語で書か
れたテキストファイル
は文字化けする

JISの規格では、日本語の文字コードは点、区、
面という単位で定義されている。一つの点が一
文字に対応しており、一つの区には94の点が、
一つの面には94の区がある。図のような
94 * 94の二次元的な表である
区点を使って日本語を表示するために、まず
1区から47区までの文字のデータが含まれてい
るフォントデータを用意して(容量の都合上47区
まで)。これを、OSの起動と同時にメモリ上に展
開しておく。
 シフトJISの文字コードでは、1バイト目に区番号
が、2バイト目に点番号が書いてあるので、これ
をそれぞれ取り出す。この区、点番号からフォ
ントデータが格納されているメモリ番地を計算
するには、以下の式を使う。
番地 = (区番号-1) × 点の個数(94) + (点番号-1)


例えば、2区13点の文字データがある番地
は
1 * 94 + 12 = 106番地となる。
アプリケーションの作成

次に、四則演算・シフト演算・ビット演算が可
能なコンソールで動作する電卓を作成した。
インベーダゲーム
テキストビューア
まとめ
プログラムを作っていく過程で、スタック・
キューなどのデータ構造を理解した。
 キーボード・マウスの割り込みハンドラ作成
メモリのセグメント方式による管理
ファイル操作・ウィンドウ作成などの各種API
の作成を行った。
