SlideShare a Scribd company logo
1 of 12
Download to read offline
フルスクラッチ自作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
ご清聴、
ありがとうございました!

More Related Content

What's hot

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

What's hot (8)

Kernel vm13lt
Kernel vm13ltKernel vm13lt
Kernel vm13lt
 
ロボットシステム学2015年第5回
ロボットシステム学2015年第5回ロボットシステム学2015年第5回
ロボットシステム学2015年第5回
 
ロボットシステム学2015年第6回
ロボットシステム学2015年第6回ロボットシステム学2015年第6回
ロボットシステム学2015年第6回
 
Iron rubyとsinatraで作るデスクトップアプリ
Iron rubyとsinatraで作るデスクトップアプリIron rubyとsinatraで作るデスクトップアプリ
Iron rubyとsinatraで作るデスクトップアプリ
 
EeePC901AにDebian導入
EeePC901AにDebian導入EeePC901AにDebian導入
EeePC901AにDebian導入
 
これから Raspberry Pi をいじる方向けの資料 20130818版
これから Raspberry Pi をいじる方向けの資料 20130818版これから Raspberry Pi をいじる方向けの資料 20130818版
これから Raspberry Pi をいじる方向けの資料 20130818版
 
Infra ruby study1
Infra ruby study1Infra ruby study1
Infra ruby study1
 
ネタ募集箱を支える技術 開発環境編
ネタ募集箱を支える技術 開発環境編ネタ募集箱を支える技術 開発環境編
ネタ募集箱を支える技術 開発環境編
 

More from Yuma Ohgami

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Daisy OSでデイジーワールド!
Daisy OSでデイジーワールド!Daisy OSでデイジーワールド!
Daisy OSでデイジーワールド!Yuma Ohgami
 
バイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールドバイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールドYuma Ohgami
 
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介Yuma Ohgami
 
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?Yuma Ohgami
 
60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介Yuma Ohgami
 
来週の展示内容紹介
来週の展示内容紹介来週の展示内容紹介
来週の展示内容紹介Yuma Ohgami
 
DaisyOS(仮)のご紹介
DaisyOS(仮)のご紹介DaisyOS(仮)のご紹介
DaisyOS(仮)のご紹介Yuma Ohgami
 
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門Yuma Ohgami
 
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門Yuma Ohgami
 
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介Yuma Ohgami
 
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介Yuma Ohgami
 
バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介Yuma Ohgami
 
セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介Yuma Ohgami
 
セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介Yuma Ohgami
 
ハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターンハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターンYuma Ohgami
 
エミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターンエミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターンYuma Ohgami
 
エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」Yuma Ohgami
 
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングシェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングYuma Ohgami
 
ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方Yuma Ohgami
 

More from Yuma Ohgami (20)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Daisy OSでデイジーワールド!
Daisy OSでデイジーワールド!Daisy OSでデイジーワールド!
Daisy OSでデイジーワールド!
 
バイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールドバイナリ生物学でデイジーワールド
バイナリ生物学でデイジーワールド
 
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
 
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
去年「バイナリ生物学」で今年「PDP-7」だったのはなぜなのか?
 
60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介60年代ゲームハードPDP-7のご紹介
60年代ゲームハードPDP-7のご紹介
 
来週の展示内容紹介
来週の展示内容紹介来週の展示内容紹介
来週の展示内容紹介
 
DaisyOS(仮)のご紹介
DaisyOS(仮)のご紹介DaisyOS(仮)のご紹介
DaisyOS(仮)のご紹介
 
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N9] バイナリ生物学入門
 
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
セキュリティ・ネクストキャンプ2022 オンライン [N5] バイナリ生物学入門
 
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
『へにゃぺんて』のこれまでを振り返るブログ記事の紹介
 
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
「へにゃぺんて」のこれまでを振り返るブログ記事の紹介
 
バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介バイナリ生成環境『daisy-tools』のご紹介
バイナリ生成環境『daisy-tools』のご紹介
 
セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介セガサターンで動く自作シンセサイザーの紹介
セガサターンで動く自作シンセサイザーの紹介
 
セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介セガサターンマシン語プログラミングの紹介
セガサターンマシン語プログラミングの紹介
 
ハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターンハードの作りで振り返るセガサターン
ハードの作りで振り返るセガサターン
 
エミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターンエミュレータのコードを読んでわかるセガサターン
エミュレータのコードを読んでわかるセガサターン
 
エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」エミュレータのコードを読んでわかる「セガサターン」
エミュレータのコードを読んでわかる「セガサターン」
 
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングシェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
 
ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方ゲームボーイ向けOSの作り方
ゲームボーイ向けOSの作り方
 

フルスクラッチ自作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 ご清聴、 ありがとうございました!