UEFIベアメタルプログラミング - マルチコアを制御する

UEFIベアメタルプログラミング - Hello UEFI!(ベアメタルプログラミングの流れについて) - へにゃぺんて@日々勉強のまとめ
こちらの記事の続きです。

UEFIでマルチコアを扱う方法が分かったので、
この記事ではその方法をまとめてみます。

続きを読む

UEFIベアメタルプログラミング - Hello UEFI!(ベアメタルプログラミングの流れについて)

わんくま同盟 札幌勉強会 #1OSC 2017 Tokyo/SpringのLTでは発表していましたが、
最近、自作OSをUEFI+x86_64でやるために、まずはUEFIの勉強をしています。


UEFIの勉強として、UEFIの機能を呼び出すプログラム(UEFIアプリケーション)を、
EDK2やgnu-efiといった開発環境やツールキットを使わずにフルスクラッチで作ってみています。


■ Bare Metal Samples (UEFI application) - GitHub


今回は最初の記事として、Hello worldプログラムを作りながら、ベアメタルプログラミングの流れを説明します。

続きを読む

技術書典2で同人誌を出します!

お知らせです。


4/9(日)に秋葉原UDX 2Fのアキバ・スクエアで開催される
技術書典2」という技術書限定の同人誌即売会で、
OS5の同人誌を出します!

配置は「え-15」で、
サークル紹介ページはこちらです。

続きを読む

ファイルシステムでマルチブロックに対応しました

自作OS(OS5)の紹介とユーザーランド周りの機能追加について - へにゃぺんて@日々勉強のまとめ
こちらの記事の続きで、自作OS(OS5)のアップデートについてです。


今回はファイルシステムでマルチブロックに対応しました。
これまで、ファイルシステムの仕様上、各ファイルには「ブロックサイズ(4KB)以下」の制限がありました。
マルチブロックに対応したので、今後、この制限は無くなります。


コミット数としては11コミットと、いつものアップデートに比べるとコミット数は少ないですが、
カーネル周りについては一段落ついたかなというとことで、この段階でリリースします。

続きを読む

chrootとunshareを使い、シェル上でコマンド7つで簡易コンテナ

コンテナ型仮想化であるDockerは、様々な名前空間の分離やcgroupなどのLinuxの機能を使用して実現されています。


ここでは、簡易的に機能を「ルートディレクトリとPID名前空間も分離されている」と限定し、シェル上で7つのコマンドでコンテナを立ち上げてみます。


最終的な目標は、立ち上げたコンテナ上でpsを実行し、以下のようにPIDが1から割り振られていることを確認することです。

bash-4.3# ps
  PID TTY          TIME CMD
    1 pts/1    00:00:00 bash
    7 pts/1    00:00:00 ps
bash-4.3#
続きを読む

自作OS(OS5)の紹介とユーザーランド周りの機能追加について

本記事は、「自作OS Advent Calendar 2016 - Adventar」の12/13(火)の記事です。


自作OS(OS5)について改めての紹介と、今回のリリースで追加した機能の紹介です。

続きを読む