SlideShare a Scribd company logo
1 of 38
30分で分かる!
OSの作り方
自作OSコミュニティosdev-jp
@uchan_nos
自己紹介
• Twitter: @uchan_nos
• 自作OSコミュニティosdev-jpコアメンバー
• 『30日でできる! OS自作入門』
の校正を担当
• 『自作エミュレータで学ぶ
x86アーキテクチャ』の著者
OSとは
• Operating System
Microsoft Windows 10 のスクリーンショット
OSとは
• 定義はいろいろ
• 「OSとは、ソフトウェアの
種類の一つで、機器の基本
的な管理や制御のための機
能や、多くのソフトウェア
が共通して利用する基本的
な機能などを実装した、シ
ステム全体を管理するソフ
トウェア。」
http://e-words.jp/w/OS.html
https://en.wikipedia.org/wiki/Operating_
system#/media/File:Kernel_Layout.svg
OSとは
• 『30日でできる! OS自作入門』の定義
結局のところ、それぞれの作者が
「これはOSなんだ」と言い張って、
周囲の人も「まあそうかな」と思
えばどんなソフトでもOSなんです。
OS自作とは
• ほかのOSの力を借りずに起動するソフトウェ
ア(なんでもいい)を作ること
• ハードウェアに近い世界
• → パソコンを支配する感覚
• → エキサイティング!
OS自作も一歩から
自作OSにおける “Hello World”
有名な
自作OSたち
http://z-slash.net/os/osask/osask.png
OSASK
Mona OS
https://a.fsdn.com/con/app/proj/monaos/screenshots/90657.jpg
はりぼてOS
http://hrb.osask.jp/figures.html
OS自作の方向性
• システムプログラミングを楽しむ
• OS理論を学ぶ
• 実用的なOSを作る
• 既存OSを改良する
システムプログラミング
を楽しむ
• 『 30日でできる!OS自作入門』の方向性
• 単純にOS作成を楽しむ=娯楽
• コンピュータのハードウェアを支配してる感じ
で楽しい
• CPUと戯れる
• デバイスと戯れる
• 低レイヤに詳しくなれる!
http://cdn-ak.f.st-hatena.com/images/fotolife/r/rinie/20090409/20090409144532.jpg
OS理論を学ぶ
• 『オペレーティングシステム 第3版
設計と実装』などを読んだりする
• メモリ管理、プロセス管理、ファイルシステム、
デバイスドライバの仕組みなどを学ぶ
Intel 64 and IA-32 Architectures Software Developer’s Manual より引用
ページングによる
メモリ管理の仕組み
実用的なOSを作る
• 既存OSが移植されてないハードウェアのOS
• 特定の処理のオーバーヘッドが小さいOS
• 例:liva氏作の、Intel e1000ギガビットイーサに
対応したOS。Linuxより低遅延に通信できる。
• 一人で汎用かつ実用的なOSを作ることは現代
ではほぼ無理
• 汎用性を捨てれば活路がある
既存OSを改良する
• LinuxやFreeBSDなどを改造する
• 現代において汎用かつ実用的なOSを目指すな
らこの路線
• この発表でいう「OS自作」ではない
OSを自作する方法
• 入門書を手に入れる
• 取りあえずその通り作ってみる
• 後は自由に改造したり知識を深めたり
OSを自作する方法
• 入門書を手に入れる
• 取りあえずその通り作ってみる
• 後は自由に改造したり知識を深めたり
たったの3ステップ!
入門書を手に入れる
『30日でできる! OS自作入門』
から始めるのがおすすめ
30日後
OS自作入門:一日目
• P.14「とにかくやるのだぁ」
• バイナリエディタだけで
1.4MBのFDイメージを作成
OS自作入門:二日目
• p.29「まずはテキストエディタの紹介」
• テキストエディタがバイナリエディタの後
にくる書籍なんて聞いたことない!
OS自作入門:四日目
• p.69「C言語と画面表示の練習」
• p.95でなんとなく「OS」らしき画面が!
http://hrb.osask.jp/figures.html
OS自作入門:八日目
• マウスが動くようになる
• メモリ管理ができるようになる
http://hrb.osask.jp/figures.html
OS自作入門:三十日目
• 32ビット、マルチタスク、
ウィンドウシステム、JPGデコーダ
http://hrb.osask.jp/figures.html
その後の進路はいろいろ1
• OSの機能を拡張していく
• 高機能なシェル
• タスク間通信
• UEFI起動に対応
• OSの理論を勉強する
• ページング、仮想記憶
• mutex、共有メモリ
• ファイルシステム
ウィンドウサイズが
変えられなくて辛い
その後の進路はいろいろ2
• いろんな言語で再実装する
• C/C++/D/Rust/C#など
• 他のアーキテクチャへの移植
• 2006年当時、いち早くC++化に成功したブログ記事
• 自作OSもくもく会では
Rustでの再実装を試みる人がいたり。
「はりぼてOSでC++言語を使いたい」
http://d.hatena.ne.jp/Bayside/20060518/p1
その後の進路はいろいろ3
• デバイスドライバを充実させる
• ディスク読み書き
• ネットワークドライバ
• USB機器の制御
• グラフィックボード
• 既存OSのドライバの移植 http://yourdriversdownload.blogspot.jp/2011/12/
realtek-rtl8139-family-pci-fast.html
例えば私が作ったOS
• elf_haribote
• はりぼてOS + ELFバイナリのローダ
• seriboteOS
• はりぼてOS + RS-232C通信
http://sanwa.jp/product/syohin_img/K/KR-9EN2_MA.jpg
OS本体の製作の参考書
• 『30日でできる! OS自作入門』川合 秀実
• 『12ステップで作る組込みOS自作入門』坂井 弘亮
• 『オペレーティングシステム 第3版 設計と実
装』Andrew S. Tanenbaum
• 『はじめて読む486』蒲地輝尚
• 『Intel 64 and IA-32 Architectures Software
Developer’s Manual』Intel Corporation
• 『Microsoft Extensible Firmware Initiative FAT32 File
System Specification』Microsoft Corporation
• 『詳解 Linuxカーネル 第3版』Daniel P. Bovet, Marco
Cesati
• 『リンカ・ローダ実践開発テクニック』坂井 弘亮
ドライバ製作の参考書
• 『パソコンのレガシィI/O活用大全』桑野 雅彦
• Web 版 http://www.cqpub.co.jp/column/books/2001a/34331PC_Legacy/
• 『組み込み機器へのUSBホスト実装技法』イン
ターフェース編集部
• 『PCIバス&PCI‐Xバスの徹底研究』インターフェー
ス編集部
• 『Ethernetのしくみとハードウェア設計技法』イン
ターフェース編集部
• 『Serial ATA AHCI: Specification, Rev. 1.3.1』Intel
Corporation
• 『PCI Specification, Revision 3.0』PCI-SIG
日本のOS自作の歴史
1992 - 1994
第1期自作OSブーム
BTRON系がメイン
BTRON386
B-Free OS
主にここから引用
http://osask.net/w/197.html
2000 -
第2期自作OSブーム
OSASKが初リリース
1994年3月14日
Linux 1.0.0
OSASK
• 川合さんが主担当
• 100KB以下の極小
OSイメージ
• ウィンドウシステム
• プリエンプティブ・
マルチタスク
2002/06/18 2chに伝説のスレが立つ
Mona OSが初リリース2002
NWSOS, MEG-OSリリース2002
@uchan_nos
OSASKを知る
2002?
2003
第2期ブーム最盛期
osdev-jというWikiが発足
→のちのdev-j
派生してOS-Wikiが発足
OS-Wiki http://community.osdev.info/ より
2005
第2期ブーム終焉
dev-j界が徐々に停滞
OSASKリリース停滞
NWSOS開発終了
MEG-OS中断
→おれんじぺこになるも、
それも開発終了
2005
第2期ブーム終焉
dev-j界が徐々に停滞
OSASKリリース停滞
NWSOS開発終了
MEG-OS中断
→おれんじぺこになるも、
それも開発終了
2006
第3期自作OSブーム
『 30日でできる!
OS自作入門』出版
はりぼて友の会結成
2007 はりぼて友の会
@IT に取材される
http://jibun.atmarkit.co.jp/lcom01/rensai/comtan02/comtan01.html
2008
第4期自作OSブーム
OSASK-HB内部リリース
おれんじぺこリリース再開
NWSOS開発再開(宣言)
2007 Mona OS開発停滞
→2002年までに誕生した
古参のOSプロジェクト
は壊滅状態に。
2007 はりぼて友の会活動停滞
2009 OSASK一般公開停止
2016 osdev-jp結成
自作OSもくもく会が始動
第5期自作OSブームへ
2013 KたんがOSASKコミュニティ
へ復帰
2012 OSECPU-VM開発開始
OS自作関係の3人が
偶然出会ってしまった
自作OSのコミュニティ
osdev-jp
Web: osdev.jp
Slack: osdev-jp.slack.com

More Related Content

What's hot

エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~Daisuke Morishita
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくいARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくいwata2ki
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門Fixstars Corporation
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Hiro H.
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとはTakuya Akiba
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Preferred Networks
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介Takeo Imai
 
Java でつくる 低レイテンシ実装の技巧
Java でつくる低レイテンシ実装の技巧Java でつくる低レイテンシ実装の技巧
Java でつくる 低レイテンシ実装の技巧 Ryosuke Yamazaki
 
Quine・難解プログラミングについて
Quine・難解プログラミングについてQuine・難解プログラミングについて
Quine・難解プログラミングについてmametter
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかShunsukeNakamura17
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 

What's hot (20)

Glibc malloc internal
Glibc malloc internalGlibc malloc internal
Glibc malloc internal
 
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくいARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくい
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
 
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介
 
Java でつくる 低レイテンシ実装の技巧
Java でつくる低レイテンシ実装の技巧Java でつくる低レイテンシ実装の技巧
Java でつくる 低レイテンシ実装の技巧
 
Quine・難解プログラミングについて
Quine・難解プログラミングについてQuine・難解プログラミングについて
Quine・難解プログラミングについて
 
レシピの作り方入門
レシピの作り方入門レシピの作り方入門
レシピの作り方入門
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 

Similar to 30分で分かる!OSの作り方

20090703課内oss研修
20090703課内oss研修 20090703課内oss研修
20090703課内oss研修 Yuya Tanaka
 
Building libc++ for toy OS
Building libc++ for toy OSBuilding libc++ for toy OS
Building libc++ for toy OSuchan_nos
 
最小セットOS Ssp fun
最小セットOS Ssp fun最小セットOS Ssp fun
最小セットOS Ssp funKiyoshi Ogawa
 
OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作uchan_nos
 
eZ Publish 2012年7月勉強会 - 権限システム
eZ Publish 2012年7月勉強会 - 権限システムeZ Publish 2012年7月勉強会 - 権限システム
eZ Publish 2012年7月勉強会 - 権限システムericsagnes
 
できる!KickstartとAnsible!
できる!KickstartとAnsible!できる!KickstartとAnsible!
できる!KickstartとAnsible!Wataru NOGUCHI
 
OpenModelica tutorials_1(超初級チュートリアル1 解析モデルの作成と実行)
OpenModelica tutorials_1(超初級チュートリアル1 解析モデルの作成と実行)OpenModelica tutorials_1(超初級チュートリアル1 解析モデルの作成と実行)
OpenModelica tutorials_1(超初級チュートリアル1 解析モデルの作成と実行)Shigenori Ueda
 
INF-028_そのエラーやお困りごと、ツールを使えば解決できるかも! ~Sysinternals や OS 標準ツールの徹底活用術~
INF-028_そのエラーやお困りごと、ツールを使えば解決できるかも! ~Sysinternals や OS 標準ツールの徹底活用術~INF-028_そのエラーやお困りごと、ツールを使えば解決できるかも! ~Sysinternals や OS 標準ツールの徹底活用術~
INF-028_そのエラーやお困りごと、ツールを使えば解決できるかも! ~Sysinternals や OS 標準ツールの徹底活用術~decode2016
 
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティスeZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティスericsagnes
 
10年前から始まったマイクロソフトのDevOps~今とこれから~
10年前から始まったマイクロソフトのDevOps~今とこれから~10年前から始まったマイクロソフトのDevOps~今とこれから~
10年前から始まったマイクロソフトのDevOps~今とこれから~智治 長沢
 
Out systemsaichiusermeeting#5 lt2
Out systemsaichiusermeeting#5 lt2Out systemsaichiusermeeting#5 lt2
Out systemsaichiusermeeting#5 lt2潤司 渡部
 
Azureで始めるDevOps
Azureで始めるDevOpsAzureで始めるDevOps
Azureで始めるDevOpsAtsushi Kojima
 
Let's join in OpsWorks world!
Let's join in OpsWorks world!Let's join in OpsWorks world!
Let's join in OpsWorks world!Shigeo Nakano
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料Masatoshi Itoh
 
CoreOSってなんですか
CoreOSってなんですかCoreOSってなんですか
CoreOSってなんですかKeisuke Izumiya
 
研究室紹介(2014年度卒研生募集)
研究室紹介(2014年度卒研生募集)研究室紹介(2014年度卒研生募集)
研究室紹介(2014年度卒研生募集)Kazuhiko Kato
 
誰でも出来るローカル開発環境の作り方
誰でも出来るローカル開発環境の作り方誰でも出来るローカル開発環境の作り方
誰でも出来るローカル開発環境の作り方666oh666
 
セキュリティ関連OSSツール紹介
セキュリティ関連OSSツール紹介セキュリティ関連OSSツール紹介
セキュリティ関連OSSツール紹介kataware
 
オルターブースが実践する .NET Core “ガチ” 開発
オルターブースが実践する .NET Core “ガチ” 開発オルターブースが実践する .NET Core “ガチ” 開発
オルターブースが実践する .NET Core “ガチ” 開発Yuta Matsumura
 

Similar to 30分で分かる!OSの作り方 (20)

20090703課内oss研修
20090703課内oss研修 20090703課内oss研修
20090703課内oss研修
 
Building libc++ for toy OS
Building libc++ for toy OSBuilding libc++ for toy OS
Building libc++ for toy OS
 
最小セットOS Ssp fun
最小セットOS Ssp fun最小セットOS Ssp fun
最小セットOS Ssp fun
 
OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作OpeLa セルフホストなOSと言語処理系の自作
OpeLa セルフホストなOSと言語処理系の自作
 
eZ Publish 2012年7月勉強会 - 権限システム
eZ Publish 2012年7月勉強会 - 権限システムeZ Publish 2012年7月勉強会 - 権限システム
eZ Publish 2012年7月勉強会 - 権限システム
 
できる!KickstartとAnsible!
できる!KickstartとAnsible!できる!KickstartとAnsible!
できる!KickstartとAnsible!
 
OpenModelica tutorials_1(超初級チュートリアル1 解析モデルの作成と実行)
OpenModelica tutorials_1(超初級チュートリアル1 解析モデルの作成と実行)OpenModelica tutorials_1(超初級チュートリアル1 解析モデルの作成と実行)
OpenModelica tutorials_1(超初級チュートリアル1 解析モデルの作成と実行)
 
INF-028_そのエラーやお困りごと、ツールを使えば解決できるかも! ~Sysinternals や OS 標準ツールの徹底活用術~
INF-028_そのエラーやお困りごと、ツールを使えば解決できるかも! ~Sysinternals や OS 標準ツールの徹底活用術~INF-028_そのエラーやお困りごと、ツールを使えば解決できるかも! ~Sysinternals や OS 標準ツールの徹底活用術~
INF-028_そのエラーやお困りごと、ツールを使えば解決できるかも! ~Sysinternals や OS 標準ツールの徹底活用術~
 
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティスeZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
 
10年前から始まったマイクロソフトのDevOps~今とこれから~
10年前から始まったマイクロソフトのDevOps~今とこれから~10年前から始まったマイクロソフトのDevOps~今とこれから~
10年前から始まったマイクロソフトのDevOps~今とこれから~
 
Out systemsaichiusermeeting#5 lt2
Out systemsaichiusermeeting#5 lt2Out systemsaichiusermeeting#5 lt2
Out systemsaichiusermeeting#5 lt2
 
Azureで始めるDevOps
Azureで始めるDevOpsAzureで始めるDevOps
Azureで始めるDevOps
 
Let's join in OpsWorks world!
Let's join in OpsWorks world!Let's join in OpsWorks world!
Let's join in OpsWorks world!
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
 
200513 ur
200513 ur200513 ur
200513 ur
 
CoreOSってなんですか
CoreOSってなんですかCoreOSってなんですか
CoreOSってなんですか
 
研究室紹介(2014年度卒研生募集)
研究室紹介(2014年度卒研生募集)研究室紹介(2014年度卒研生募集)
研究室紹介(2014年度卒研生募集)
 
誰でも出来るローカル開発環境の作り方
誰でも出来るローカル開発環境の作り方誰でも出来るローカル開発環境の作り方
誰でも出来るローカル開発環境の作り方
 
セキュリティ関連OSSツール紹介
セキュリティ関連OSSツール紹介セキュリティ関連OSSツール紹介
セキュリティ関連OSSツール紹介
 
オルターブースが実践する .NET Core “ガチ” 開発
オルターブースが実践する .NET Core “ガチ” 開発オルターブースが実践する .NET Core “ガチ” 開発
オルターブースが実践する .NET Core “ガチ” 開発
 

More from uchan_nos

MikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するMikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するuchan_nos
 
小型安価なFPGAボードの紹介と任意波形発生器
小型安価なFPGAボードの紹介と任意波形発生器小型安価なFPGAボードの紹介と任意波形発生器
小型安価なFPGAボードの紹介と任意波形発生器uchan_nos
 
トランジスタ回路:エミッタ接地増幅回路
トランジスタ回路:エミッタ接地増幅回路トランジスタ回路:エミッタ接地増幅回路
トランジスタ回路:エミッタ接地増幅回路uchan_nos
 
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトuchan_nos
 
自作言語でお絵描き
自作言語でお絵描き自作言語でお絵描き
自作言語でお絵描きuchan_nos
 
OpeLa 進捗報告 at 第23回自作OSもくもく会
OpeLa 進捗報告 at 第23回自作OSもくもく会OpeLa 進捗報告 at 第23回自作OSもくもく会
OpeLa 進捗報告 at 第23回自作OSもくもく会uchan_nos
 
サイボウズ・ラボへ転籍して1年を振り返る
サイボウズ・ラボへ転籍して1年を振り返るサイボウズ・ラボへ転籍して1年を振り返る
サイボウズ・ラボへ転籍して1年を振り返るuchan_nos
 
USB3.0ドライバ開発の道
USB3.0ドライバ開発の道USB3.0ドライバ開発の道
USB3.0ドライバ開発の道uchan_nos
 
Security Nextcamp remote mob programming
Security Nextcamp remote mob programmingSecurity Nextcamp remote mob programming
Security Nextcamp remote mob programminguchan_nos
 
Langsmith OpeLa handmade self-hosted OS and LPS
Langsmith OpeLa handmade self-hosted OS and LPSLangsmith OpeLa handmade self-hosted OS and LPS
Langsmith OpeLa handmade self-hosted OS and LPSuchan_nos
 
自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装uchan_nos
 
1を書いても0が読める!?隠れた重要命令INVLPG
1を書いても0が読める!?隠れた重要命令INVLPG1を書いても0が読める!?隠れた重要命令INVLPG
1を書いても0が読める!?隠れた重要命令INVLPGuchan_nos
 
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osレガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osuchan_nos
 
プランクトンサミットの歴史2019
プランクトンサミットの歴史2019プランクトンサミットの歴史2019
プランクトンサミットの歴史2019uchan_nos
 
Introduction of security camp 2019
Introduction of security camp 2019Introduction of security camp 2019
Introduction of security camp 2019uchan_nos
 
USB3 host driver program structure
USB3 host driver program structureUSB3 host driver program structure
USB3 host driver program structureuchan_nos
 
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)uchan_nos
 
1TB/dayのログを収集・蓄積する技術
1TB/dayのログを収集・蓄積する技術1TB/dayのログを収集・蓄積する技術
1TB/dayのログを収集・蓄積する技術uchan_nos
 
WalB: Real-time and Incremental Backup System for Block Devices
WalB: Real-time and Incremental Backup System for Block DevicesWalB: Real-time and Incremental Backup System for Block Devices
WalB: Real-time and Incremental Backup System for Block Devicesuchan_nos
 

More from uchan_nos (20)

MikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続するMikanOSと自作CPUをUSBで接続する
MikanOSと自作CPUをUSBで接続する
 
小型安価なFPGAボードの紹介と任意波形発生器
小型安価なFPGAボードの紹介と任意波形発生器小型安価なFPGAボードの紹介と任意波形発生器
小型安価なFPGAボードの紹介と任意波形発生器
 
トランジスタ回路:エミッタ接地増幅回路
トランジスタ回路:エミッタ接地増幅回路トランジスタ回路:エミッタ接地増幅回路
トランジスタ回路:エミッタ接地増幅回路
 
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
 
自作言語でお絵描き
自作言語でお絵描き自作言語でお絵描き
自作言語でお絵描き
 
OpeLa 進捗報告 at 第23回自作OSもくもく会
OpeLa 進捗報告 at 第23回自作OSもくもく会OpeLa 進捗報告 at 第23回自作OSもくもく会
OpeLa 進捗報告 at 第23回自作OSもくもく会
 
サイボウズ・ラボへ転籍して1年を振り返る
サイボウズ・ラボへ転籍して1年を振り返るサイボウズ・ラボへ転籍して1年を振り返る
サイボウズ・ラボへ転籍して1年を振り返る
 
USB3.0ドライバ開発の道
USB3.0ドライバ開発の道USB3.0ドライバ開発の道
USB3.0ドライバ開発の道
 
Security Nextcamp remote mob programming
Security Nextcamp remote mob programmingSecurity Nextcamp remote mob programming
Security Nextcamp remote mob programming
 
Langsmith OpeLa handmade self-hosted OS and LPS
Langsmith OpeLa handmade self-hosted OS and LPSLangsmith OpeLa handmade self-hosted OS and LPS
Langsmith OpeLa handmade self-hosted OS and LPS
 
自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装自動でバグを見つける!プログラム解析と動的バイナリ計装
自動でバグを見つける!プログラム解析と動的バイナリ計装
 
1を書いても0が読める!?隠れた重要命令INVLPG
1を書いても0が読める!?隠れた重要命令INVLPG1を書いても0が読める!?隠れた重要命令INVLPG
1を書いても0が読める!?隠れた重要命令INVLPG
 
レガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free osレガシーフリーOSに必要な要素技術 legacy free os
レガシーフリーOSに必要な要素技術 legacy free os
 
プランクトンサミットの歴史2019
プランクトンサミットの歴史2019プランクトンサミットの歴史2019
プランクトンサミットの歴史2019
 
Introduction of security camp 2019
Introduction of security camp 2019Introduction of security camp 2019
Introduction of security camp 2019
 
Timers
TimersTimers
Timers
 
USB3 host driver program structure
USB3 host driver program structureUSB3 host driver program structure
USB3 host driver program structure
 
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
 
1TB/dayのログを収集・蓄積する技術
1TB/dayのログを収集・蓄積する技術1TB/dayのログを収集・蓄積する技術
1TB/dayのログを収集・蓄積する技術
 
WalB: Real-time and Incremental Backup System for Block Devices
WalB: Real-time and Incremental Backup System for Block DevicesWalB: Real-time and Incremental Backup System for Block Devices
WalB: Real-time and Incremental Backup System for Block Devices
 

30分で分かる!OSの作り方

Editor's Notes

  1. 戯れる「たわむれる」