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
210
The Elements of Statistical Learning 読書会 3.4章
domitry
0
300
PCで絵をかこう!
domitry
0
570
JavaScript&可視化講習会#1
domitry
1
680
精神は物理的に記述できるか
domitry
0
150
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
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
180
Devoxx BE - Local Development in the AI Era
kdubois
0
130
Devvox Belgium - Agentic AI Patterns
kdubois
1
120
Flutterで分数(Fraction)を表示する方法
koukimiura
0
130
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
190
AI Agent 時代的開發者生存指南
eddie
3
1.7k
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
500
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.2k
What's new in Spring Modulith?
olivergierke
1
160
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
CSC509 Lecture 04
javiergs
PRO
0
300
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Docker and Python
trallard
46
3.6k
How STYLIGHT went responsive
nonsquared
100
5.8k
Building Adaptive Systems
keathley
44
2.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The World Runs on Bad Software
bkeepers
PRO
72
11k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
The Invisible Side of Design
smashingmag
302
51k
Thoughts on Productivity
jonyablonski
70
4.9k
GraphQLとの向き合い方2022年版
quramy
49
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のソースコードをモジュール化、好きな部分だけ書き 直せるように改造中 • 解説サイト今秋公開予定!