Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

平成生まれのための MINIX 講座

753 views

Published on

2018年11月22日(木)、 #ssmjp 2018/11における発表資料です。

平成生まれのための MINIX 講座
於 #ssmjp @ ソフトバンク株式会社 汐留新館キャンパス
日本UNIXユーザ会 高野光弘 a.k.a. @takano32

MINIX とは
今日の流れ
Operating System: Design and Implementation 現在の MINIX を知る
今後の MINIX に向け

Published in: Technology
  • Be the first to comment

  • Be the first to like this

平成生まれのための MINIX 講座

  1. 1. 平成生まれのための MINIX 講座 2018-11-22 於 #ssmjp @ ソフトバンク株式会社 汐留新館キャンパス 日本UNIXユーザ会 高野光弘 a.k.a. @takano32
  2. 2. 今日の流れ • 自己紹介 • MINIX とは • Operating System: Design and Implementation • 現在の MINIX を知る • 今後の MINIX に向け • まとめ
  3. 3. お前、誰よ? • 高野光弘 • @takano32 - fb.com/takano32 • 日本UNIXユーザ会 幹事 • Ruby コミッター • CONBU コアメンバー • Pharo Smalltalk コントリビュータ
  4. 4. MINIX とは
  5. 5. –フリー百科事典『ウィキペディア(Wikipedia)』 “MINIX(ミニックス)とは、1987年にオランダ・アムステルダム自由大 学(蘭: Vrije Universiteit Amsterdam)の教授であるアンドリュー・タネ ンバウムが、オペレーティングシステム(OS) の教育用に執筆した著書、 『Operating Systems: Design and Implementation』の中で例として開発 した、Unix系のオペレーティングシステム (OS) である。”
  6. 6. MINIX • タネンバウム先生が OS の教材のために作成 • UNIX のコードがライセンス問題で非公開 • 書籍の執筆にあわせて作成 • Operating System: Design and Implementation • UNIX 系オペレーティングシステム • UNIX version 7 互換
  7. 7. よく “MINIX” を 耳にする理由
  8. 8. –フリー百科事典『ウィキペディア(Wikipedia)』 “MINIXの「実用を目的としない」というポリシーに対し、ニュー スグループ comp.os.minix において、MINIXを実用に耐えるOS にしようという試みが提示された。しかし、タネンバウムは機能 を追加することに否定的だったため、リーナス・トーバルズは新 たにOSを作ることを決断し、1991年10月にはついにLinux version 0.02がリリースされるに至った。”
  9. 9. Linux の祖先とも 言える OS
  10. 10. 1987年 = 昭和62年 1991年 = 平成3年
  11. 11. MINIX と Linux • ライナスは新しい OS を作る決断をした • タネンバウムの書籍を参考にした • 4ヶ月くらい引きこもって読んだらしい • 頑張って Linux ができる • Linux 大ヒット
  12. 12. MINIX と Linux • タネンバウムとライナス • 書籍を通した擬似的な師弟関係 • 「Linux は時代遅れ」という炎上 • タネンバウムの Linux 批判からはじまる議論 • マイクロカーネル vs. モノリシックカーネル
  13. 13. MINIX vs. Linux • アンドリュー・タネンバウムとリーヌス・トーヴァルズの議論 • 日本語版 Wikipedia • オープンソースソフトウェア――彼らはいかにしてビジネススタンダー ドになったのか 付録 • タネンバウム教授、MINIXの失敗とLinux普及の理由を語る - Publickey • 忘れたころに再燃する • そろそろ再燃するのでは?
  14. 14. ところで
  15. 15. Operating System: Design and Implementation
  16. 16. どんな本か気になる?
  17. 17. Operating System: Design and Implementation • どんな本なのか • MINIX の Wiki に紹介されている • Pearson のサイトで販売されている
  18. 18. 英語の洋書
  19. 19. Q. 日本語で読めない ?
  20. 20. A. 翻訳書あります
  21. 21. オペレーティングシステム 設計と理論およびMINIXによる実装 • オペレーティングシステム 設計と理論およびMINIXによる実装
  22. 22. 高い!!!
  23. 23. 宣伝(?):Kindle 化の リクエストをしよう
  24. 24. 自己紹介 • 高野光弘 @ Wikipedia
  25. 25. 今泉貴史先生も jus 幹事
  26. 26. 今日は jus が揃ってる
  27. 27. MINIX のことを話そう # と思った
  28. 28. 余談 • 新しい第三版もあります • 内容が充実している
  29. 29. 閑話休題
  30. 30. 現在の MINIX を知る
  31. 31. MINIX • 過去の OS と思われがち • 現在も開発が続いている • 最新のリリースは v3.3.0 • たぶん 2014-09-14 にリリース • じゅうぶんに平成 • たとえば VIM • v7.4.141
  32. 32. MINIX のコード • カーネルはマイクロカーネル • git://git.minix3.org/minix.git • https://github.com/Stichting-MINIX-Research-Foundation/minix • パッケージは NetBSD と高い互換がある • git://git.minix3.org/pkgsrc-ng.git • https://github.com/Stichting-MINIX-Research- Foundation/pkgsrc-ng
  33. 33. MINIX を使う • 試してみるには Docker を使うのがラク • https://github.com/madworx/docker-minix • $ docker build -t minix:3.3.0 . • $ docker run -d --name minix -t minix:3.3.0 • $ docker exec -it minix ssh localhost • MINIX 3 on Virtual Machines も参考になる
  34. 34. MINIX を実用する • Wiki の Getting Started を参照 • CD-ROM の ISO イメージが配布されている • x86 や x86_64 のマシンにインストールできる • ARM Corte A8 にも対応 • 実用は…あまり、オススメできない
  35. 35. MINIX の実用を オススメしない理由 • ユーザランドの多くが NetBSD に頼っている • NetBSD にないものは自力で動かすことになる • GCC が動かなくなった • sysctl(8) はまだ MINIX に移植されていない • GNU 由来のものがどんどん使えなくなっている • 古い GNU のものは古い GCC でコンパイルできる
  36. 36. MINIX の実用を オススメしない理由 • pthread の実装がない • `configure` でスレッドの実装が見つからない • わりと動かないものが多い • 現在、実用的なものを目指している • 完成はしていない • 別のものを使えばいい
  37. 37. MINIX の現在 • 開発は進んでいる • NetBSD の派生という位置づけに近い • カーネルに強引すぎるコードは入ってない • v3.4 RC6 のビルド準備をしている • たぶん v3.4 のリリースは平成には間に合わない…
  38. 38. MINIX に改めて触れて • 新旧が混交した不思議な世界 • src(カーネル) や pkgsrc(パッケージ) の管理は git • GCC はサポートされていないが LLVM は動く • VIM v8.1.0542 とかはコンパイルできた • CC=clang ./configure …
  39. 39. 今後の MINIX に向け
  40. 40. 今後の MINIX に向け • 完全に開発が止まっているわけではない • 実用的ではないということはチャンス • バランスを考慮しつつ実用を目指している • コントリビューションしていく余地がある • コミュニティは優しい • 貢献してみよう
  41. 41. まとめ • 平成生まれのための MINIX 講座 • MINIX は Linux の祖先 • ふれあうことでライナスと同じ経験ができる(はず) • タネンバウム先生とライナスの関係は良好 • 現在も開発が続いている • 長期プロジェクトのメンテナンスという観点でも参考にできる • 開発は環境の変化に対応して続いている
  42. 42. 余裕があればデモ
  43. 43. ご静聴 ありがとうございました

×