2024/04/19 更新
この記事は、自作OS Advent Calendar 2017の 12/2 の記事として書かれました。
ブックマーク(サイズは 10MB 超)の収集を先行させ、それを整理することで Gist にメモを書いたり、非公開のテキストファイルにメモをするなどしました。
ブックマークのリポジトリのバックアップの都合で、リポジトリが肥大化した際に過去の歴史を改ざんして、古い履歴を捨てているので一部の情報は消失しています。
- OS 開発予定(基本機能)
- 自作 OS で USB デバイスに対応するための調査メモ
- 自作 OS 開発のための OPML・ブックマーク HTML ファイル
- 自作 OS 開発のための和書
- やらないこと・低優先度のリスト
自作OS Advent Calendar 2017向けに書いた他の主な記事は、以下の通りです。
自作してみたいから・学習目的で、という以外に OS を自作する意味は無いと思います。
なぜならば、すでに世の中に多数の OS が存在し、新規性のある OS を開発することも難しいのが現状です。
それでも OS を自作するのであれば、自分らしい OS(常用可能でセルフ開発可能な自作 OS)の構造を設計することを試みるのが良いと考えて、作業を進めています。
過去に OS を開発したいと思っても、忙しくなったり資料が入手出来なかったりして、何度か断念していたことも心残りになっていました。
趣味で開発する場合、他者(企業や個人)に対して契約という行為が無いのが普通だと思います。スケジュールや作業範囲は自由に決めることが出来ます。
仕事として行うプログラミングでは、できるだけ早く、確実に動くものを提供出来るのかということが、重視されているように思います。
それに対して、趣味で開発するということは、仕事を他者から担当させられているわけではないので、仕上がりの早さを競技のように競う必要はありません。
もちろん、できるだけ早く完成出来たほうが良いでしょうし、現実的な作業範囲を決めることが出来たほうが良いでしょうが、趣味というのはワナビ的な世界観の一面があります。
ここ十数年ほど、特定業界向けのシステム開発で消耗していて勉強不足だったので、世の中に存在する規格やライブラリなどを知りたくなって、必要な情報をブックマークすることから始めました。
資料収集で特別なことはしていません。見落としがちな点を挙げるなら、日本工業規格(JIS)が制定されている規格の場合、日本規格協会から印刷された規格票を購入することを検討するようにしています。その際、冒頭だけ和訳されて残りの文章が全部英文の場合は JIS を入手する意味がないので、除外するようにしています。それなら、最新の ISO を入手した方が良いです。JIS 規格票は、一般の書店でも注文すれば購入できるようですが、個人でも日本規格協会から直接、購入が可能です。書店よりも届くのが早いです。通常は PDF 版も併売されているので、紙よりも PDF が良い人は PDF 版を選ぶと良いでしょう。
入手済み、または入手を検討している JIS 規格票は以下の通りです。
- JIS X 3010:2003 プログラム言語C
- JIS X 0221:2020 国際符号化文字集合(UCS)
- JIS X 3061:2021 JSONデータ交換フォーマット
- JIS X 5603:1990 開放型システム間相互接続の抽象構文記法1(ASN.1)仕様
- JIS X 0606:1998 情報交換用CD-ROMのボリューム構造及びファイル構造
- JIS X 0607:1996 非逐次記録を用いる追記形及び書換形の情報交換用媒体のボリューム及びファイルの構造
- JIS X 0607:1996/CORRIGENDUM 1:2001 非逐次記録を用いる追記形及び書換形の情報交換用媒体のボリューム及びファイルの構造(追補1)
- JIS X 0610:2006 DVD-再生専用ディスクのボリューム構造及びファイル構造
- JIS X 0610:2006/AMENDMENT 1:2017 DVD-再生専用ディスクのボリューム構造及びファイル構造(追補1)
- JIS X 6235:2015 DVD-レコーダブルディスク(DVD-R)のボリューム構造及びファイル構造
- JIS X 0612:2015 ユニバーサルディスクフォーマット(UDF)1.50
- JIS X 0611:2018 ユニバーサルディスクフォーマット(UDF)2.01
- JIS X 0613:2015 ユニバーサルディスクフォーマット(UDF)2.50
- JIS X 0614:2015 ユニバーサルディスクフォーマット(UDF)2.60
- JIS X 4401:2014 オフィス文書のためのオープン文書形式(OpenDocument)v1.1
- JIS X 4197:2012 変倍ベクタグラフィックス/SVG Tiny 1.2
- JIS X 4156:2005 ハイパテキストマーク付け言語(HTML)
- JIS X 4168:2004 段階スタイルシート 水準1(CSS1)
- JIS X 3005-1:2014 データベース言語SQL 第1部:枠組(SQL/Framework)
- JIS X 3005-2:2015 データベース言語SQL 第2部:基本機能(SQL/Foundation)
- JIS X 8341-1:2010 高齢者・障害者等配慮設計指針―情報通信における機器,ソフトウェア及びサービス―第1部:共通指針
- JIS X 8341-3:2016 高齢者・障害者等配慮設計指針―情報通信における機器,ソフトウェア及びサービス―第3部:ウェブコンテンツ
- JIS X 8341-6:2013 高齢者・障害者等配慮設計指針―情報通信における機器,ソフトウェア及びサービス―第6部:対話ソフトウェア
- JIS X 8341-7:2011 高齢者・障害者等配慮設計指針―情報通信における機器,ソフトウェア及びサービス―第7部:アクセシビリティ設定
- JIS X 23761:2022 EPUBアクセシビリティ―EPUB出版物の適合性及び発見可能性の要求事項
また、必要なら業界団体が発行している仕様書(Exif 等)を入手することも検討してみてください。
- JEITA 電子情報技術産業協会 / AV&IT機器部門
https://www.jeita.or.jp/cgi-bin/standard/list.cgi?cateid=1&subcateid=4 - CIPA 一般社団法人カメラ映像機器工業会: CIPA規格類
https://www.cipa.jp/j/std/std-sec.html
古い本がメインだったこともあってか、あまり反響は無かったのですが、記録しておくと書棚に本を戻す時の参考になると気づきました。
自作 OS で使えそうなデバイスをリストアップしているメモを探しても、見つからなかったので書いてみました。Kernel/VM探検隊の Slack で Bluetooth デバイスについて助言してくれる人がいて助かりました。
実現すべき機能の依存関係に基いて、実現しないと先に進めなくなるものから順に開発していくように開発計画のメモの書き直しを行いました。
基本的に企業向けだったり、Server の維持管理費がかかるものや、評価が定まっていないものを除外するようにしています。趣味としてやっていますし、新規分野を開拓する余力は無いためです。
ダイソーで質の良いファイルばかり買っていたら、なぜか入荷されなくなりました。100 円商品としては、赤字の商品だったのかもしれません。当面の作業で必要な量は確保できています。
- 利用を想定している規格の仕様書を印刷し、ファイリング
- 技術雑誌(Interface, Software Design)のバックナンバーを解体し、分野別にファイリング
- やらないこと・低優先度のリストを参照し、不要な資料を廃棄
- 電子書籍の執筆環境の開発
- 電子書籍の UEFI の章の執筆を再開(商品として販売する予定はありません。永久に無料です)
- OS 開発予定(基本機能)の計画に沿って調査・開発