SlideShare a Scribd company logo
1 of 9
Download to read offline
やってよかったOS作り


   Cybozu Labs
    川合 秀実
   2012/03/26
作り始めるまで
(話は15年以上前にさかのぼって・・・)

私は貧乏性でせこい(せこかった)

自分が苦労して買ったPCの性能を出し切らないと気が済まない
  10万円出したら、10万円分動いてほしい

プログラムやデータも(内容が変わらない範囲で)小さくしたい
  だってもし消費容量を半分にできれば、それはディスクの
   容量が2倍になったのと同じだよね!

それでOSからアプリまで全部作り直してみることにした
  無知なのでOSなんて何年かがんばればできると思っていた

                                 2
世間の反応
最初から非難ごうごう

「できるわけない」
  個人でマイクロソフト以上のものができるか?

「そんなの意味ない」
  PCはこれからもっと速くなる、大容量になるというのに

「何の役に立つんだ?」

「それができるのならもっと他のことをやるべき」

「こいつ本当にバカだよなー」

                                3
わが道をゆく
そんな声にもかかわらず、私のしたこと・・・

ここをこうすれば、1バイト減らせる! うおう!

ここをこうすれば、0.00001秒くらいは速くなるかも!
  もしかして、僕って天才?

こんなに古いPCでも快適に動いた!

・・・周囲はあきれました




                                4
できたもの(1)
動作画面
           起動時間:1秒

           OS容量:80KB
            Windowsの
            約1000分の1

           1995年くらい
           のPCでも快適

           3Dキューブ:
               1.4KB

           爆弾さがし:
              3.1KB

           ダンジョン
            ゲーム:
               47KB
                       5
できたもの(2)
アプリケーションを作り比べてみた (大きさ比較)

普通に使われているアセンブラ:     100.0KB以上
私が作り直したもの(Win用):     27.0KB
私が作り直したもの(自作OS用):    22.2KB

普通に使われているリンカ:       100.0KB以上
私が作り直したもの(Win用):     16.0KB
私が作り直したもの(自作OS用):     7.6KB

普通に使われているライブラリアン:   100.0KB以上
私が作り直したもの(Win用):      4.5KB
私が作り直したもの(自作OS用):     2.3KB
                                 6
ついでにできたもの
自分の経験をもとに、OSの作り方の本を書きました

700ページ以上

図書館で探してみてください




この本で作るOSでは、
 速さも小ささもあまり追及して
 いません
  分かりやすさ重視

                            7
作った後の話
今では・・・
サイボウズ・ラボに入って、サイボウズ製品の改良をしています

ここでは本気で高速化しても、
 「意味ない」「バカだな」なんて全く言われません

  むしろ一緒になって
  「やったな!」「おおすごいな!」と 言ってくれます

  いい人たちです~

世の中の役にも立っていると思います
  速く動くのは気持ちいいですよね!

セキュリティ&プログラミングキャンプの講師もしています     8
まとめ
感じたこと

もし自分が「これだ!」と思ったら、他人の言うことなんて
 気にしないほうがいい

その分野がダメだと言われた == ライバルは少ない

どんなスキルでも、世の中の役に立たせる方法はある
  だから役に立つかどうかなんて後回しで、
   とにかく信じる道を進んでみよう!


OSを作ったおかげで、私は幸せになったと思います

                               9

More Related Content

What's hot

第九回渋谷Java RaspberryPi+Javaを試してみる
第九回渋谷Java RaspberryPi+Javaを試してみる第九回渋谷Java RaspberryPi+Javaを試してみる
第九回渋谷Java RaspberryPi+Javaを試してみるchonaso
 
20120822_dstn技術交流会_すぐに使えるsdkアダプタ開発
20120822_dstn技術交流会_すぐに使えるsdkアダプタ開発20120822_dstn技術交流会_すぐに使えるsdkアダプタ開発
20120822_dstn技術交流会_すぐに使えるsdkアダプタ開発dstn
 
Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611Langur
 
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
CoffeeScript+enchant.jsでクロージャが気持よくかけた話CoffeeScript+enchant.jsでクロージャが気持よくかけた話
CoffeeScript+enchant.jsでクロージャが気持よくかけた話Yusuke HIDESHIMA
 
OS development beginner version 20160611
OS development beginner version 20160611OS development beginner version 20160611
OS development beginner version 20160611Langur
 
JSでファミコンエミュレータを作った時の話
JSでファミコンエミュレータを作った時の話JSでファミコンエミュレータを作った時の話
JSでファミコンエミュレータを作った時の話sairoutine
 
第二回 クラウドサーバー管理者若葉の会
第二回 クラウドサーバー管理者若葉の会第二回 クラウドサーバー管理者若葉の会
第二回 クラウドサーバー管理者若葉の会masayoshi shiraishi
 
2009 02 12_flosss_cms解体ショー
2009 02 12_flosss_cms解体ショー2009 02 12_flosss_cms解体ショー
2009 02 12_flosss_cms解体ショーTom Hayakawa
 
Introduction of mruby & Webruby script example
Introduction of mruby & Webruby script exampleIntroduction of mruby & Webruby script example
Introduction of mruby & Webruby script examplekishima7
 
As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!Kazumi IWANAGA
 
Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4Junpei Matsuda
 
サバフェスLt
サバフェスLtサバフェスLt
サバフェスLt宗 大栗
 
ほんとうはこわいAnsible
ほんとうはこわいAnsibleほんとうはこわいAnsible
ほんとうはこわいAnsibleTakahiro Nakayama
 
VisualStudinoの役に立ちそうな拡張機能をまとめてみた
VisualStudinoの役に立ちそうな拡張機能をまとめてみたVisualStudinoの役に立ちそうな拡張機能をまとめてみた
VisualStudinoの役に立ちそうな拡張機能をまとめてみたytanno
 
Ansibleの現在とこれから
Ansibleの現在とこれからAnsibleの現在とこれから
Ansibleの現在とこれからTaira Hajime
 

What's hot (20)

第九回渋谷Java RaspberryPi+Javaを試してみる
第九回渋谷Java RaspberryPi+Javaを試してみる第九回渋谷Java RaspberryPi+Javaを試してみる
第九回渋谷Java RaspberryPi+Javaを試してみる
 
20120822_dstn技術交流会_すぐに使えるsdkアダプタ開発
20120822_dstn技術交流会_すぐに使えるsdkアダプタ開発20120822_dstn技術交流会_すぐに使えるsdkアダプタ開発
20120822_dstn技術交流会_すぐに使えるsdkアダプタ開発
 
Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611
 
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
CoffeeScript+enchant.jsでクロージャが気持よくかけた話CoffeeScript+enchant.jsでクロージャが気持よくかけた話
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
 
JS/Canvas Tutorial3
JS/Canvas Tutorial3JS/Canvas Tutorial3
JS/Canvas Tutorial3
 
Parascript
ParascriptParascript
Parascript
 
OS development beginner version 20160611
OS development beginner version 20160611OS development beginner version 20160611
OS development beginner version 20160611
 
em-dosbox
em-dosboxem-dosbox
em-dosbox
 
Vagrant chef
Vagrant chefVagrant chef
Vagrant chef
 
JSでファミコンエミュレータを作った時の話
JSでファミコンエミュレータを作った時の話JSでファミコンエミュレータを作った時の話
JSでファミコンエミュレータを作った時の話
 
第二回 クラウドサーバー管理者若葉の会
第二回 クラウドサーバー管理者若葉の会第二回 クラウドサーバー管理者若葉の会
第二回 クラウドサーバー管理者若葉の会
 
2009 02 12_flosss_cms解体ショー
2009 02 12_flosss_cms解体ショー2009 02 12_flosss_cms解体ショー
2009 02 12_flosss_cms解体ショー
 
Introduction of mruby & Webruby script example
Introduction of mruby & Webruby script exampleIntroduction of mruby & Webruby script example
Introduction of mruby & Webruby script example
 
As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!
 
Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4Bashで競技プログラミング #w8lt #w8lt4
Bashで競技プログラミング #w8lt #w8lt4
 
サバフェスLt
サバフェスLtサバフェスLt
サバフェスLt
 
自作のすすめ2
自作のすすめ2自作のすすめ2
自作のすすめ2
 
ほんとうはこわいAnsible
ほんとうはこわいAnsibleほんとうはこわいAnsible
ほんとうはこわいAnsible
 
VisualStudinoの役に立ちそうな拡張機能をまとめてみた
VisualStudinoの役に立ちそうな拡張機能をまとめてみたVisualStudinoの役に立ちそうな拡張機能をまとめてみた
VisualStudinoの役に立ちそうな拡張機能をまとめてみた
 
Ansibleの現在とこれから
Ansibleの現在とこれからAnsibleの現在とこれから
Ansibleの現在とこれから
 

Similar to やってよかったOS作り

B 2-1 はじめての Windows Azure
B 2-1 はじめての Windows AzureB 2-1 はじめての Windows Azure
B 2-1 はじめての Windows AzureGoAzure
 
ママ、どうして仮想化が必要なの?
ママ、どうして仮想化が必要なの?ママ、どうして仮想化が必要なの?
ママ、どうして仮想化が必要なの?junichi anno
 
パソコンって何?(2011年)
パソコンって何?(2011年)パソコンって何?(2011年)
パソコンって何?(2011年)IrisLovinson
 
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門infinite_loop
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-nishio
 
ハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶYuta Kitagami
 
HTML5+wordpressで電子書籍
HTML5+wordpressで電子書籍HTML5+wordpressで電子書籍
HTML5+wordpressで電子書籍Wataru Asai
 
20110213 Android開発本の選び方/支部対抗ハッカソン(案)
20110213 Android開発本の選び方/支部対抗ハッカソン(案)20110213 Android開発本の選び方/支部対抗ハッカソン(案)
20110213 Android開発本の選び方/支部対抗ハッカソン(案)youten (ようてん)
 
What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...
What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...
What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...Naruhiko Ogasawara
 

Similar to やってよかったOS作り (9)

B 2-1 はじめての Windows Azure
B 2-1 はじめての Windows AzureB 2-1 はじめての Windows Azure
B 2-1 はじめての Windows Azure
 
ママ、どうして仮想化が必要なの?
ママ、どうして仮想化が必要なの?ママ、どうして仮想化が必要なの?
ママ、どうして仮想化が必要なの?
 
パソコンって何?(2011年)
パソコンって何?(2011年)パソコンって何?(2011年)
パソコンって何?(2011年)
 
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
 
ハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶ
 
HTML5+wordpressで電子書籍
HTML5+wordpressで電子書籍HTML5+wordpressで電子書籍
HTML5+wordpressで電子書籍
 
20110213 Android開発本の選び方/支部対抗ハッカソン(案)
20110213 Android開発本の選び方/支部対抗ハッカソン(案)20110213 Android開発本の選び方/支部対抗ハッカソン(案)
20110213 Android開発本の選び方/支部対抗ハッカソン(案)
 
What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...
What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...
What’s new in 4.0 of LibreOffice (Lake-Hamanako-ver.) / LibreOffice 4.0の新機能 (...
 

やってよかったOS作り