LoginSignup
1
0

OSEK OSと、その拡張であるAUTOSAR Classic Platform OSをざっくり理解するには、3つのことをわかっていればいいかも。

<この項は書きかけです。順次追記します。>
This article is not completed. I will add some words in order.

OSってなんですか

10年くらい、OSってなんだかよくわからなかった。

基本、OSを使ったソフトは、DOS/UNIXでしか開発していない。

OSといっても、コマンドを作るだけで、面倒なことはしない。

コマンドは、実行したら終わって欲しい。

コマンドは他のソフトと並列で動くかどうかは、プログラムは知らなくていい作りになっている。

Taskという概念はいらない。

Taskを知らないから、TaskのためのEventとか、Alarmとか、Counterってなんのためにあるか知らない。

OSは、Taskを知らなくても、動いてくれるのがOSだと思っていた。

C言語は、DOS、UNIXなどでコマンドで実行するだけでTask記述のいらないプログラムが書ける便利な言語だと思っていた。

OSは、プログラマがタスクを知らなくても、プログラムが書いて動かせるようにする仕組みだと思っていた。

制御ソフトウェアで割り込みとアセンブラで組むときも、DOS、UnixのコマンドをC言語で書くときと一緒。

TASKは全く記述しない。モータ制御をしたいだけだから、センサ割り込みがあったら計算してモータの制御を帰るだけ。

タスクは要らない。

Category 1 ISR(Interrupt service routine), Category2 ISR(interrupt service routine)

Category 1 ISRは、OS、タスクのことは全く気にしなくていい。

それがわかってOSEK OSが大好きになった。

そんなある日、名古屋で、OSC Nagoyaがあった。

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

坂井 弘亮

を開いて説明してくれた。ほら、本の半分のところまでタスクの説明ないでしょ。

OSEKについて、「12ステップで作る組込みOS自作入門」が好きになった。

なぜ、OSマニアの肩は、タスクタスクってうるさいんだろうと思っていたのに。

うるさくないOSもあれば、うるさくないOS本もあるんだって。

タスクは縁の下の力持ちで、システムの土台を支えるのだから、プログラマに姿を見せなくてもいいという持論に賛成者があらわれたようで嬉しかった。

タスクが存在しなくてもいいというわけではない、OSプログラマ以外の人には、タスクの存在を気づかれないような仕組みを作るのがOSプログラマの仕事なのだと思っていた。

メインフレームでも、オフコンでも。

COBOLが悪いんじゃない。COBOLを順に動かすためのスクリプトであるJCL(Job Control Language)が、Job(仕事=タスク)のことがわかっていないと書けないことが問題。COBOLは、英語をプログラミングとして動かすだけの仕組みで、OSのことを知らなくても書けるようにしている。Javascriptが書けて、COBOLが書けねい人は、英語文化圏ではいないように思う。

Event, Alarm, Counter

概念 Hardware software SW別名
割り込み interrupt Event software interrupt
時計 timer alarm software timer
計数・計時 clock counter softwre counter

イベントって、ソフトウェア割り込みの一種でタスクで利用するやつ。
アラームって、ソフトウェアタイマの一種でイベント、タスクで利用するやつ。
カウンタって、ソフトウェアカウンタのことで、アラームで利用するやつ。

って書いてあればわかるのに。

イベントは、タスクにイベント待ちがあるタイプで使うやつ。

基本タスク、拡張タスク

基本タスクは、イベント待ちのないタスク。
例えば、UDPなんかを設計するのによい。

拡張タスクは、イベント待ちのあるタスク。
例えば、TCPなんかを設計するのによい。

BCC1, ECC1とBCC2、ECC2

基本タスクは、同じ優先度のタスクがあると、RunningからReadyに戻る時に同じ優先度のタスク先頭に入る。

拡張タスクで、イベント待ちからReadyに戻るときには、同じ優先度のタスクの最後に戻る。

最後に戻るのが嫌なら、同じ優先度のタスクを複数設定しなければいい。

拡張タスクの優先度に1タスクだけ割り当てるのをECC1という。
基本タスクの優先度に1タスクだけ割り当てるのをBCC1という。

拡張タスクの優先度に複数タスク割り当てるのをECC2という。
基本タスクの優先度に複数タスク割り当てるのをBCC2という。

BCC1, ECC1だけだったら、タスクキューを作らなくても配列で管理できるかも。
どちらも合体させると、タスクキューを使う設計もあるかも。

参考資料(Reference)

aspberry Pi 3 Model B+ 向けにリアルタイムOSを実装してみた話
https://qiita.com/tenkoh2/items/baa8e0b6c09669793b4f

[メモ] TrampolineRTOSでLチカ (OSEK/VDX & AUTOSAR APIにあわせたRTOS)
https://qiita.com/mt08/items/65f2ac9bbdae09a34470

MacでLego Mindstorms NXT環境構築 in 2018
https://qiita.com/vivid344/items/2f23f846cd3b135c5a74

ETロボコン開発環境構築 for Mac
https://qiita.com/tac0x2a/items/b1d82050c660935765ef

自己参照(self reference)

OSEKはもう流行らないのでしょうか。AUTOSAR(64)OSEK(1)
https://qiita.com/kaizen_nagoya/items/b87687254b11f30cc2ee
OSEKを図から理解 OSEK(2)
https://qiita.com/kaizen_nagoya/items/f87a7ff5aeb63803a022
OSEK OS(AUTOSAR OS)をざっくり理解するには OSEK(3)
https://qiita.com/kaizen_nagoya/items/c68c0b86b97d4a90e6e2
calloutとcallback, OSEK/VDX OS and AUTOSAR OSEK(4)
https://qiita.com/kaizen_nagoya/items/b95b81354d07b9172a56
OSEK/VDX ISO and 2.23 OSEK(5)
https://qiita.com/kaizen_nagoya/items/4d6bcec01e0132f9c41c
OSEK/VDX OSEK(6)
https://qiita.com/kaizen_nagoya/items/a7720994f2178a15be81
ISO OSEK/VDX and ISO Linux OS 同梱ソースをC++またはRUSTで書く企画 OSEK(7)
https://qiita.com/kaizen_nagoya/items/27899e936c90b415d700
OSEK 記事で views 100,000を目指して OSEK(8)
https://qiita.com/kaizen_nagoya/items/ff45ee55566eeff5f62e
自動車用OSを網羅する OSEK(9)
https://qiita.com/kaizen_nagoya/items/a61144daf500a3f2b4f4
Smallest Set Profile and Automotive Profile, OSEK(10)
https://qiita.com/kaizen_nagoya/items/0c5484f6562cc259e7f0
Exclusive Area, OSEK(11) 
https://qiita.com/kaizen_nagoya/items/d87ff4e08378dbcf68a7
自動車のソフトウェア、例えばAUTOSAR の仕事を始めてする方に, OSEK(12)
https://qiita.com/kaizen_nagoya/items/1832634788c23498e054
名古屋で自動車関係のソフトウェア設計する際にあるといいかもしれない知識, OSEK(13)
https://qiita.com/kaizen_nagoya/items/9f01d55e4bd0bd931c96
single task os and data, OSEK(14)
https://qiita.com/kaizen_nagoya/items/6acbd5d2cfd3ed8bca60
AUTOSARといえば O で始まる用語は? OSEK(15)
https://qiita.com/kaizen_nagoya/items/06c969fe5c4b3e7319e0
Automotive Software Expert Examination Exercise, Examples or Extract. OSEK(16)
https://qiita.com/kaizen_nagoya/items/1762e0612ef01e036efb
自動運転資料集(1) OSEK(17)
https://qiita.com/kaizen_nagoya/items/42eb2129e281f25eaab8
TOPPERS of the YearとAUTOSAR, AUTOSAR(39), OSEK(18)
https://qiita.com/kaizen_nagoya/items/f241bb4a819733110b7a
Autosar 2.0を読む, AUTOSAR(25), OSEK(19)
https://qiita.com/kaizen_nagoya/items/b44a1047c2c517d522fe
IT関連技術でお世話になった方々, OSEK(20)
https://qiita.com/kaizen_nagoya/items/8a5bf487594cd106e8b8
AUTOSARの4つの入力, OSEK(21)
https://qiita.com/kaizen_nagoya/items/72cef6028b9697f7968e
AUTOSAR これだけ知っていればなんとかなる。OSEK(22)
https://qiita.com/kaizen_nagoya/items/7a63e706bfb8f331cfe4
AUTOSAR based on ISO, OSEK(23)
https://qiita.com/kaizen_nagoya/items/867a709cdf6f4dbdecc6
AUTOSARと国際規格。AUTOSAR(65), OSEK(24)
https://qiita.com/kaizen_nagoya/items/4ddba03efb942969b125
AUTOSAR入門, AUTOSAR(16), OSEK(25)
https://qiita.com/kaizen_nagoya/items/5e43b8ef0935c32ee11d
AUTOSAR 記事1000までの道, OSEK(26)
https://qiita.com/kaizen_nagoya/items/785473512f5f7f85a6bf
Autosarの課題, OSEK(27)
https://qiita.com/kaizen_nagoya/items/617d10b0e34143030600
AUTOSAR: The past 20 years and he next 10 years, OSEK(28)
https://qiita.com/kaizen_nagoya/items/2dab0707c01059c152c4
Autosar文書を読む(準備), OSEK(29) 
https://qiita.com/kaizen_nagoya/items/5f547173544703d267aa
AUTOSARが手に取るように分かるようになる。AUTOSAR(29), OSEK(30)
https://qiita.com/kaizen_nagoya/items/ae092ea6aef89cdc15df
posixとethernet, osekとTCP/IP, osek(31)
https://qiita.com/kaizen_nagoya/items/73b79a4a56f433bd53c0
斉藤直希「組み込み向けリアルタイムOSの基礎知識を整理する」を整理する, OSEK(32)
https://qiita.com/kaizen_nagoya/items/d305e83b37d0c57dceb3
TOPPERS活用アイデア・アプリケーション開発コンテスト受賞作品紹介 まとめ作成中, OSEK(33)
https://qiita.com/kaizen_nagoya/items/72b882d96b2841f25faf
はじめてのAUTOSAR(classic platform) <エンジニア夏休み企画>【読書感想文】, OSEK(34)
https://qiita.com/kaizen_nagoya/items/696ad320f76f284664d7
AUTOSARとSimulink: Adaptive Platform, Classic Platformとマルチコア・共通化, OSEK(35)
https://qiita.com/kaizen_nagoya/items/d613b0b14bfd91989a13
AUTOSAR Abstract Platformへの道(詳細編), OSEK(36)
https://qiita.com/kaizen_nagoya/items/cb217133884fa0a2c704
building block:AUTOSAR Abstruct Platform , OSEK(37),
https://qiita.com/kaizen_nagoya/items/bf7c17624f648fb9f392
系建築家(system architect)になるには, OSEK(38)
https://qiita.com/kaizen_nagoya/items/8c341e69233cb32f6275
自己紹介 OSEK(39)
https://qiita.com/kaizen_nagoya/items/90aa368f296613ec93b5
AUTOSAR 「完全に理解した」, OSEK(40)
https://qiita.com/kaizen_nagoya/items/51983798ad7902b33cb1

<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.

文書履歴(document history)

ver. 0.01 初稿  20220224

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0