Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
自作OSを楽しむ
Search
domitry
September 08, 2013
Programming
1.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自作OSを楽しむ
OS自作はなぜ皆挫折するのか?挫折しない方法は?OS自作の楽しみ方を考えました。
KC3のLTで発表しました。
domitry
September 08, 2013
More Decks by domitry
See All by domitry
Topics about SciRuby @dcmodel/davis tutorial, Kobe
domitry
0
240
The Elements of Statistical Learning 読書会 3.4章
domitry
0
330
PCで絵をかこう!
domitry
0
590
JavaScript&可視化講習会#1
domitry
1
700
精神は物理的に記述できるか
domitry
0
180
RubyとFortranの話
domitry
0
390
Nyaplot - a data visualization tool for Ruby
domitry
3
750
Nyaplotの紹介@U-22プロコン
domitry
1
200
D3.js入門
domitry
0
4.3k
Other Decks in Programming
See All in Programming
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
790
symfony/aiとlaravel/boost
77web
0
130
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
170
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
380
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
220
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
510
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
110
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
2
550
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
190
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.7k
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
141
7.6k
Side Projects
sachag
455
43k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
350
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Site-Speed That Sticks
csswizardry
13
1.3k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
610
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
510
Large-scale JavaScript Application Architecture
addyosmani
515
110k
sira's awesome portfolio website redesign presentation
elsirapls
0
300
Transcript
自作OSを楽しむ OUCC 1回 どみとり
自己紹介 • Twitter:どみとり (@domitry) • セキュリティ・キャンプ2013 セキュアなOSをつくろうゼミ • 自作OS Kiwi製作中
このUI、お好きですか?
このUI、お好きですか? 自作OS、Kiwiでは
このUI、お好きですか? 自然な画面移行を実現
自作OSとは • 自分でOS作ってみようぜ!!! • 2006年ごろ川合秀実先生の「OS自作入門」で大ブーム に
自作OSのはじめかた ①クロスコンパイラを用意する ②仮想環境を用意する ③コードを書く ④楽しい!!!!✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌
自作OSの楽しいところ ① オレオレOSを実現できる ・◦◦OSのUI嫌いだなあ ・フォント汚いなあ ・ファイルシステム嫌いだなあ ・脆弱だなあ →すべて自分で書ける! ② 色々な部分の動く仕組みが理解できる
自作OSのつらいところ ①すべてを自分で書かないといけない フォントを描画しよう!! →あっ…TrueTypeの描画めんどくさそう…Bitmapにしょ… →あっ…ファイルシステム周り先に書かないと… →あっ…malloc実装してないわ… →やってられない!!! ②資料が少ない
ではどう楽しむか
自作OSを楽しむコツ ① 興味のない・めんどくさい部分のコードをいさぎよくパクる (もちろんライセンスの範囲内で) ② 簡単にできる部分は大胆に簡略化 void * kmalloc(int size){
result = (heap_last/4+1)*4; heap_last = result + size; return result; }・
自作OSを楽しむコツ ③ 英語を読む →OSDevWiki,英語版Wikipedia
まずはOS自作入門を読もう!!
宣伝(?)
宣伝(?) • やはりOS自作はつらい • 日本語資料の不足とOSフルスクラッチの重さが原因? • Kiwiのソースコードをモジュール化、好きな部分だけ書き 直せるように改造中 • 解説サイト今秋公開予定!