フルスクラッチ自作OS(OS5)の紹介

フルスクラッチ自作OS(OS5)の紹介
大神 祐真
yuma@ohgami.jp
2016/12/10
2016/12/10 大神 祐真 (yuma.ohgami.jp) 2
自己紹介
● 大神 祐真
– http://yuma.ohgami.jp
● 組み込み系のエンジニア
– Linux
– C言語、アセンブラ(ARM)
● 趣味
– フルスクラッチでOS自作
2016/12/10 大神 祐真 (yuma.ohgami.jp) 3
自己紹介
● 大神 祐真
– http://yuma.ohgami.jp
● 組み込み系のエンジニア
– Linux
– C言語、アセンブラ(ARM)
● 趣味
– フルスクラッチでOS自作
2016/12/10 大神 祐真 (yuma.ohgami.jp) 4
自己紹介
● 大神 祐真
– http://yuma.ohgami.jp
● 組み込み系のエンジニア
– Linux
– C言語、アセンブラ(ARM)
● 趣味
– フルスクラッチでOS自作
だったのですが
2016/12/10 大神 祐真 (yuma.ohgami.jp) 5
自己紹介
● 大神 祐真
– http://yuma.ohgami.jp
● 組み込み系のエンジニア
– Linux
– C言語、アセンブラ(ARM)
● 趣味
– フルスクラッチでOS自作
だったのですが
本社
営業所
12/1から
異動で
技術営業に
2016/12/10 大神 祐真 (yuma.ohgami.jp) 6
● 大神 祐真
– http://yuma.ohgami.jp
● 組み込み系のエンジニア
– Linux
– C言語、アセンブラ(ARM)
● 趣味
– フルスクラッチでOS自作
本題
2016/12/10 大神 祐真 (yuma.ohgami.jp) 7
デモ
●
何はともあれ、どんなものなのか、
動作をご覧ください
2016/12/10 大神 祐真 (yuma.ohgami.jp) 8
OS5カーネルのアーキテクチャ
カーネル
時間
管理
ファイルシステム
システムコール
デバイスドライバ
アプリ shell uptime
コンソール
CPU メモリ KBC CRTCPIT
:機能の呼び出し関係
タスク管理
スケジューラ
タスクローダ
メモリ管理
ページング
メモリアロケータ
ソ
フ
ト
ハ
ー
ド
2016/12/10 大神 祐真 (yuma.ohgami.jp) 9
whoareyou.c
2016/12/10 大神 祐真 (yuma.ohgami.jp) 10
規模
【方針】 まずはシンプルに
2016/12/10 大神 祐真 (yuma.ohgami.jp) 11
規模
ブートローダー
カーネル
ユーザーランド
253行
2057行
535行
【方針】 まずはシンプルに
ソースコード行数(アセンブラとCの行数)
※ 2016/12/10 現在のmasterブランチ
2016/12/10 大神 祐真 (yuma.ohgami.jp) 12
ご清聴、
ありがとうございました!
1 of 12

Recommended

【シェル芸】コマンド7つで簡易コンテナ by
【シェル芸】コマンド7つで簡易コンテナ【シェル芸】コマンド7つで簡易コンテナ
【シェル芸】コマンド7つで簡易コンテナYuma Ohgami
935 views19 slides
【2000行弱!】x86用自作カーネルの紹介 by
【2000行弱!】x86用自作カーネルの紹介【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介Yuma Ohgami
8.2K views286 slides
QEMUでARM64bitベアメタルプログラミング by
QEMUでARM64bitベアメタルプログラミングQEMUでARM64bitベアメタルプログラミング
QEMUでARM64bitベアメタルプログラミングYuma Ohgami
3.8K views20 slides
ロボットシステム学2015年第7回 by
ロボットシステム学2015年第7回ロボットシステム学2015年第7回
ロボットシステム学2015年第7回Ryuichi Ueda
5.9K views22 slides
私とMS-DOS by
私とMS-DOS私とMS-DOS
私とMS-DOSMitsunori Satomi
369 views17 slides
ロボットシステム学2015年第13回 by
ロボットシステム学2015年第13回ロボットシステム学2015年第13回
ロボットシステム学2015年第13回Ryuichi Ueda
3.5K views18 slides

More Related Content

What's hot

Kernel vm13lt by
Kernel vm13ltKernel vm13lt
Kernel vm13ltslankdev
638 views20 slides
ロボットシステム学2015年第5回 by
ロボットシステム学2015年第5回ロボットシステム学2015年第5回
ロボットシステム学2015年第5回Ryuichi Ueda
7.6K views39 slides
ロボットシステム学2015年第6回 by
ロボットシステム学2015年第6回ロボットシステム学2015年第6回
ロボットシステム学2015年第6回Ryuichi Ueda
6.8K views28 slides
Iron rubyとsinatraで作るデスクトップアプリ by
Iron rubyとsinatraで作るデスクトップアプリIron rubyとsinatraで作るデスクトップアプリ
Iron rubyとsinatraで作るデスクトップアプリYamamoto Kazuhisa
1.3K views20 slides
EeePC901AにDebian導入 by
EeePC901AにDebian導入EeePC901AにDebian導入
EeePC901AにDebian導入Kenichiro MATOHARA
377 views11 slides
これから Raspberry Pi をいじる方向けの資料 20130818版 by
これから Raspberry Pi をいじる方向けの資料 20130818版これから Raspberry Pi をいじる方向けの資料 20130818版
これから Raspberry Pi をいじる方向けの資料 20130818版Michiya Tominaga
41.3K views51 slides

What's hot(8)

Kernel vm13lt by slankdev
Kernel vm13ltKernel vm13lt
Kernel vm13lt
slankdev638 views
ロボットシステム学2015年第5回 by Ryuichi Ueda
ロボットシステム学2015年第5回ロボットシステム学2015年第5回
ロボットシステム学2015年第5回
Ryuichi Ueda7.6K views
ロボットシステム学2015年第6回 by Ryuichi Ueda
ロボットシステム学2015年第6回ロボットシステム学2015年第6回
ロボットシステム学2015年第6回
Ryuichi Ueda6.8K views
Iron rubyとsinatraで作るデスクトップアプリ by Yamamoto Kazuhisa
Iron rubyとsinatraで作るデスクトップアプリIron rubyとsinatraで作るデスクトップアプリ
Iron rubyとsinatraで作るデスクトップアプリ
Yamamoto Kazuhisa1.3K views
これから Raspberry Pi をいじる方向けの資料 20130818版 by Michiya Tominaga
これから Raspberry Pi をいじる方向けの資料 20130818版これから Raspberry Pi をいじる方向けの資料 20130818版
これから Raspberry Pi をいじる方向けの資料 20130818版
Michiya Tominaga41.3K views
Infra ruby study1 by semind
Infra ruby study1Infra ruby study1
Infra ruby study1
semind706 views
ネタ募集箱を支える技術 開発環境編 by Daisuke Shimada
ネタ募集箱を支える技術 開発環境編ネタ募集箱を支える技術 開発環境編
ネタ募集箱を支える技術 開発環境編
Daisuke Shimada1.3K views

More from Yuma Ohgami

バイナリ生物学でデイジーワールド by
バイナリ生物学でデイジーワールドバイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールドYuma Ohgami
32 views24 slides
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか? by
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?Yuma Ohgami
21 views18 slides
60年代ゲームハードPDP-7のご紹介 by
60年代ゲームハードPDP-7のご紹介60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介Yuma Ohgami
72 views15 slides
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門 by
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門Yuma Ohgami
23 views20 slides
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介 by
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介Yuma Ohgami
25 views6 slides
セガサターンで動く自作シンセサイザーの紹介 by
セガサターンで動く自作シンセサイザーの紹介セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介Yuma Ohgami
265 views29 slides

More from Yuma Ohgami(20)

バイナリ生物学でデイジーワールド by Yuma Ohgami
バイナリ生物学でデイジーワールドバイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールド
Yuma Ohgami32 views
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか? by Yuma Ohgami
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
Yuma Ohgami21 views
60年代ゲームハードPDP-7のご紹介 by Yuma Ohgami
60年代ゲームハードPDP-7のご紹介60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介
Yuma Ohgami72 views
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門 by Yuma Ohgami
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
Yuma Ohgami23 views
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介 by Yuma Ohgami
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
Yuma Ohgami25 views
セガサターンで動く自作シンセサイザーの紹介 by Yuma Ohgami
セガサターンで動く自作シンセサイザーの紹介セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介
Yuma Ohgami265 views
セガサターンマシン語プログラミングの紹介 by Yuma Ohgami
セガサターンマシン語プログラミングの紹介セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介
Yuma Ohgami952 views
ハードの作りで振り返るセガサターン by Yuma Ohgami
ハードの作りで振り返るセガサターンハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターン
Yuma Ohgami588 views
エミュレータのコードを読んでわかるセガサターン by Yuma Ohgami
エミュレータのコードを読んでわかるセガサターンエミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターン
Yuma Ohgami440 views
エミュレータのコードを読んでわかる「セガサターン」 by Yuma Ohgami
エミュレータのコードを読んでわかる「セガサターン」エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」
Yuma Ohgami158 views
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング by Yuma Ohgami
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングシェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
Yuma Ohgami570 views
ゲームボーイ向けOSの作り方 by Yuma Ohgami
ゲームボーイ向けOSの作り方ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方
Yuma Ohgami679 views
メガドラ実機で自作のROMファイルを動かしてみた話 by Yuma Ohgami
メガドラ実機で自作のROMファイルを動かしてみた話メガドラ実機で自作のROMファイルを動かしてみた話
メガドラ実機で自作のROMファイルを動かしてみた話
Yuma Ohgami726 views
/dev/kvmを直接叩いて自作VM by Yuma Ohgami
/dev/kvmを直接叩いて自作VM/dev/kvmを直接叩いて自作VM
/dev/kvmを直接叩いて自作VM
Yuma Ohgami1.1K views
x86_64向け自作OSの紹介 by Yuma Ohgami
x86_64向け自作OSの紹介x86_64向け自作OSの紹介
x86_64向け自作OSの紹介
Yuma Ohgami1.1K views
CybozuのOSS(WalB)へコミットしてみた/使ってみた by Yuma Ohgami
CybozuのOSS(WalB)へコミットしてみた/使ってみたCybozuのOSS(WalB)へコミットしてみた/使ってみた
CybozuのOSS(WalB)へコミットしてみた/使ってみた
Yuma Ohgami946 views
GPD WINでStretchを動かす by Yuma Ohgami
GPD WINでStretchを動かすGPD WINでStretchを動かす
GPD WINでStretchを動かす
Yuma Ohgami413 views
UEFIで始めるLinux From Scratch by Yuma Ohgami
UEFIで始めるLinux From ScratchUEFIで始めるLinux From Scratch
UEFIで始めるLinux From Scratch
Yuma Ohgami1.3K views
UEFI向け自作OSの紹介 by Yuma Ohgami
UEFI向け自作OSの紹介UEFI向け自作OSの紹介
UEFI向け自作OSの紹介
Yuma Ohgami1.5K views
UEFIベアメタルプログラミング by Yuma Ohgami
UEFIベアメタルプログラミングUEFIベアメタルプログラミング
UEFIベアメタルプログラミング
Yuma Ohgami1.5K views

フルスクラッチ自作OS(OS5)の紹介

  • 2. 2016/12/10 大神 祐真 (yuma.ohgami.jp) 2 自己紹介 ● 大神 祐真 – http://yuma.ohgami.jp ● 組み込み系のエンジニア – Linux – C言語、アセンブラ(ARM) ● 趣味 – フルスクラッチでOS自作
  • 3. 2016/12/10 大神 祐真 (yuma.ohgami.jp) 3 自己紹介 ● 大神 祐真 – http://yuma.ohgami.jp ● 組み込み系のエンジニア – Linux – C言語、アセンブラ(ARM) ● 趣味 – フルスクラッチでOS自作
  • 4. 2016/12/10 大神 祐真 (yuma.ohgami.jp) 4 自己紹介 ● 大神 祐真 – http://yuma.ohgami.jp ● 組み込み系のエンジニア – Linux – C言語、アセンブラ(ARM) ● 趣味 – フルスクラッチでOS自作 だったのですが
  • 5. 2016/12/10 大神 祐真 (yuma.ohgami.jp) 5 自己紹介 ● 大神 祐真 – http://yuma.ohgami.jp ● 組み込み系のエンジニア – Linux – C言語、アセンブラ(ARM) ● 趣味 – フルスクラッチでOS自作 だったのですが 本社 営業所 12/1から 異動で 技術営業に
  • 6. 2016/12/10 大神 祐真 (yuma.ohgami.jp) 6 ● 大神 祐真 – http://yuma.ohgami.jp ● 組み込み系のエンジニア – Linux – C言語、アセンブラ(ARM) ● 趣味 – フルスクラッチでOS自作 本題
  • 7. 2016/12/10 大神 祐真 (yuma.ohgami.jp) 7 デモ ● 何はともあれ、どんなものなのか、 動作をご覧ください
  • 8. 2016/12/10 大神 祐真 (yuma.ohgami.jp) 8 OS5カーネルのアーキテクチャ カーネル 時間 管理 ファイルシステム システムコール デバイスドライバ アプリ shell uptime コンソール CPU メモリ KBC CRTCPIT :機能の呼び出し関係 タスク管理 スケジューラ タスクローダ メモリ管理 ページング メモリアロケータ ソ フ ト ハ ー ド
  • 9. 2016/12/10 大神 祐真 (yuma.ohgami.jp) 9 whoareyou.c
  • 10. 2016/12/10 大神 祐真 (yuma.ohgami.jp) 10 規模 【方針】 まずはシンプルに
  • 11. 2016/12/10 大神 祐真 (yuma.ohgami.jp) 11 規模 ブートローダー カーネル ユーザーランド 253行 2057行 535行 【方針】 まずはシンプルに ソースコード行数(アセンブラとCの行数) ※ 2016/12/10 現在のmasterブランチ
  • 12. 2016/12/10 大神 祐真 (yuma.ohgami.jp) 12 ご清聴、 ありがとうございました!