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
1.2k
自作OSを楽しむ
OS自作はなぜ皆挫折するのか?挫折しない方法は?OS自作の楽しみ方を考えました。
KC3のLTで発表しました。
domitry
September 08, 2013
Tweet
Share
More Decks by domitry
See All by domitry
Topics about SciRuby @dcmodel/davis tutorial, Kobe
domitry
0
180
The Elements of Statistical Learning 読書会 3.4章
domitry
0
260
PCで絵をかこう!
domitry
0
540
JavaScript&可視化講習会#1
domitry
1
640
精神は物理的に記述できるか
domitry
0
130
RubyとFortranの話
domitry
0
330
Nyaplot - a data visualization tool for Ruby
domitry
3
680
Nyaplotの紹介@U-22プロコン
domitry
1
150
D3.js入門
domitry
0
4.1k
Other Decks in Programming
See All in Programming
良いユニットテストを書こう
mototakatsu
11
3.5k
Kaigi on Railsに初参加したら、その日にLT登壇が決定した件について
tama50505
0
140
Оптимизируем производительность блока Казначейство
lamodatech
0
920
GitHubで育つ コラボレーション文化 : ニフティでのインナーソース挑戦事例 - 2024-12-16 GitHub Universe 2024 Recap in ZOZO
niftycorp
PRO
0
1.3k
令和7年版 あなたが使ってよいフロントエンド機能とは
mugi_uno
3
1.6k
Compose UIテストを使った統合テスト
hiroaki404
0
130
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
990
Findy Team+ Awardを受賞したかった!ベストプラクティス応募内容をふりかえり、開発生産性向上もふりかえる / Findy Team Plus Award BestPractice and DPE Retrospective 2024
honyanya
0
140
バグを見つけた?それAppleに直してもらおう!
uetyo
0
220
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
270
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
410
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
360
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Site-Speed That Sticks
csswizardry
2
230
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Building Applications with DynamoDB
mza
92
6.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Done Done
chrislema
182
16k
Optimising Largest Contentful Paint
csswizardry
33
3k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
YesSQL, Process and Tooling at Scale
rocio
170
14k
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のソースコードをモジュール化、好きな部分だけ書き 直せるように改造中 • 解説サイト今秋公開予定!