狠狠撸
Submit Search
翱厂を手作りするという趣味と仕事
?
Download as PPTX, PDF
?
0 likes
?
1,529 views
uchan_nos
耻肠丑补苍と「翱厂自作」との出会いから、それを仕事にするまでを绍介します。中学2年のときに「翱厂自作」という概念に出会い、今では「翱厂自作」がお仕事になりました。
Read less
Read more
1 of 25
Download now
Download to read offline
More Related Content
翱厂を手作りするという趣味と仕事
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.
趣味としての翱厂自作
10.
趣味としての翱厂自作 ?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.
仕事としての翱厂自作
15.
仕事としての翱厂自作 ?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