Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
uchan_nos
PPTX, PDF
43,779 views
30分で分かる!OSの作り方
OS自作とは何なのか,どうやったら最初の一歩を踏み出せるのか,自作OS界隈の歴史などを説明します.
Software
◦
Related topics:
Overview of Operating Systems
•
Read more
22
Save
Share
Embed
Embed presentation
Download
Downloaded 153 times
1
/ 38
2
/ 38
3
/ 38
4
/ 38
5
/ 38
6
/ 38
7
/ 38
8
/ 38
9
/ 38
10
/ 38
11
/ 38
12
/ 38
Most read
13
/ 38
14
/ 38
15
/ 38
16
/ 38
17
/ 38
18
/ 38
19
/ 38
20
/ 38
21
/ 38
22
/ 38
Most read
23
/ 38
24
/ 38
25
/ 38
26
/ 38
27
/ 38
28
/ 38
29
/ 38
30
/ 38
Most read
31
/ 38
32
/ 38
33
/ 38
34
/ 38
35
/ 38
36
/ 38
37
/ 38
38
/ 38
More Related Content
PDF
ELFの動的リンク
by
7shi
PPTX
Redisの特徴と活用方法について
by
Yuji Otani
PPTX
冬のLock free祭り safe
by
Kumazaki Hiroki
PDF
Docker Compose 徹底解説
by
Masahito Zembutsu
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
by
Masahito Zembutsu
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
by
Toru Makabe
PDF
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
PDF
関数プログラミング入門
by
Hideyuki Tanaka
ELFの動的リンク
by
7shi
Redisの特徴と活用方法について
by
Yuji Otani
冬のLock free祭り safe
by
Kumazaki Hiroki
Docker Compose 徹底解説
by
Masahito Zembutsu
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
by
Masahito Zembutsu
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
by
Toru Makabe
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
関数プログラミング入門
by
Hideyuki Tanaka
What's hot
PDF
30分で分かる!OSの作り方 ver.2
by
uchan_nos
PPTX
OSを手作りするという趣味と仕事
by
uchan_nos
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
by
Shota Shinogi
PDF
暗号技術の実装と数学
by
MITSUNARI Shigeo
PDF
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
by
Yoshiki Hayama
PDF
ソーシャルゲームのためのデータベース設計
by
Yoshinori Matsunobu
PPT
メタプログラミングって何だろう
by
Kota Mizushima
PDF
ARM CPUにおけるSIMDを用いた高速計算入門
by
Fixstars Corporation
PDF
何となく勉強した気分になれるパーサ入門
by
masayoshi takahashi
PDF
今日からできる!簡単 .NET 高速化 Tips
by
Takaaki Suzuki
PDF
開発速度が速い #とは(LayerX社内資料)
by
mosa siru
PDF
いまさら聞けないarmを使ったNEONの基礎と活用事例
by
Fixstars Corporation
PPTX
ゲームエンジニアのためのデータベース設計
by
sairoutine
PDF
ゲーム開発者のための C++11/C++14
by
Ryo Suzuki
PDF
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
PDF
目grep入門 +解説
by
murachue
PDF
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
by
増田 亨
PDF
O/Rマッパーによるトラブルを未然に防ぐ
by
kwatch
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
PDF
ChatGPTは思ったほど賢くない
by
Carnot Inc.
30分で分かる!OSの作り方 ver.2
by
uchan_nos
OSを手作りするという趣味と仕事
by
uchan_nos
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
by
Shota Shinogi
暗号技術の実装と数学
by
MITSUNARI Shigeo
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
by
Yoshiki Hayama
ソーシャルゲームのためのデータベース設計
by
Yoshinori Matsunobu
メタプログラミングって何だろう
by
Kota Mizushima
ARM CPUにおけるSIMDを用いた高速計算入門
by
Fixstars Corporation
何となく勉強した気分になれるパーサ入門
by
masayoshi takahashi
今日からできる!簡単 .NET 高速化 Tips
by
Takaaki Suzuki
開発速度が速い #とは(LayerX社内資料)
by
mosa siru
いまさら聞けないarmを使ったNEONの基礎と活用事例
by
Fixstars Corporation
ゲームエンジニアのためのデータベース設計
by
sairoutine
ゲーム開発者のための C++11/C++14
by
Ryo Suzuki
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
目grep入門 +解説
by
murachue
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
by
増田 亨
O/Rマッパーによるトラブルを未然に防ぐ
by
kwatch
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
ChatGPTは思ったほど賢くない
by
Carnot Inc.
Similar to 30分で分かる!OSの作り方
PDF
OSがあまりにわからなかったからとりあえず自分でOSつくっちゃった話
by
Wakana Nogami
PPTX
OS入門
by
Shuntaro Saiba
PPTX
Langsmith OpeLa handmade self-hosted OS and LPS
by
uchan_nos
PDF
やってよかったOS作り
by
Hidemi Kawai
PDF
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
by
Yuma Ohgami
PDF
Daisy OSでデイジーワールド!
by
Yuma Ohgami
PDF
OSとWindowsとMicrosoft
by
Masato Hanayama
PPTX
最小セット
by
Kiyoshi Ogawa
OSがあまりにわからなかったからとりあえず自分でOSつくっちゃった話
by
Wakana Nogami
OS入門
by
Shuntaro Saiba
Langsmith OpeLa handmade self-hosted OS and LPS
by
uchan_nos
やってよかったOS作り
by
Hidemi Kawai
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
by
Yuma Ohgami
Daisy OSでデイジーワールド!
by
Yuma Ohgami
OSとWindowsとMicrosoft
by
Masato Hanayama
最小セット
by
Kiyoshi Ogawa
More from uchan_nos
PPTX
MikanOSと自作CPUをUSBで接続する
by
uchan_nos
PPTX
小型安価なFPGAボードの紹介と任意波形発生器
by
uchan_nos
PPTX
トランジスタ回路:エミッタ接地増幅回路
by
uchan_nos
PPTX
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
by
uchan_nos
PPTX
自作言語でお絵描き
by
uchan_nos
PPTX
OpeLa 進捗報告 at 第23回自作OSもくもく会
by
uchan_nos
PPTX
サイボウズ・ラボへ転籍して1年を振り返る
by
uchan_nos
PPTX
USB3.0ドライバ開発の道
by
uchan_nos
PPTX
Security Nextcamp remote mob programming
by
uchan_nos
PPTX
OpeLa セルフホストなOSと言語処理系の自作
by
uchan_nos
PPTX
自動でバグを見つける!プログラム解析と動的バイナリ計装
by
uchan_nos
PDF
1を書いても0が読める!?隠れた重要命令INVLPG
by
uchan_nos
PDF
レガシーフリーOSに必要な要素技術 legacy free os
by
uchan_nos
PDF
Building libc++ for toy OS
by
uchan_nos
PDF
プランクトンサミットの歴史2019
by
uchan_nos
PDF
Introduction of security camp 2019
by
uchan_nos
PDF
Timers
by
uchan_nos
PDF
USB3 host driver program structure
by
uchan_nos
PPTX
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
by
uchan_nos
PPTX
1TB/dayのログを収集・蓄積する技術
by
uchan_nos
MikanOSと自作CPUをUSBで接続する
by
uchan_nos
小型安価なFPGAボードの紹介と任意波形発生器
by
uchan_nos
トランジスタ回路:エミッタ接地増幅回路
by
uchan_nos
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
by
uchan_nos
自作言語でお絵描き
by
uchan_nos
OpeLa 進捗報告 at 第23回自作OSもくもく会
by
uchan_nos
サイボウズ・ラボへ転籍して1年を振り返る
by
uchan_nos
USB3.0ドライバ開発の道
by
uchan_nos
Security Nextcamp remote mob programming
by
uchan_nos
OpeLa セルフホストなOSと言語処理系の自作
by
uchan_nos
自動でバグを見つける!プログラム解析と動的バイナリ計装
by
uchan_nos
1を書いても0が読める!?隠れた重要命令INVLPG
by
uchan_nos
レガシーフリーOSに必要な要素技術 legacy free os
by
uchan_nos
Building libc++ for toy OS
by
uchan_nos
プランクトンサミットの歴史2019
by
uchan_nos
Introduction of security camp 2019
by
uchan_nos
Timers
by
uchan_nos
USB3 host driver program structure
by
uchan_nos
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
by
uchan_nos
1TB/dayのログを収集・蓄積する技術
by
uchan_nos
30分で分かる!OSの作り方
1.
30分で分かる! OSの作り方 自作OSコミュニティosdev-jp @uchan_nos
2.
自己紹介 • Twitter: @uchan_nos •
自作OSコミュニティosdev-jpコアメンバー • 『30日でできる! OS自作入門』 の校正を担当 • 『自作エミュレータで学ぶ x86アーキテクチャ』の著者
3.
OSとは • Operating System Microsoft
Windows 10 のスクリーンショット
4.
OSとは • 定義はいろいろ • 「OSとは、ソフトウェアの 種類の一つで、機器の基本 的な管理や制御のための機 能や、多くのソフトウェア が共通して利用する基本的 な機能などを実装した、シ ステム全体を管理するソフ トウェア。」 http://e-words.jp/w/OS.html https://en.wikipedia.org/wiki/Operating_ system#/media/File:Kernel_Layout.svg
5.
OSとは • 『30日でできる! OS自作入門』の定義 結局のところ、それぞれの作者が 「これはOSなんだ」と言い張って、 周囲の人も「まあそうかな」と思 えばどんなソフトでもOSなんです。
6.
OS自作とは • ほかのOSの力を借りずに起動するソフトウェ ア(なんでもいい)を作ること • ハードウェアに近い世界 •
→ パソコンを支配する感覚 • → エキサイティング!
7.
OS自作も一歩から 自作OSにおける “Hello World”
8.
有名な 自作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
9.
OS自作の方向性 • システムプログラミングを楽しむ • OS理論を学ぶ •
実用的なOSを作る • 既存OSを改良する
10.
システムプログラミング を楽しむ • 『 30日でできる!OS自作入門』の方向性 •
単純にOS作成を楽しむ=娯楽 • コンピュータのハードウェアを支配してる感じ で楽しい • CPUと戯れる • デバイスと戯れる • 低レイヤに詳しくなれる! http://cdn-ak.f.st-hatena.com/images/fotolife/r/rinie/20090409/20090409144532.jpg
11.
OS理論を学ぶ • 『オペレーティングシステム 第3版 設計と実装』などを読んだりする •
メモリ管理、プロセス管理、ファイルシステム、 デバイスドライバの仕組みなどを学ぶ Intel 64 and IA-32 Architectures Software Developer’s Manual より引用 ページングによる メモリ管理の仕組み
12.
実用的なOSを作る • 既存OSが移植されてないハードウェアのOS • 特定の処理のオーバーヘッドが小さいOS •
例:liva氏作の、Intel e1000ギガビットイーサに 対応したOS。Linuxより低遅延に通信できる。 • 一人で汎用かつ実用的なOSを作ることは現代 ではほぼ無理 • 汎用性を捨てれば活路がある
13.
既存OSを改良する • LinuxやFreeBSDなどを改造する • 現代において汎用かつ実用的なOSを目指すな らこの路線 •
この発表でいう「OS自作」ではない
14.
OSを自作する方法 • 入門書を手に入れる • 取りあえずその通り作ってみる •
後は自由に改造したり知識を深めたり
15.
OSを自作する方法 • 入門書を手に入れる • 取りあえずその通り作ってみる •
後は自由に改造したり知識を深めたり たったの3ステップ!
16.
入門書を手に入れる 『30日でできる! OS自作入門』 から始めるのがおすすめ 30日後
17.
OS自作入門:一日目 • P.14「とにかくやるのだぁ」 • バイナリエディタだけで 1.4MBのFDイメージを作成
18.
OS自作入門:二日目 • p.29「まずはテキストエディタの紹介」 • テキストエディタがバイナリエディタの後 にくる書籍なんて聞いたことない!
19.
OS自作入門:四日目 • p.69「C言語と画面表示の練習」 • p.95でなんとなく「OS」らしき画面が! http://hrb.osask.jp/figures.html
20.
OS自作入門:八日目 • マウスが動くようになる • メモリ管理ができるようになる http://hrb.osask.jp/figures.html
21.
OS自作入門:三十日目 • 32ビット、マルチタスク、 ウィンドウシステム、JPGデコーダ http://hrb.osask.jp/figures.html
22.
その後の進路はいろいろ1 • OSの機能を拡張していく • 高機能なシェル •
タスク間通信 • UEFI起動に対応 • OSの理論を勉強する • ページング、仮想記憶 • mutex、共有メモリ • ファイルシステム ウィンドウサイズが 変えられなくて辛い
23.
その後の進路はいろいろ2 • いろんな言語で再実装する • C/C++/D/Rust/C#など •
他のアーキテクチャへの移植 • 2006年当時、いち早くC++化に成功したブログ記事 • 自作OSもくもく会では Rustでの再実装を試みる人がいたり。 「はりぼてOSでC++言語を使いたい」 http://d.hatena.ne.jp/Bayside/20060518/p1
24.
その後の進路はいろいろ3 • デバイスドライバを充実させる • ディスク読み書き •
ネットワークドライバ • USB機器の制御 • グラフィックボード • 既存OSのドライバの移植 http://yourdriversdownload.blogspot.jp/2011/12/ realtek-rtl8139-family-pci-fast.html
25.
例えば私が作ったOS • elf_haribote • はりぼてOS
+ ELFバイナリのローダ • seriboteOS • はりぼてOS + RS-232C通信 http://sanwa.jp/product/syohin_img/K/KR-9EN2_MA.jpg
26.
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 • 『リンカ・ローダ実践開発テクニック』坂井 弘亮
27.
ドライバ製作の参考書 • 『パソコンのレガシィ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
28.
日本の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
29.
OSASK • 川合さんが主担当 • 100KB以下の極小 OSイメージ •
ウィンドウシステム • プリエンプティブ・ マルチタスク
30.
2002/06/18 2chに伝説のスレが立つ Mona OSが初リリース2002
31.
NWSOS, MEG-OSリリース2002 @uchan_nos OSASKを知る 2002?
32.
2003 第2期ブーム最盛期 osdev-jというWikiが発足 →のちのdev-j 派生してOS-Wikiが発足 OS-Wiki http://community.osdev.info/ より
33.
2005 第2期ブーム終焉 dev-j界が徐々に停滞 OSASKリリース停滞 NWSOS開発終了 MEG-OS中断 →おれんじぺこになるも、 それも開発終了
34.
2005 第2期ブーム終焉 dev-j界が徐々に停滞 OSASKリリース停滞 NWSOS開発終了 MEG-OS中断 →おれんじぺこになるも、 それも開発終了
35.
2006 第3期自作OSブーム 『 30日でできる! OS自作入門』出版 はりぼて友の会結成 2007 はりぼて友の会 @IT
に取材される http://jibun.atmarkit.co.jp/lcom01/rensai/comtan02/comtan01.html
36.
2008 第4期自作OSブーム OSASK-HB内部リリース おれんじぺこリリース再開 NWSOS開発再開(宣言) 2007 Mona OS開発停滞 →2002年までに誕生した 古参のOSプロジェクト は壊滅状態に。 2007
はりぼて友の会活動停滞 2009 OSASK一般公開停止
37.
2016 osdev-jp結成 自作OSもくもく会が始動 第5期自作OSブームへ 2013 KたんがOSASKコミュニティ へ復帰 2012
OSECPU-VM開発開始 OS自作関係の3人が 偶然出会ってしまった
38.
自作OSのコミュニティ osdev-jp Web: osdev.jp Slack: osdev-jp.slack.com
Editor's Notes
#11
戯れる「たわむれる」
Download