SlideShare a Scribd company logo
1 of 54
リアルタイムOS の必要性と
TOPPERS/SSP の紹介
• この資料は,数年前に某所で開催したセミナーの
資料の焼き直しです.
– 正直,話が古い部分もあると思います
• TOPPERS/SSPカーネルの紹介
– SSPカーネルとはどのようなものか
• 対象
– SSPカーネルに興味のある方
– 前提:C言語の基礎知識
• 内容
– 前半:リアルタイムOSとは
– 後半:SSPカーネルとは(使い方は別スライドでまた)
この資料について
2
• TOPPERS/SSPカーネルとは
– TOPPERSプロジェクトで公開されている
– 小規模組込みシステム向け
– リアルタイムOS
です.
• SSPカーネルの説明に入る前に,簡単に
背景を説明します.
– 組込みシステムとは,リアルタイムOSとは
– TOPPERSプロジェクトとは
TOPPERS/SSP とは
3
• 参考文献「12ステップで作
る 組込みOS自作入門」
– 初学者におすすめ
– この本があればこのスライド
のRTOSの説明いらないか
も...
http://kozos.jp/books/makeos/
そのまえに
4
前提とする組込みシステム
5
組込みシステム
• 各種の機器に組み込んで, その制御を行う
コンピュータシステム
– 以前では,パソコンやワークステーションで
はないコンピュータシステムはほぼ該当
* ぶっちゃけ,範囲広すぎ
– 分類の難しいシステムもある(携帯電話とか)
• 専用化したコンピュータシステム
– この意味だと,測定器につながれたパソコン
も組込みシステムになる
6
• 「TOPPERS開発成果物の採用事例」より
http://www.toppers.jp/applications.html
たとえば
デジタルピアノ
CASIO PX-850BK
HDDデュプリケータ
株式会社ワイ・イー・シー
Demi PG520
ロケット
JAXA H-IIA型
ジェルジェットプリンタ
リコー IPSiO GX e3300
7
• コンピュータ内蔵,プログラム制御
– プログラムでシステムを高付加価値化
– なにがしか実世界との接点がある
• 特定の機能だけをもつ専用機
いずれも
8
• システムにより(ハード・ソフト)構成が異
なる.
• 機能は動作中に変化しない.
– 目的に専用化
• 時間制約に従う (リアルタイム性をもつ)
– 動作環境や制御対象に合わせて動作できる
* 単純に「速い」ということではなくて
– 動けない場合でもひどい結果にならない
組込みシステムの特徴
9
たとえば...
– 実行開始のタイミング
* 周期的,非周期的
– デッドライン(締め切り)
* ハード,ソフト
* ファーム(firm)
– ジッタ(タイミングの揺れ)
* 絶対的,相対的
とか...
(ちょっと脱線)時間制約って?
時間
T T T T
T1 T2 T3 T4
d
Δt
Δt
10
• システム機能を実現するいくつかの「ア
プリケーションプログラム」からなる.
– たとえば
• プログラム構成はシステム毎に異なり,
設計時に決まる.動的に変化しない.
• プログラムは事前に検証され,システム
に悪影響を及ぼさないことを前提とする
組込みソフトウェアの特徴(1)
入力
処理
入力 出力
計算
処理
出力
処理
プログラム
モータ
制御
パルス
データ
PWM信号
シリアル
モニタ
コマンド
データ
結果
出力
11
• 多くの場合,プログラムは並行してサー
ビスを提供する.なので,適切な処理の
切り替えが必要
• システムの時間制約を満たすように動か
すこと
組込みソフトウェアの特徴(2)
入力 出力
入力 出力
入力 出力
入力 出力
時間
12
そこで,リアルタイムOS?
13
• OSとは,プログラムの実行を管理するソ
フトウェアのこと.
– プログラムを「開始」とか「停止」とか「終
了」とか
• 同時に動作する複数のプログラムの実行
を管理するために利用される.
「同時に動作する」といっても単一プロセッサでは同時に一つしか動かせ
ません.ここでは「同時に動作状態にある」とでも思っていただけると
まず,OS(Operating System)とは
14
• システムごとにハード構成が異なる.
• そのため,OSはプロセッサや割込みコン
トローラなど「最低限の構成」を前提に
「最小限の機能」だけが提供される.
– 保護機能も必須ではない.リアルタイム性の
観点からできる限り省かれる.
• システムがリアルタイム性を求められる
ため,その実現に適した機能を持つ.
– で,結局それは リアルタイムOS ということになる...
組込みシステムのOS
15
RTOSを使いたくなる状況までを
順番に追ってみる
16
• 例1)0.5秒周期で動作するプログラム
– 例えば機器の稼働状態を示すLED点滅とか
– 時間経過はポーリングでチェック
ポーリングによるループ処理
task1
void main () {
while(1) {
if(0.5秒経過?) {
task1();
}
}
}
void task1() {
/* 処理*/
}
0.5s
main
17
• 例2)処理を追加
– シリアルからデータを随
時受信.
– 受信毎に,対応するコマ
ンドを実行.
– 処理(console_task)が短い
うちは特に問題ない
ポーリングによるループ処理
task1
void main () {
while(1) {
if(0.5秒経過?) {
task1();
}
if(シリアル受信?) {
console_task();
}
}
}
console_task
18
• 例3)時間のかかる処理が追加された
– 周期処理が遅れる(または取りこぼす)可能
性がでる
ポーリングによるループ処理
task1
void main () {
while(1) {
if(0.5秒経過?) {
task1();
}
if(シリアル受信?) {
console_task();
}
}
}
void console_task () {
if(メモリダンプ?) {
/* ダンプ処理(長い) */
}
else if(コマンド?) {
/* 他のコマンド処理 */
}
}
console_task
19
• 対策案)0.5秒ごとの周期処理を優先的に
実行したいなら,それを割込み処理にす
る
割込みによる解決
handler1
void main () {
while(1) {
if(シリアル受信?) {
console_task();
}
}
}
void console_task() {
if(メモリダンプ?) {
/* ダンプ処理 */
}
else if(コマンド?) {
/* 他のコマンド処理 */
}
}
console_task
void handler1() {
/* 処理 */
}
0.5秒タイマー
20
• あるプログラムが,それまで動いていたプロ
グラムの間に割り込むこと
– それまでの処理を一時中断して別の処理を実行
し,その後,中断したプログラムを中断した時点
から再開すること
– 割込みを使用すると,動作順序に関連性のない独
立した逐次処理の流れが発生する
– 割込みは優先度というパラメータを持ち,高い優
先度をもつ割込みが先に実行される
割込みとは
スイッチ
タイマ
タイマ
割込み
処理
スイッチ
割込み
処理
割込み発生!
割り込まれるプログラム
割込み処理プログラム
処理を保留
21
• プロセッサの利用効率を上げる
– 通常、デバイスの動作はプロセッサより遅い
– 外部の変化を検出するために常に確認するの
は効率が悪いため変化した時に教えてもらう
割込みを利用する目的
確認
処理2
処理1
処理2
処理1
22
• 割込みが発生すると,プロセッサへ非同期に電気
的な信号(割込み信号)が送られる
• プロセッサは割込み信号を受け取ると、実行中の
プログラムを中断し,割込み処理プログラムを開
始する
• 割込み処理プログラム実行中,それよりも高い優
先度を持つ割込みが発生した場合には処理が中断
され,高い優先度をもつ割込み処理プログラムが
開始される
• 割込み処理プログラムが終了するとプロセッサは
中断していたプログラムを再開する
割込み発生時の処理の流れ
割込み発生!
割込み処理プログラム
処理を保留
割込み信号
23
• 例4)割込み処理を追加(優先度:高)
– 取りこぼすかもしれないため入力を早く受け
付けたい.でも,処理完了に時間がかかる.
追加したいものがそういうものだったとしましょう.
– 処理時間が長くて,優先度の高い割込み処理
を追加すると,そのぶん他の割込みの受付が
遅くなることがある それでよいか?
割込みの追加と問題点
handler1
console_task
handler2
24
• 困るならば,プログラムを「先に処理し
たい」部分と「後で行う」部分に分けて
みる
– 急ぐ部分だけを割込み処理にする
処理の分割
プログラム
入力 出力
急ぐ処理
後で行う
処理
出力入力 通知
25
• 対策案)一部をメインループへ移動
– handler1 の割込み受付の遅れは最小限に
– これで解決,しかし...
割込みによる解決
handler1
console_task
handler2
task2
handler2では最低限の処理と
task2への通知を実施
26
• 移動された(時間のかかる)処理は,最悪ルー
プ1周するまで実行を待たされることがある
– 結局,元の問題に戻った
– メインでなく低優先度の割込み処理とかすれば良
いのでは?それも正解ですが優先度数には上限が.
割込みによる解決
void main () {
while(1) {
if(シリアル受信?) {
console_task();
}
else if(task2開始条件?) {
task2();
}
}
}
handler1
console_task
handler2
task2
最低限の処理とtask2への通知
27
• 対策案)長い処理は一定量処理して戻す
定期的な処理の切り替え
void console_task(void) {
static int dump_run = false;
if(メモリダンプ? || dump_run) {
dump_run = dump(dump_run);
}
/* 以下,省略 */
}
int dump(int cont) {
if(cont) {
/* 中断前の状態に戻す */
goto loop: // 再開
}
while(データ残ってる?) {
loop:
/* データ出力 */
if(中断回数?) {
/* 状態保存 */
return true; // 継続中
}
}
return false; // 終了
}
handler1
console_task
handler2
task2
main
28
• プログラムの切り替え処理をいちいち埋
め込むのはとても煩雑
– プログラム追加毎に必要
– 計算量もそのつど決定
でも
void dump(void) {
while(データ残ってる?) {
/* データ出力 */
}
return;
}
本来行いたい処理
int dump(int cont) {
if(cont) {
/* 中断前の状態に戻す */
goto loop: // 再開
}
while(データ残ってる?) {
loop:
/* データ出力 */
if(中断回数?) {
/* 状態保存 */
return true; // 継続中
}
}
return false; // 終了
}
29
• 割込みを利用することで,急ぐ処理を優先的
に実行開始できる.
• プログラムを割込み処理とメイン処理に分け
ることで,割込み受付の遅延を尐なくでき
る.
• しかし,メインループの処理には優先度がな
いため,急ぐ処理が先に実行されることが保
証できない.
– デッドラインを守る上においては重要である.
ここまでの課題を整理
割込み処理A
割込み処理B
タスクA
タスクB
割込みA
割込みB
通知
通知
30
• 先に実行させたいタスクに高い優先度を
設定することで,先に実行させることが
できる.
– 優先度の低いタスクが動いていても関係ない
RTOSによる解決
void task2() {
/* タスク処理 */
}
void handler2() {
iact_task(TASK2); // 起動
}
void console_task () {
/* コマンド処理 */
}
handler1
console_task
handler2
task2
task2 起動
31
• RTOSを使うと
– メインプログラムの間に割込みのような優先
度を持たせ,急ぐ処理を常に先に実行でき
る.
– 複数のプログラムを並行に動作させた上でリ
アルタイム性が検討できるようになる
– プログラムの共通的な切り替え処理をOSとし
て分離できる.その結果,各プログラムの独
立性が高まり,保守管理が楽になる.
ということができる
RTOSのメリットまとめ
32
• 実行開始のタイミング
– 周期ハンドラ+タスク起動
– 割込み+タスク起動
• デッドライン(締め切り)
– スケジューリング規則と優先
度設定で最悪処理時間を調整
• ジッタ
– スケジューリング規則と優先
度設計で開始タイミングの遅
れの程度を調整
– (RTOSとは関係ないけど)処理が一定時間で終わる
ようなソフト設計とか,ハード設計とか
RTOSの時間制約への寄与
時間
T T T T
T1 T2 T3 T4
d
Δt
Δt
33
• 全ての利用者やプログラムに平等に計算
機資源を提供するという考え方に基づく
ため,リアルタイム性が保証できない
– TSS(タイムシェリングシステム)
– 実際には,リアルタイム性をもたせるための
拡張機能を取り込んでいる場合もある.
• 必要メモリ量が多すぎる.
– 最低でも1MBはRAMが必要というのでは,
RAMが尐ないシステムでは使えない.たくさん積
んでるなら良いけど
汎用OSではなぜダメか
34
• ハードウェアは年々変化する.開発の都
合でハード変更が必要となる場合がある
• ハードウェアが異なれば,割込み系な
ど,そのハードの定義や挙動も異なる.
• その都度システムが同じ振る舞いをする
かどうかの検討が必要となる.
• OSという共通の枠組みを使うことで,OS
移植とアプリ移植を独立に実施できる.
ハードに起因する挙動の違いを枠組みに
そって整理でき,検討しやすくなる.
RTOSの別のメリット
35
• 様々なRTOS
– μITRON (TOPPERS/JSP, NORTi など)
– OSEK/VDX (ISO 17356シリーズ)
– その他(QNX,VxWorks, とか)
• OS によっては目的別に機能のサブセット
が定義されている
– (μITRON4.0)スタンダードプロファイル,自
動車制御プロファイル
– (OSEK) BCC1,BCC2,ECC1,ECC2
 ここでは TOPPERS/SSP カーネルを対象にしますが,そういやTOPPERS
まだ紹介してないですね....
様々なリアルタイムOS(RTOS)
36
TOPPERSプロジェクト
37
• オープンソース開発プロジェクト
– TOPPERSとは Toyohashi OPen Platform for
Embedded Real-time Systems の略
– 2003年よりNPO法人化
• 目的
– 組込みシステム開発で基盤となるソフトウェ
アの提供による産業振興
* 非競争領域をオープンソース化し,企業・個人が
先進的な開発に取り組めるように
– 教育教材の提供による技術者育成
TOPPERSプロジェクトとは
38
TOPPERSプロジェクトとは
http://www.toppers.jp/project.html
39
• 組込みシステム用RTOS
– TOPPERS新世代カーネル系
* ASP(標準的)
* FMP(マルチコア拡張),FDMP(機能分散マルチプロ
セッサ向け)
* HRP2(高信頼)
* SSP(小規模)
– μITRON系
* JSP(スタンダード), FI4(フルセット)
– 欧州車載系
* ATK1(OSEK/VDX), ATK2(AUTOSAR)
成果物(1)
40
• ミドルウェア
– TINET(TCP/IP),CAN/LIN
– FatFs for TOPPERS (ファイルシステム)
– TECS(コンポーネントシステム)
• 設計・評価用ツール
– カーネル用テストスイート
– TLV(ログ可視化)
• 教育用教材
– 各種セミナー教材,ETロボコン用コンテンツ
成果物(2)
41
• TOPPERS開発成果物の採用事例
http://www.toppers.jp/applications.html
開発事例(再掲)
デジタルピアノ
CASIO PX-850BK
HDDデュプリケータ
株式会社ワイ・イー・シー
Demi PG520
ロケット
JAXA H-IIA型
ジェルジェットプリンタ
リコー IPSiO GX e3300
42
• オープンソースライセンスである
– だれでもすぐに利用できる
– 製品に取り込みやすい(レポートウェア)
• ITRONで長年培われた技術をベースとし
ており,実績がある
– ITRON(Industrial TRON, TRONはThe Real-
time Operating system Nucleusの略)はトロン
協会により定められた制御機器向けリアルタ
イムOSの業界標準仕様
– 現在では ITRON を改良した TOPPERS新世
代カーネル の開発が行われている
TOPPERSの特徴
43
• μITRON仕様の発展版
– 最新版はバージョン1.6.0 (2014/4 現在)
• TOPPERS/ASPが代表例で,他に
FMP, FDMP, HRP2などがある.
• TOPPERS新世代カーネルは TOPPERS新
世代カーネル統合仕様書(以後,統合仕様
書) にまとめて規定されている.
– TOPPERS/SSPカーネルはTOPPERS新世代
カーネルの一種である.したがってSSPカー
ネルは基本的にこの仕様に基づく.
TOPPERS新世代カーネル
44
新世代カーネル統合仕様書
45
※このイメージちょっと古いです
• TOPPERSプロジェクトが配布している小
規模組込みシステム用のRTOS
• ASPカーネルと比べて大幅に機能削減
• 2011年11月より一般公開
– 最新バージョンは1.2.1 (2014/4 現在)
• 対応MCU(他にも移植中)
– Cortex-M3
– R8C/M32C
– RX62N
– Cortex-M0(+)(非公式)
https://bitbucket.org/NSaitoNmiri/toppers_ssp_lpc812/
TOPPERS/SSPカーネルとは
TOPPERS/ASP TOPPERS/SSP
ROM RAM
約26KByte
約3KByte
52Byte
31Byte
46
ロードマップとSSPの位置づけ
47
• 出典:T-Engineフォーラム「2011年度組込
みシステムにおけるリアルタイムOSの利
用動向に関するアンケート調査報告書」
http://www.t-engine.org/ja/2012/tef-rtos2012.html
SSPの開発背景
48
• RTOSサイズに関する利用動向
– この数年,小規模システムの割合はあまり変
化がない
– 64KB未満のプログラムサイズが約19%を占
め,前年比でも減尐していない.
* RAMはたいていの場合,それよりさらに尐ない
– 今後も一定の割合で存在すると仮定
* メモリ増大化でこの仮定が崩れつつあるのではという気もする
• 従来のTOPPERSのRTOSではRAMの極め
て尐ない組込みシステムには適用が困難
– JSP や ASP が求めるリソースが小規模シス
テムには大きい.
SSPの開発背景
49
※ 基本,拡張,独自追加の各機能に大別
• 基本機能
– μITRON4.0仕様「仕様準拠の最低条件」を元
に,TOPPERS新世代カーネルの機能をサブ
セット化
* 最低限のタスク管理(タスクには待ち状態がない)
* 割込み管理,CPU例外管理,システム状態管理
SSPカーネル仕様の特徴(1)
μITRON4.0仕様
TOPPERS
新世代カーネル仕様
TOPPERSが
独自に拡張
(共通部分)
基本機能
独自拡張部分
(SSPのみ)
SSPカーネ
ル拡張機能
仕様準拠の
最低条件
50
• RTOSがμITRON4.0に準拠しているという
ために最低限必要な機能および仕様を定
めたもの
1.静的APIおよびサービスコールのサポート
* CRE_TSK タスクの生成
* (i)act_tsk タスクの起動
* ext_tsk 自タスクの終了
* DEF_INH 割込みハンドラの登録
2.μITRON4.0仕様のスケジューリング規則に
沿ったスケジューリングを行うこと
* 優先度ベースおよびFCFS(First Come First
Service)のスケジューリング
参考:仕様準拠の最低限の条件
51
• 拡張機能 (不要なら外すことが可能)
– 時間管理機能({周期,アラーム}ハンドラ)
– 同期・通信機能(データキュー,イベントフ
ラグ)
• 独自追加機能(SSPのみに存在する機能)
※システム全体のプログラムサイズを最小化す
るために有用な機能
– 共有スタック領域,実行時優先度
• TOPPERSの他のカーネル(ASPカーネル
など)が上位互換性を持つように配慮し
ているが,完全な互換にはなっていない
SSPカーネル仕様の特徴(2)
52
• 対象とするプログラム規模
– 実行プログラムサイズが数KB~数十KB程度
* ASPカーネルでは数十KB~1MB程度
– 尐し小さめのシステムにも適用可能
* 例えば ROM6KByte,RAM2KByte程度でも可能
* ROM4K, RAM1Kに挑戦中だが現状ちと厳しい
• プログラム機能
– 複雑な制御を必要としないシステム
* タスクスケジューラ,割込み管理で十分な場合
• OS導入ステップ
– リアルタイムOSを導入したいが,導入障壁が
高いと感じている開発チーム
SSPカーネルの適用範囲
53
• 組込みシステムはコンピュータシステム
であり目的に専用化されたRTSである
• 組込みソフトウェア開発ではリアルタイ
ム性を確保する点でRTOSが便利である
• RTOSは標準仕様品を使う意味での利点も
ある.選択肢の一つとしてTOPPERSの
カーネルを利用するという方法がある.
• TOPPERS/SSPカーネルはTOPPERSプロ
ジェクトの組込みシステム向けRTOSの一
つであり,小規模な点が特徴である.
まとめ
54

More Related Content

What's hot

DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Yuichi Ito
 
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤTakashi Hoshino
 
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とはガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とはBrocade
 
LinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみたLinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみたHiraku Toyooka
 
僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがないTakuya ASADA
 
自宅サーバ仮想化
自宅サーバ仮想化自宅サーバ仮想化
自宅サーバ仮想化anubis_369
 
0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきこと0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきことmao999
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月VirtualTech Japan Inc.
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所Hidetoshi Hirokawa
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみようTakashi Kajinami
 
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディングTakuya ASADA
 

What's hot (20)

DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
 
LXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoyaLXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoya
 
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とはガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
Docker Tokyo
Docker TokyoDocker Tokyo
Docker Tokyo
 
LinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみたLinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみた
 
僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない
 
自宅サーバ仮想化
自宅サーバ仮想化自宅サーバ仮想化
自宅サーバ仮想化
 
0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきこと0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきこと
 
Gstreamer Basics
Gstreamer BasicsGstreamer Basics
Gstreamer Basics
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
 
Nmapの真実(続)
Nmapの真実(続)Nmapの真実(続)
Nmapの真実(続)
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 
仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング仮想化環境におけるパケットフォワーディング
仮想化環境におけるパケットフォワーディング
 

Viewers also liked

NiosII と RTOS について
NiosII と RTOS についてNiosII と RTOS について
NiosII と RTOS についてryos36
 
マイコンでマルチタスク
マイコンでマルチタスクマイコンでマルチタスク
マイコンでマルチタスクKatsuhiko Terawaki
 
REAL TIME OPERATING SYSTEM
REAL TIME OPERATING SYSTEMREAL TIME OPERATING SYSTEM
REAL TIME OPERATING SYSTEMprakrutijsh
 
Real Time OS For Embedded Systems
Real Time OS For Embedded SystemsReal Time OS For Embedded Systems
Real Time OS For Embedded SystemsHimanshu Ghetia
 
Real time Operating System
Real time Operating SystemReal time Operating System
Real time Operating SystemTech_MX
 

Viewers also liked (6)

G7プレゼンrtos自作
G7プレゼンrtos自作G7プレゼンrtos自作
G7プレゼンrtos自作
 
NiosII と RTOS について
NiosII と RTOS についてNiosII と RTOS について
NiosII と RTOS について
 
マイコンでマルチタスク
マイコンでマルチタスクマイコンでマルチタスク
マイコンでマルチタスク
 
REAL TIME OPERATING SYSTEM
REAL TIME OPERATING SYSTEMREAL TIME OPERATING SYSTEM
REAL TIME OPERATING SYSTEM
 
Real Time OS For Embedded Systems
Real Time OS For Embedded SystemsReal Time OS For Embedded Systems
Real Time OS For Embedded Systems
 
Real time Operating System
Real time Operating SystemReal time Operating System
Real time Operating System
 

Similar to リアルタイムOSの必要性とTOPPERS/SSPの紹介

リアルタイムOsのカスタマイズ
リアルタイムOsのカスタマイズリアルタイムOsのカスタマイズ
リアルタイムOsのカスタマイズKazuhiro Takahashi
 
【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門 【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門 sandai
 
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Kotaro Nakayama
 
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...Preferred Networks
 
【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門 【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門 sandai
 
Java concurrency in_practice_chap06
Java concurrency in_practice_chap06Java concurrency in_practice_chap06
Java concurrency in_practice_chap06ohtsuchi
 
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 TokyoYoshiyuki Asaba
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観Yamato Tanaka
 
Deep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWESTDeep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWESTKiyoshi Ogawa
 
あるコンテキストスイッチの話
あるコンテキストスイッチの話あるコンテキストスイッチの話
あるコンテキストスイッチの話nullnilaki
 
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise CloudCODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise CloudToshikazu Ichikawa
 
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2Computational Materials Science Initiative
 
Hadoopデータ基盤とMulti-CloudなML基盤への取り組みの紹介
Hadoopデータ基盤とMulti-CloudなML基盤への取り組みの紹介Hadoopデータ基盤とMulti-CloudなML基盤への取り組みの紹介
Hadoopデータ基盤とMulti-CloudなML基盤への取り組みの紹介MicroAd, Inc.(Engineer)
 
CPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したいCPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したいcharsbar
 
What's new in open shift container platform 4.7 japan_20210318
What's new in open shift container platform 4.7 japan_20210318What's new in open shift container platform 4.7 japan_20210318
What's new in open shift container platform 4.7 japan_20210318Yuhki Hanada
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介Masahiko Sawada
 
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Nagato Kasaki
 

Similar to リアルタイムOSの必要性とTOPPERS/SSPの紹介 (20)

リアルタイムOsのカスタマイズ
リアルタイムOsのカスタマイズリアルタイムOsのカスタマイズ
リアルタイムOsのカスタマイズ
 
【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門 【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門
 
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
 
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
 
【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門 【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門
 
Java concurrency in_practice_chap06
Java concurrency in_practice_chap06Java concurrency in_practice_chap06
Java concurrency in_practice_chap06
 
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラPostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
 
Gr sakuraでtinet
Gr sakuraでtinetGr sakuraでtinet
Gr sakuraでtinet
 
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観
 
Deep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWESTDeep learning reading club @ nimiri for SWEST
Deep learning reading club @ nimiri for SWEST
 
あるコンテキストスイッチの話
あるコンテキストスイッチの話あるコンテキストスイッチの話
あるコンテキストスイッチの話
 
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise CloudCODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
 
20130126 sc12-reading
20130126 sc12-reading20130126 sc12-reading
20130126 sc12-reading
 
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
 
Hadoopデータ基盤とMulti-CloudなML基盤への取り組みの紹介
Hadoopデータ基盤とMulti-CloudなML基盤への取り組みの紹介Hadoopデータ基盤とMulti-CloudなML基盤への取り組みの紹介
Hadoopデータ基盤とMulti-CloudなML基盤への取り組みの紹介
 
CPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したいCPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したい
 
What's new in open shift container platform 4.7 japan_20210318
What's new in open shift container platform 4.7 japan_20210318What's new in open shift container platform 4.7 japan_20210318
What's new in open shift container platform 4.7 japan_20210318
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介
 
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
 

リアルタイムOSの必要性とTOPPERS/SSPの紹介