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.1k
自作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
150
The Elements of Statistical Learning 読書会 3.4章
domitry
0
260
PCで絵をかこう!
domitry
0
530
JavaScript&可視化講習会#1
domitry
1
620
精神は物理的に記述できるか
domitry
0
120
RubyとFortranの話
domitry
0
310
Nyaplot - a data visualization tool for Ruby
domitry
3
630
Nyaplotの紹介@U-22プロコン
domitry
1
140
D3.js入門
domitry
0
3.9k
Other Decks in Programming
See All in Programming
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
190
使ってみよう Azure AI Document Intelligence
kosmosebi
2
300
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
360
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
920
Rails と人魚の話/rails-and-mermaid
sanfrecce_osaka
0
100
Tailwind CSSを本気でカスタマイズする方法
fsubal
13
5.2k
PHPはいつから死んでいるかの調査
chiroruxx
1
390
Hanami and htmx
bkuhlmann
0
210
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
180
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
26
8.2k
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
Goのmultiple errorsについて (2024年4月版)
syumai
3
610
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Adopting Sorbet at Scale
ufuk
68
8.6k
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
What's in a price? How to price your products and services
michaelherold
237
11k
Building an army of robots
kneath
300
41k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
4 Signs Your Business is Dying
shpigford
175
21k
Unsuck your backbone
ammeep
663
57k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Infographics Made Easy
chrislema
238
18k
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のソースコードをモジュール化、好きな部分だけ書き 直せるように改造中 • 解説サイト今秋公開予定!