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.3k
自作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
220
The Elements of Statistical Learning 読書会 3.4章
domitry
0
300
PCで絵をかこう!
domitry
0
570
JavaScript&可視化講習会#1
domitry
1
680
精神は物理的に記述できるか
domitry
0
160
RubyとFortranの話
domitry
0
360
Nyaplot - a data visualization tool for Ruby
domitry
3
730
Nyaplotの紹介@U-22プロコン
domitry
1
180
D3.js入門
domitry
0
4.2k
Other Decks in Programming
See All in Programming
Bakuraku E2E Scenario Test System Architecture #bakuraku_qa_study
teyamagu
PRO
0
780
AIを駆使して新しい技術を効率的に理解する方法
nogu66
1
650
ノーコードからの脱出 -地獄のデスロード- / Escape from Base44
keisuke69
1
750
TVerのWeb内製化 - 開発スピードと品質を両立させるまでの道のり
techtver
PRO
3
1.1k
「正規表現をつくる」をつくる / make "make regex"
makenowjust
1
660
Developing Specifications - Jakarta EE: a Real World Example
ivargrimstad
0
110
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
140
AIエージェントでのJava開発がはかどるMCPをAIを使って開発してみた / java mcp for jjug
kishida
4
720
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
39
13k
CSC509 Lecture 13
javiergs
PRO
0
250
Tangible Code
chobishiba
3
650
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
450
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
697
190k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
11
940
Speed Design
sergeychernyshev
32
1.2k
Faster Mobile Websites
deanohume
310
31k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
36
Measuring & Analyzing Core Web Vitals
bluesmoon
9
670
Statistics for Hackers
jakevdp
799
220k
Producing Creativity
orderedlist
PRO
348
40k
Navigating Team Friction
lara
190
15k
Building Applications with DynamoDB
mza
96
6.8k
Docker and Python
trallard
46
3.7k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
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のソースコードをモジュール化、好きな部分だけ書き 直せるように改造中 • 解説サイト今秋公開予定!