19
オオオオオオオ OS オ オオオオオオオオオオ オオオオオオオオ オオオ @kaizen_nagoya オオオ オオオオオ オ オオオオ ()

最小セットOS Ssp fun

Embed Size (px)

DESCRIPTION

最小セットの原稿

Citation preview

Page 1: 最小セットOS Ssp fun

オープンソース OS の一番小さいものを目指して

最小セット愛好会小川清 @kaizen_nagoya

技術士(情報技術)・工学博士

Page 2: 最小セットOS Ssp fun

OS って何?• Operating System の略• 運用環境 (operating environment) のこと• BIOS(basic input output system) と何が違う

の?• C 言語ライブラリと何が違うの?• どんな OS があるの?• OS の機能って何?

Page 3: 最小セットOS Ssp fun

目次• OS• オープンソース

Page 4: 最小セットOS Ssp fun

どんな OS があるの?• PC 用 : Windows 8, Mac OS X, Linux …• 携帯用: iOS, Android( 実は Linux)• 自動車用 : ISO OSEK, Autosar( 実は OSEK)…

TOPPERS/ATK2• 家電用 : TOPPERS/ASP… • 航空宇宙用: TOPPERS/HRP…

• 一番小さい: TOPPERS/SSP(smallest Set Profile)

Page 5: 最小セットOS Ssp fun

OS の機能は• 利用者がコンピュータのことを詳しく知

らなくても操作できるようにする– 時間を測っていなくてもいい– メモリの容量を意識しなくてもいい– ハードウェアを抽象化したインターフェース

をアプリケーションソフトウェアに提供するソフトウェア

• 手作業を自動化する

Page 6: 最小セットOS Ssp fun

BIOS

• 基本入出力システム (Basic Input Output System)

• 入出力処理を抽象化• 複数の言語、複数の OS の共通処理を ROM

で提供• 電源投入時に最初に起動• OS を起動する設定が可能• UEFI(Unified Extensible Firmware Interface)

Page 7: 最小セットOS Ssp fun

オープンソース• ソフトウェアの設計図であるソースコー

ドを公開している。– Web でダウンロードできる

• 無償であることを前提にしていることがある。– オープンソースを基に、有償のソフトウェア

を作ることを禁止している場合と許可している場合がある

Page 8: 最小セットOS Ssp fun

ハードウェアの抽象化• 物理的な接続を Serial– USB(universal serial bus) も Serial の一種

Page 9: 最小セットOS Ssp fun

12 ステップで作る組込み OS 自作入門

Page 10: 最小セットOS Ssp fun

30 日でできる ! OS 自作入門

Page 11: 最小セットOS Ssp fun
Page 12: 最小セットOS Ssp fun

空間の管理

Page 13: 最小セットOS Ssp fun

時間の管理

Page 14: 最小セットOS Ssp fun

C 言語• C 言語も、ハードウェアに依存した機械語

を抽象化したもの– ライブラリ関数として入出力を用意– 入出力をファイルと同じように open, close,

read, write で扱えるようにしている• ハードウェアに依存した記述も可能にし

ている– 機械語の OS, プログラミング言語の全機能を

書き直せるようにするため

Page 15: 最小セットOS Ssp fun

ライブラリ関数

Page 16: 最小セットOS Ssp fun

複数処理 (multi-task) 機能• 複数の処理の実行を管理する– 実行の開始を自動化

• 優先度の高い処理を先に実行

Page 17: 最小セットOS Ssp fun

OS を自作(改良)する利点• OS の機能が分かる• 好きな CPU に好きな OS を載せられるように

なる• OS を使いこなせるようになる• OS の不具合を調べられるようになる• C 言語で書く場合– C 言語の隅々まで理解できる– C 言語の設計思想、制約が分かる

Page 18: 最小セットOS Ssp fun

OS の MISRA-C 対応• OS の CPU 依存部分を明確にできる• C コンパイラの違いを明確にできる• OS の上で開発する際の注意事項を明確に

できる

Page 19: 最小セットOS Ssp fun

参考文献• CPU の創りかた (4bit CPU)