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
Submit search
EN
Uploaded by
uchan_nos
PPTX, PDF
1,678 views
OSを手作りするという趣味と仕事
uchanと「OS自作」との出会いから、それを仕事にするまでを紹介します。中学2年のときに「OS自作」という概念に出会い、今では「OS自作」がお仕事になりました。
Software
◦
Related topics:
Overview of Operating Systems
•
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 25
2
/ 25
Most read
3
/ 25
4
/ 25
5
/ 25
6
/ 25
7
/ 25
8
/ 25
9
/ 25
10
/ 25
11
/ 25
Most read
12
/ 25
13
/ 25
14
/ 25
15
/ 25
16
/ 25
17
/ 25
18
/ 25
19
/ 25
20
/ 25
21
/ 25
22
/ 25
23
/ 25
24
/ 25
Most read
25
/ 25
More Related Content
PDF
30分で分かる!OSの作り方 ver.2
by
uchan_nos
PPTX
30分で分かる!OSの作り方
by
uchan_nos
PPTX
UEFIによるELFバイナリの起動
by
uchan_nos
PDF
Ml system in_python
by
yusuke shibui
PDF
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
by
Google Cloud Platform - Japan
PDF
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
by
onozaty
PPTX
MikanOSと自作CPUをUSBで接続する
by
uchan_nos
PPTX
ARM LinuxのMMUはわかりにくい
by
wata2ki
30分で分かる!OSの作り方 ver.2
by
uchan_nos
30分で分かる!OSの作り方
by
uchan_nos
UEFIによるELFバイナリの起動
by
uchan_nos
Ml system in_python
by
yusuke shibui
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
by
Google Cloud Platform - Japan
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
by
onozaty
MikanOSと自作CPUをUSBで接続する
by
uchan_nos
ARM LinuxのMMUはわかりにくい
by
wata2ki
What's hot
PDF
ソーシャルゲームのためのデータベース設計
by
Yoshinori Matsunobu
PDF
40歳過ぎてもエンジニアでいるためにやっていること
by
onozaty
PDF
Observableで非同期処理
by
torisoup
PDF
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
by
UnityTechnologiesJapan002
PPTX
JIRA / Confluence の必須プラグインはこれだ
by
Narichika Kajihara
PDF
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
by
SEGADevTech
PDF
【2000行弱!】x86用自作カーネルの紹介
by
Yuma Ohgami
PDF
ゲーム開発者のための C++11/C++14
by
Ryo Suzuki
PDF
Building the Game Server both API and Realtime via c#
by
Yoshifumi Kawai
PDF
C#でもメタプログラミングがしたい!!
by
TATSUYA HAYAMIZU
PDF
C++でできる!OS自作入門
by
uchan_nos
PDF
Unityでパフォーマンスの良いUIを作る為のTips
by
Unity Technologies Japan K.K.
PDF
入門 シェル実装
by
Yusuke Sangenya
PDF
きつねさんでもわかるLlvm読書会 第2回
by
Tomoya Kawanishi
PDF
Javaのログ出力: 道具と考え方
by
Taku Miyakawa
PDF
TDD のこころ @ OSH2014
by
Takuto Wada
PDF
これからSpringを使う開発者が知っておくべきこと
by
土岐 孝平
PDF
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
PDF
クラウド環境下におけるAPIリトライ設計
by
Kouji YAMADA
PDF
tf,tf2完全理解
by
Koji Terada
ソーシャルゲームのためのデータベース設計
by
Yoshinori Matsunobu
40歳過ぎてもエンジニアでいるためにやっていること
by
onozaty
Observableで非同期処理
by
torisoup
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
by
UnityTechnologiesJapan002
JIRA / Confluence の必須プラグインはこれだ
by
Narichika Kajihara
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
by
SEGADevTech
【2000行弱!】x86用自作カーネルの紹介
by
Yuma Ohgami
ゲーム開発者のための C++11/C++14
by
Ryo Suzuki
Building the Game Server both API and Realtime via c#
by
Yoshifumi Kawai
C#でもメタプログラミングがしたい!!
by
TATSUYA HAYAMIZU
C++でできる!OS自作入門
by
uchan_nos
Unityでパフォーマンスの良いUIを作る為のTips
by
Unity Technologies Japan K.K.
入門 シェル実装
by
Yusuke Sangenya
きつねさんでもわかるLlvm読書会 第2回
by
Tomoya Kawanishi
Javaのログ出力: 道具と考え方
by
Taku Miyakawa
TDD のこころ @ OSH2014
by
Takuto Wada
これからSpringを使う開発者が知っておくべきこと
by
土岐 孝平
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
クラウド環境下におけるAPIリトライ設計
by
Kouji YAMADA
tf,tf2完全理解
by
Koji Terada
Similar to OSを手作りするという趣味と仕事
PDF
私とOSSの25年
by
MITSUNARI Shigeo
PDF
やってよかったOS作り
by
Hidemi Kawai
PPTX
サイボウズ・ラボへ転籍して1年を振り返る
by
uchan_nos
PPTX
最小セット
by
Kiyoshi Ogawa
PDF
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
by
Yuma Ohgami
PDF
apasec001-kawai
by
Hidemi Kawai
PDF
DIY(~2015)
by
yowasou
私とOSSの25年
by
MITSUNARI Shigeo
やってよかったOS作り
by
Hidemi Kawai
サイボウズ・ラボへ転籍して1年を振り返る
by
uchan_nos
最小セット
by
Kiyoshi Ogawa
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
by
Yuma Ohgami
apasec001-kawai
by
Hidemi Kawai
DIY(~2015)
by
yowasou
More from uchan_nos
PPTX
小型安価なFPGAボードの紹介と任意波形発生器
by
uchan_nos
PPTX
自動でバグを見つける!プログラム解析と動的バイナリ計装
by
uchan_nos
PPTX
USB3.0ドライバ開発の道
by
uchan_nos
PDF
Timers
by
uchan_nos
PDF
レガシーフリーOSに必要な要素技術 legacy free os
by
uchan_nos
PPTX
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
by
uchan_nos
PPTX
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
by
uchan_nos
PPTX
トランジスタ回路:エミッタ接地増幅回路
by
uchan_nos
PDF
Building libc++ for toy OS
by
uchan_nos
PPTX
Langsmith OpeLa handmade self-hosted OS and LPS
by
uchan_nos
PPTX
OpeLa セルフホストなOSと言語処理系の自作
by
uchan_nos
PPTX
1TB/dayのログを収集・蓄積する技術
by
uchan_nos
PDF
USB3 host driver program structure
by
uchan_nos
PDF
プランクトンサミットの歴史2019
by
uchan_nos
PPTX
WalB: Real-time and Incremental Backup System for Block Devices
by
uchan_nos
PPTX
Security Nextcamp remote mob programming
by
uchan_nos
PDF
1を書いても0が読める!?隠れた重要命令INVLPG
by
uchan_nos
PDF
Introduction of security camp 2019
by
uchan_nos
PPTX
自作言語でお絵描き
by
uchan_nos
PPTX
OpeLa 進捗報告 at 第23回自作OSもくもく会
by
uchan_nos
小型安価なFPGAボードの紹介と任意波形発生器
by
uchan_nos
自動でバグを見つける!プログラム解析と動的バイナリ計装
by
uchan_nos
USB3.0ドライバ開発の道
by
uchan_nos
Timers
by
uchan_nos
レガシーフリーOSに必要な要素技術 legacy free os
by
uchan_nos
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
by
uchan_nos
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
by
uchan_nos
トランジスタ回路:エミッタ接地増幅回路
by
uchan_nos
Building libc++ for toy OS
by
uchan_nos
Langsmith OpeLa handmade self-hosted OS and LPS
by
uchan_nos
OpeLa セルフホストなOSと言語処理系の自作
by
uchan_nos
1TB/dayのログを収集・蓄積する技術
by
uchan_nos
USB3 host driver program structure
by
uchan_nos
プランクトンサミットの歴史2019
by
uchan_nos
WalB: Real-time and Incremental Backup System for Block Devices
by
uchan_nos
Security Nextcamp remote mob programming
by
uchan_nos
1を書いても0が読める!?隠れた重要命令INVLPG
by
uchan_nos
Introduction of security camp 2019
by
uchan_nos
自作言語でお絵描き
by
uchan_nos
OpeLa 進捗報告 at 第23回自作OSもくもく会
by
uchan_nos
OSを手作りするという趣味と仕事
1.
OSを手作りするという 趣味と仕事 2021年11月14日 サイボウズ・ラボ株式会社 内田公太
2.
自己紹介 内田公太 @uchan_nos サイボウズ・ラボ株式会社 教育用OS、言語処理系の研究開発 趣味1:自作OSコミュニティ「osdev-jp」の運営 「自作OSもくもく会」をたまに開催 「自作OSアドベントカレンダー」の設置 趣味2:「uchanの電子工作ラボ」運営 電子回路のはんだ付けや計測の設備 https://uchan.net/lab/
3.
OSとは Operating System Microsoft Windows
11 のスクリーンショット Google Android
4.
OS自作とは ほかのOSの力を借りずに起動する ソフトウェアを作る 各ハードウェアを制御し、アプリが 動くようにする ハードウェアに近い世界 パソコンを支配する感覚 「大きな組み込みマイコン」と評す る人もいる パソコンを支配する人と 支配されるパソコン ※「OS自作」により作られたソフトが「自作OS」
5.
私とOS自作との出会い:OSASK 2000年に初リリース 2005年頃まで開発されていた 国産OS 川合氏が主担当 100KB以下の極小OSイメージ ウィンドウシステム プリエンプティブ・マルチタス ク OSASKのスクリーンショット
6.
私とOS自作との出会い:初めてのML投稿 中学2年生の11月 OSASKと川合氏に出会って しばらく後 インターネットコミュニティ に初めて触れた瞬間 2003年というのは、各家庭に 常時接続インターネットが普 及し始めた頃 皆さんには想像し難いでしょ うが…… OSASK-MLに私が送った初めてのメール ※ML(メーリングリスト)とは、今でいうDiscordサーバーやLINEグループみたいな感じ
7.
私とOS自作との関わり 2000年 小5:「OS」に出会う パソコンのOS再インストールがきっかけ 2003年 中2:OSASKに出会う 2005年
高1:「30日でできる!OS自作入門」に出会う 執筆途中の原稿を読ませてもらった 2007年 高3:「はりぼて友の会」として活動 2009年 大2:OS自作の演習講義の補佐 セキュリティ&プログラミングキャンプ2009のOS自作組チューター 2013年 修2:OS自作熱が再燃 2016年 社2:osdev-jpを立ち上げ 2021年 社7:「ゼロからのOS自作入門」を出版
8.
MikanOS:私の自作OS 「ゼロからのOS自作入門」のサ ンプルOS 現代のPCで起動 64ビットモードで動作 USBマウス、キーボード対応 プリエンプティブ・マルチタスク FAT32ファイルシステム ページングによるメモリ管理 30章後のMikanOS
9.
趣味としてのOS自作
10.
趣味としてのOS自作 2000年 小5:OSに出会う パソコンのOS再インストールがきっかけ 2003年 中2:OSASKに出会う 2005年
高1:「30日でできる!OS自作入門」に出会う 執筆途中の原稿を読ませてもらった 2007年 高3:「はりぼて友の会」として活動 2009年 大2:OS自作の演習講義の補佐 セキュリティ&プログラミングキャンプ2009のOS自作組チューター 2013年 修2:OS自作熱が再燃 2016年 社2:osdev-jpを立ち上げ 2021年 社8:「ゼロからのOS自作入門」を出版
11.
「OS自作」に触れる前 小学3年の頃:自分専用のパソコンを手に入れる 小学5年の頃:パソコンが壊れ、OSの再インストールに挑戦 このときに「OS」というものの存在をうっすら認識 小学6年の頃:親と一緒にPICマイコンを学ぶ 中学1年の頃:C言語に入門、のちにDelphiも DelphiはGUIソフトを作れるという触れ込みで学んだ 中学2年の頃:フリーソフト探しに熱中 「フリーソフト」とは無料で使えるソフト • この頃(2000年頃)は「オープンソース」は流行前 Linuxをインストールしたのもこの頃 フリーソフトの宝庫 Vectorのバナー
12.
「OS自作」との遭遇前夜 中学2年の頃、フリーソフト探し中に「OSASK」と出会った Vectorを徘徊していたら、偶然「OSASK」を発見 国産OSということで興味を持つ OSASK作者(川合氏)へ連絡を取った Vector登録版は少々古く、最新版を使う方法を聞いた気がする 当時の最新版は「OSASK/AT 4.5」とかだった気がする 今でもVectorには当時のまま登録されている
13.
「OS自作」との遭遇 OSASKコミュニティでしばらく活動 OSASKのIntroシリーズでプログラミングを学ぶ Introシリーズ:C言語でOSASKアプリを作る教材 標準Cから飛び出した本格的なアプリ開発ができる 文字の表示から始まり、キー入力、サウンド、グラフィック、… そのうち、自分でもOSを作ってみたくなる 川合氏にチャット(IRC)で相談 「30日でできる!OS自作入門」を執筆中であると 明かされる 原稿を読ませてもらえることに! 伝説の書籍
14.
仕事としてのOS自作
15.
仕事としてのOS自作 2000年 小5:OSに出会う パソコンのOS再インストールがきっかけ 2003年 中2:OSASKに出会う 2005年
高1:「30日でできる!OS自作入門」に出会う 執筆途中の原稿を読ませてもらった 2007年 高3:「はりぼて友の会」として活動 2009年 大2:OS自作の演習講義の補佐 セキュリティ&プログラミングキャンプ2009のOS自作組チューター 2013年 修2:OS自作熱が再燃 2016年 社2:osdev-jpを立ち上げ 2021年 社8:「ゼロからのOS自作入門」を出版
16.
サイボウズ・ラボでの仕事 2014年にサイボウズへ新卒入社 2020年にサイボウズ・ラボへ転籍 サイボウズ・ラボではOSや言語処理系(≒コンパイラ)を軸とし た教育活動が仕事のテーマ 「ゼロからのOS自作入門」の執筆 サイボウズ・ラボユースのメンター セキュリティ・キャンプの講師 実製品に搭載されるようなOSや言語処理系をがりがり作っている、 というわけではない
17.
自作言語処理系 自作OS 仕事の例:OpeLaプロジェクト 2020年後半~2021年前半 自作OS上で自作言語処理系を動かし、 OSと言語処理系をビルドする というロマンあふれるプロジェクト 言語処理系を作る途中で、路線変更 OpeLaプロジェクトは凍結
18.
今やってること 「ゼロからのOS自作入門」サポート 質問掲示板(GitHub Issues)に来た質問に回答 毎週土曜日の夜に雑談会を開催し、質問を受け付け 新たな教材づくり 「Cコンパイラの自作」あたりを軸に 「OS自作」ではないけど、関連した技術 FPGAと戯れたりもしている 詳細はまだ秘密 先日開催したFPGA勉強会
19.
何か質問ありますか?
20.
OS自作の何が楽しいの? 普段使っている「OS」の役割、仕組みが分かる ブラックボックスの中を解明する楽しみ 例:ファイルシステムって具体的に何をしているのか 例:複数のアプリを同時に動かす仕組みとは PCを自分で操れる 他のOSに邪魔されず、CPUの全機能が使える USBコントローラも自分で制御する マイコン組み込み開発が好きな人はハマるかも 他の人にはない開発経験を得られる OS自作している人は少数派、希少な存在
21.
OSとは 定義はいろいろ https://e-words.jp/w/OS.html 「OSとは、ソフトウェアの種類の 一つで、機器の基本的な管理や制 御のための機能や、多くのソフト ウェアが共通して利用する基本的 な機能などを実装した、システム 全体を管理するソフトウェア。」 https://en.wikipedia.org/wiki/Operating _system#/media/File:Kernel_Layout.svg
22.
OSとは 『30日でできる! OS自作入門』の定義 結局のところ、それぞれの作者が 「これはOSなんだ」と言い張っ て、周囲の人も「まあそうかな」 と思えばどんなソフトでもOSな んです。
23.
osdev-jpの立ち上げ 時は過ぎて2012年、サイボウズへインターンに行く 「サイボウズ・ラボユース」というインターン制度 お金をもらって好きなものを開発できるという神制度 2014年、サイボウズへ入社 インフラ基盤のソフトを開発する部署へ 毎年3月に、ラボユースの卒業式&成果発表会に出席 2016年の成果発表会に自作OSメンバーが集結→osdev-jp結成 hikaliumさん、Livaさん、そして私 その場に川合氏もいた
24.
言語処理系とは プログラミング言語を実行するための基盤 C言語の世界で説明すると…… コンパイラ:C言語で書いたプログラムをアセンブリ言語に変換 アセンブラ:アセンブリ言語プログラムをオブジェクトコードに変換 リンカ:オブジェクトコードをつなぎ合わせて実行ファイルを生成 ライブラリ:よく使う関数などを提供 CPU:実行ファイルに含まれる機械語を実行 コンパイラ C言語 プログ ラム アセンブラ リンカ CPU 実行 ファイ ル 言語処理系 ライブラリ
25.
OpeLaはどこまで作ったの? OpeLa言語のコンパイラを途中まで作った 四則演算はもちろん、if文やfor文、関数などをサポート ジェネリクスも若干サポート func main() int
{ printf("hello, worldn"); } extern "C" printf func(*byte, ...) int; OpeLa言語で書いたハローワールド
Download