最小セットOS Ssp fun
-
Upload
kiyoshi-ogawa -
Category
Internet
-
view
232 -
download
0
description
Transcript of 最小セットOS Ssp fun
![Page 1: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/1.jpg)
オープンソース OS の一番小さいものを目指して
最小セット愛好会小川清 @kaizen_nagoya
技術士(情報技術)・工学博士
![Page 2: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/2.jpg)
OS って何?• Operating System の略• 運用環境 (operating environment) のこと• BIOS(basic input output system) と何が違う
の?• C 言語ライブラリと何が違うの?• どんな OS があるの?• OS の機能って何?
![Page 3: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/3.jpg)
目次• OS• オープンソース
![Page 4: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/4.jpg)
どんな 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](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/5.jpg)
OS の機能は• 利用者がコンピュータのことを詳しく知
らなくても操作できるようにする– 時間を測っていなくてもいい– メモリの容量を意識しなくてもいい– ハードウェアを抽象化したインターフェース
をアプリケーションソフトウェアに提供するソフトウェア
• 手作業を自動化する
![Page 6: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/6.jpg)
BIOS
• 基本入出力システム (Basic Input Output System)
• 入出力処理を抽象化• 複数の言語、複数の OS の共通処理を ROM
で提供• 電源投入時に最初に起動• OS を起動する設定が可能• UEFI(Unified Extensible Firmware Interface)
![Page 7: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/7.jpg)
オープンソース• ソフトウェアの設計図であるソースコー
ドを公開している。– Web でダウンロードできる
• 無償であることを前提にしていることがある。– オープンソースを基に、有償のソフトウェア
を作ることを禁止している場合と許可している場合がある
![Page 8: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/8.jpg)
ハードウェアの抽象化• 物理的な接続を Serial– USB(universal serial bus) も Serial の一種
![Page 9: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/9.jpg)
12 ステップで作る組込み OS 自作入門
![Page 10: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/10.jpg)
30 日でできる ! OS 自作入門
![Page 11: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/11.jpg)
![Page 12: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/12.jpg)
空間の管理
![Page 13: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/13.jpg)
時間の管理
![Page 14: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/14.jpg)
C 言語• C 言語も、ハードウェアに依存した機械語
を抽象化したもの– ライブラリ関数として入出力を用意– 入出力をファイルと同じように open, close,
read, write で扱えるようにしている• ハードウェアに依存した記述も可能にし
ている– 機械語の OS, プログラミング言語の全機能を
書き直せるようにするため
![Page 15: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/15.jpg)
ライブラリ関数
![Page 16: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/16.jpg)
複数処理 (multi-task) 機能• 複数の処理の実行を管理する– 実行の開始を自動化
• 優先度の高い処理を先に実行
![Page 17: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/17.jpg)
OS を自作(改良)する利点• OS の機能が分かる• 好きな CPU に好きな OS を載せられるように
なる• OS を使いこなせるようになる• OS の不具合を調べられるようになる• C 言語で書く場合– C 言語の隅々まで理解できる– C 言語の設計思想、制約が分かる
![Page 18: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/18.jpg)
OS の MISRA-C 対応• OS の CPU 依存部分を明確にできる• C コンパイラの違いを明確にできる• OS の上で開発する際の注意事項を明確に
できる
![Page 19: 最小セットOS Ssp fun](https://reader034.fdocument.pub/reader034/viewer/2022052621/557e008cd8b42a07708b4e3f/html5/thumbnails/19.jpg)
参考文献• CPU の創りかた (4bit CPU)