Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
自作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
250
The Elements of Statistical Learning 読書会 3.4章
domitry
0
340
PCで絵をかこう!
domitry
0
600
JavaScript&可視化講習会#1
domitry
1
710
精神は物理的に記述できるか
domitry
0
180
RubyとFortranの話
domitry
0
400
Nyaplot - a data visualization tool for Ruby
domitry
3
760
Nyaplotの紹介@U-22プロコン
domitry
1
210
D3.js入門
domitry
0
4.4k
Other Decks in Programming
See All in Programming
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
150
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
400
アクセシビリティから考える情報設計
high_g_engineer
0
360
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
320
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
6.3k
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
6
1.6k
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
130
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
250
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
450
Building an Out-of-Order CPU
latte72
1
750
信頼性の目標を誰も求めてない
shubox
0
500
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
780
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Typedesign – Prime Four
hannesfritz
42
3.2k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
630
Building Applications with DynamoDB
mza
96
7.2k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
280
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
500
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のソースコードをモジュール化、好きな部分だけ書き 直せるように改造中 • 解説サイト今秋公開予定!