Advent

4/7ページ

OS自作入門 -Advent32-

Step9 優先度スケジューリング 前半戦 step8にてスレッドの実装が完了した。これまでの方式は「ラウンドロビン方式」でありキューを使ったFIFOの仕組みで動作している。これを優先度をつけたスレッドにして優先度順にスレッドを実行するようにしていこう。 優先度ベースのスケジューリング スレッドのス […]

OS自作入門 -Advent31-

Step8 スレッドを実装する 最終戦 引き続き残りのスレッド管理周りを実装していくことにしよう。 OSの実装(続き) 組み込みハンドラの登録 kozos.cの続きに組込みハンドラを実装していく。KOZOSはソフトウェア・割込みベクタに対するハンドラをhandlers[]という配列に持っており、割込 […]

OS自作入門 -Advent30-

Step8 スレッドを実装する 延長戦 Step8 後半戦から実装を進めており、OS本体の実装から再開する。スレッド管理とシステムコールの受付、割込み処理を行なっていくことになる。 OSの実装 スレッド管理 作成したkozos.cを置いておく。 簡単に説明を加えていくと、まず3つの構造体が定義されて […]

OS自作入門 -Advent29-

Step8 スレッドを実装する 後半戦 Step8 前半戦でスレッドのアレコレを学んだ。ビジーループでポーリング的な処理を行うと、処理が止まってしまったり、他のアプリケーションの動きを考慮した実装を行わないといけなくなるためよろしくない。そこで割込みドリブンでCPUが各処理に割り当てられて実行される […]

OS自作入門 -Advent28-

Step8 スレッドを実装する 前半戦 さて、今日からスレッドの実装を行う。これまでは確かに1プロセスで動作しており、複数個の処理を並行して実行することはできないようになっている。これだとちょっと待ちがありすぎて実際には使いもんにならん。ということでスレッドを実装する話。合わせて「システム・コール」 […]

OS自作入門 -Advent27-

Step7 割り込み処理を実装する 最終戦 しばらく空いてしまいましたが、step7の最後のポストになりそうです。これまででブートローダへの割込みハンドラの実装を行なってきました。あとは割込みベクタの修正を行い、 割込みハンドラの設定 vector.cの修正 vector.cのようになる。もともとは […]

祝!アドベントカレンダー完走

お祝いランチ 26日間(何故か1日多いw)無事にアドベントカレンダーを完走したので、お祝いランチ。 品川駅港南口を出て右側にあるビル群の中。 年末年始休暇の会社もあるのか、いつもより人は少なめで、落ち着いた雰囲気のアロマクラシコに行ってきました。 通された席は大きな窓のある窓側の席。 ビル群の中庭が […]

OS自作入門 -Advent26-

Step7 割り込み処理を実装する 後半戦 step7の中盤戦の最後の方でソフトウェア割込みベクタの話があり、RAM領域の先頭の方にsoftvec領域を用意し、ここに対して割込みハンドラのポインタを配置できるようになればよい。続きの実装をしていこう。 ブートローダに割込みハンドラを実装する 割込みハ […]

OS自作入門 -Advent25-

Step7 割り込み処理を実装する 中盤戦 step7の前半戦では一般的な割込み処理について学んだ。なんとなく理解したような気がする。割込みを受け付けることができる特別なピンがCPUにあり、そこに対して各種コントローラが割込み用出力ピン経由で電圧をかけてキックすることになる。割込みが発生したことを検 […]

英語の勉強「behind」-Advent24-

今日は「behind」 まえがき 英語の勉強や鳥が英語で話しているのを聞いている時、印象に残ったり、気になった事を改めて調べたメモです。 なので、間違っていたら、こっそりやさしく教えてくださいw クリスマスなので、、、 まだシーズン1をひたすら繰り返し見ているだけなのですが、昔の海外ドラマ「フレンズ […]

1 4 7