Submit Search
OSを手作りするという趣味と仕事
Download as PPTX, PDF
0 likes
1,642 views
uchan_nos
uchanと「OS自作」との出会いから、それを仕事にするまでを紹介します。中学2年のときに「OS自作」という概念に出会い、今では「OS自作」がお仕事になりました。
Software
Related topics:
Overview of Operating Systems
Read more
1 of 25
Download now
Download to read offline
1
2
Most read
3
4
5
6
7
8
9
10
11
Most read
12
13
14
15
16
17
18
19
20
21
Most read
22
23
24
25
More Related Content
PDF
30分で分かる!OSの作り方 ver.2
uchan_nos
PDF
Kubernetesによる機械学習基盤への挑戦
Preferred Networks
PPTX
30分で分かる!OSの作り方
uchan_nos
PDF
C++でできる!OS自作入門
uchan_nos
PPTX
DockerコンテナでGitを使う
Kazuhiro Suga
PPTX
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
PPTX
本当は恐ろしい分散システムの話
Kumazaki Hiroki
PDF
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
Deep Learning JP
30分で分かる!OSの作り方 ver.2
uchan_nos
Kubernetesによる機械学習基盤への挑戦
Preferred Networks
30分で分かる!OSの作り方
uchan_nos
C++でできる!OS自作入門
uchan_nos
DockerコンテナでGitを使う
Kazuhiro Suga
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
本当は恐ろしい分散システムの話
Kumazaki Hiroki
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
Deep Learning JP
What's hot
(20)
PDF
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
PDF
Rustに触れて私のPythonはどう変わったか
ShunsukeNakamura17
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
PDF
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
akio19937
PDF
コールバックと戦う話
torisoup
PDF
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
PDF
Dockerからcontainerdへの移行
Kohei Tokunaga
PPTX
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
PDF
C/C++プログラマのための開発ツール
MITSUNARI Shigeo
PDF
最近の単体テスト
Ken Morishita
PPTX
Docker超入門
VirtualTech Japan Inc.
PPTX
JIRA / Confluence の必須プラグインはこれだ
Narichika Kajihara
PDF
使ってみて気づいた AGPL ライセンスの メリット・デメリット
Fumito Mizuno
PDF
Ethernetの受信処理
Takuya ASADA
PPTX
Slurmのジョブスケジューリングと実装
Ryuichi Sakamoto
PDF
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Takuya Azumi
PPTX
ゲームインフラコンテナ実践導入
Hiroki Tamiya
PDF
目grep入門 +解説
murachue
PDF
DockerとPodmanの比較
Akihiro Suda
PDF
プログラムを高速化する話
京大 マイコンクラブ
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
Rustに触れて私のPythonはどう変わったか
ShunsukeNakamura17
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
akio19937
コールバックと戦う話
torisoup
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
Dockerからcontainerdへの移行
Kohei Tokunaga
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
C/C++プログラマのための開発ツール
MITSUNARI Shigeo
最近の単体テスト
Ken Morishita
Docker超入門
VirtualTech Japan Inc.
JIRA / Confluence の必須プラグインはこれだ
Narichika Kajihara
使ってみて気づいた AGPL ライセンスの メリット・デメリット
Fumito Mizuno
Ethernetの受信処理
Takuya ASADA
Slurmのジョブスケジューリングと実装
Ryuichi Sakamoto
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Takuya Azumi
ゲームインフラコンテナ実践導入
Hiroki Tamiya
目grep入門 +解説
murachue
DockerとPodmanの比較
Akihiro Suda
プログラムを高速化する話
京大 マイコンクラブ
Ad
Similar to OSを手作りするという趣味と仕事
(7)
PDF
やってよかったOS作り
Hidemi Kawai
PPTX
サイボウズ・ラボへ転籍して1年を振り返る
uchan_nos
PPTX
最小セット
Kiyoshi Ogawa
PDF
apasec001-kawai
Hidemi Kawai
PDF
DIY(~2015)
yowasou
PDF
私とOSSの25年
MITSUNARI Shigeo
PDF
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
Yuma Ohgami
やってよかったOS作り
Hidemi Kawai
サイボウズ・ラボへ転籍して1年を振り返る
uchan_nos
最小セット
Kiyoshi Ogawa
apasec001-kawai
Hidemi Kawai
DIY(~2015)
yowasou
私とOSSの25年
MITSUNARI Shigeo
OSC2023 Tokyo/Fall展示内容(予定)と技術書典15向け新刊(執筆中)のご紹介
Yuma Ohgami
Ad
More from uchan_nos
(20)
PPTX
MikanOSと自作CPUをUSBで接続する
uchan_nos
PPTX
小型安価なFPGAボードの紹介と任意波形発生器
uchan_nos
PPTX
トランジスタ回路:エミッタ接地増幅回路
uchan_nos
PPTX
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
uchan_nos
PPTX
自作言語でお絵描き
uchan_nos
PPTX
OpeLa 進捗報告 at 第23回自作OSもくもく会
uchan_nos
PPTX
USB3.0ドライバ開発の道
uchan_nos
PPTX
Security Nextcamp remote mob programming
uchan_nos
PPTX
Langsmith OpeLa handmade self-hosted OS and LPS
uchan_nos
PPTX
OpeLa セルフホストなOSと言語処理系の自作
uchan_nos
PPTX
自動でバグを見つける!プログラム解析と動的バイナリ計装
uchan_nos
PDF
1を書いても0が読める!?隠れた重要命令INVLPG
uchan_nos
PDF
レガシーフリーOSに必要な要素技術 legacy free os
uchan_nos
PDF
Building libc++ for toy OS
uchan_nos
PDF
プランクトンサミットの歴史2019
uchan_nos
PDF
Introduction of security camp 2019
uchan_nos
PDF
Timers
uchan_nos
PDF
USB3 host driver program structure
uchan_nos
PPTX
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
uchan_nos
PPTX
1TB/dayのログを収集・蓄積する技術
uchan_nos
MikanOSと自作CPUをUSBで接続する
uchan_nos
小型安価なFPGAボードの紹介と任意波形発生器
uchan_nos
トランジスタ回路:エミッタ接地増幅回路
uchan_nos
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
uchan_nos
自作言語でお絵描き
uchan_nos
OpeLa 進捗報告 at 第23回自作OSもくもく会
uchan_nos
USB3.0ドライバ開発の道
uchan_nos
Security Nextcamp remote mob programming
uchan_nos
Langsmith OpeLa handmade self-hosted OS and LPS
uchan_nos
OpeLa セルフホストなOSと言語処理系の自作
uchan_nos
自動でバグを見つける!プログラム解析と動的バイナリ計装
uchan_nos
1を書いても0が読める!?隠れた重要命令INVLPG
uchan_nos
レガシーフリーOSに必要な要素技術 legacy free os
uchan_nos
Building libc++ for toy OS
uchan_nos
プランクトンサミットの歴史2019
uchan_nos
Introduction of security camp 2019
uchan_nos
Timers
uchan_nos
USB3 host driver program structure
uchan_nos
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
uchan_nos
1TB/dayのログを収集・蓄積する技術
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