制御関係のリアルタイムOS & Real Time OS ( RTOS ), Trusted OS

◆ 他のホームページは Google で検索して下さい、弊社のページはそれぞれのボタン、又はリンク先をクリックして下さい。

 http://www.google.co.jp

トラステッドOS (Trusted OS)
WindowsNT / 2000サーバでの被害急増
Trusted OSでないWindowsNT / 2000
不正侵入に弱いMS-SQL/Windowsサーバ
厳密にはアプリもトラステッド対応必要
制御用リアルタイム Unix
リアルタイム Linux
Real Time Linuxの概要
マイクロ・カーネルMach&RT-Mach
Mach用Win32エミュレータソフト?
IT関係では強い中国、弱い日本 ?
タスク管理とリアルタイム性
リアルタイムなOS-9
コンパクトなMicroC / OS ( uC/OS )
制御関係OSについて
Real-Time OSのスケジューリング
リアルタイムOSもマルチスレッド採用
X68000でのパーソナルなOS-9

 リンクページ

弊社の製品一覧
弊社のソフト関係
ハードとファームウェア関係
マルチ・プロセッサ自動制御装置
自動制御システム開発
生産&治具システム開発
計測自動制御装置
PID 自動御制ボード
腕時計サイズ制御ボード
ZigBee計測制御ボード
測画像処理制御ボード
ロボット制御ボード & ソフト
コイン・サイズのマイコンボード
マルチCPU高精度データロガー装置
タッチスクリーン&タブレット計測
高機能・高性能データロガー
高性能・高機能自動制御ボード
人工知能 AI 自動制御計測ボード
高機能な診断・分析解析計測システム
高機能な診断・分析自動制御システム
スマートフォン無線計測ソフト
WiFi自動制御計測Web遠隔監視System

 他リンクページ

リスクファィブ(RISC-V)関係
マルチ・スレッドとマルチ・プロセス
量子コンピュータと自動制御
Linux上で組込関係ソフト開発利用
Python組込み関係利用の問題点
人工知能・組み込み制御と自動制御
デジタル制御やDCS制御のページ
Linux&FreeBSDでのSCADA,HMI
SoftPLC & LinuxPLC
制御関係コンピュータのページ
実践的な制御の基礎
自動制御装置用SH-2 ボード
PowerPC関係のページ
MacOS Xのソフト開発環境関係ページ
MacOS X でのH8&SHソフト開発環境
H8S/2238組込み計測装置開発
MacOS XでのVerilogHDL & VHDL開発
制御システムエンジニア・マイコン集い
自動制御システム・自動制御装置
OS関係& Trusted OSのページ
PC & PDA用CPU 関係
PDA (Palm)関係
組み込みMPU 関係のページ
組み込みマルチ・コア関係のページ
おもちゃマイコンのページ
クラスター 関係のページ
CPU Board & マルチCPUボード関係
Linux関係のページ
MacOS X & X serve 関係
OS関係& Trusted OSのページ
マイクロカーネルMach &RT-Mach
BeOS関係のページ
トップページ

 自動制御システム構築や制御ネットワーク構築などで困っておられましたら是非とも弊社にご連絡下さればご相談は無料で受け付けております。

 

E-Mail :こちらをクリックして下さい。

 弊社では、自動制御システムのハードとソフト関係で約32年の経験があります。

 このページについて皆様からのご意見、或いはご要望などがありましたら、是非下記へメールでご連絡下さい。

 

   トップページへ戻り

 多くなったリアルタイムOS  2020.07.16

 近年、リアルタイムOSが多くなり、そのオープン・ソースも増えており活用できようなRTOSもあります。

 Linux OSカーネルやWinows OSカーネル, MacOSX OSカーネル等はヘビーなOSカーネルとなり動作が重く遅い、その点RTOSが軽量であり動作が早い。

 最近のRTOSもマルチスレッドに対応しており、他のOSカーネルよりも軽快に動作するので利用価値が高い。


 マルチコア・マルチスレッドCPUでRTOS不要 ?  2011.05.01

 近年、マルチコア・マルチスレッド(ハード上)CPUチップが増えてきており、実時間制御がリアルタイムOSを利用せずとも簡単に実現できてしまう。つまり、ソフト上でのマルチ・スレッド処理ではなくハード上でのマルチ・スレッド処理をできるので、リアルタイムOSによる疑似的な並列処理ではなく正確に実時間の並列制御処理が可能となった。

 マルチ・スレッド・プロセッサーの詳細な記事はこちらのページです。


 OSも仮想マシンで  '06.02.12

 最近、仮想化技術とか仮想マシンが話題となっている。マルチコアCPU上で複数のOSを利用できるようになり、一つのOSに重い実行コードを処理させず、複数のリアルタイムOSで分散処理させれば効率的になる。

 十数年前から、制御関係では、仮想化技術ではないが、10MHz程度の低速なMPUを数個から数十個で分散処理をさせている。今でもこのようなシステムがほとんどであり、最新の高性能なチップは使用していないのである。

 将来はマルチコアCPU内ハードウェアでOSのタスク・スケジューラ・カーネルなどを実行し、スレッド切替えのオーバーヘッドを軽減して効率的に高速にオブジェクトを実行できると共に実時間制御を正確に処理できるようになるであろう。

 組み込み関係のMPUでも1GHzを超える高性能なものもあり、またマルチコアMPUもあるので、仮想マシンが必要となるであろう。


 トラステッドOS (Trusted OS) '03/01/08

 日本ではTrusted OSの普及が米と比較し約20年遅れている言われております、つまりセキュリティに対し軽視されていると言わざるを得ない訳です。

 米国では、このようなプロジェクトに対し資金援助を行っており、日本の政府関係では土建業関係への資金投資にしか興味がないと言う時代錯誤的な人たちがいかに多いことか残念でなりません・・・。

 トラステッドOS (Trusted OS) はサイバーテロに強い本格的なUNIXとLinux関係の基本ソフトであり、米国保安保障局や米国防総省で規定されたセキュリティ基準を満たしており、国防関係で実績があるそうです。

 日本でもPitBullが販売されており、HP社でもLinux版のTrousted OSを格安で販売しております、Windows用でも類似ソフトが存在しますが米国保安保障局や米国防総省で規定されたTCSECセキュリティ基準を満たしている訳ではないようです。

 不正侵入の防止では、一般的なファイヤーウォール・ソフトやIDSソフトでは完璧とは言えず、この点を強化したのがTrusted OSであり、カーネルレベルでアクセス制限することや機密ラベルによる高度なセキュリティなど一般的なOSにはないセキュリティ機能を搭載しています。この点は制御関係では必要な機能であり制御関係への応用が期待されるでしょう。


 Trusted 対応OSでないWindowsNT / 2000

 MircoSoft社では、Windows2000についてCC ( Common Criteria ) IEC / ISO 15408の認定を取得したことを公開しておりますが、そのセキュリティ・レベルを公開しておらず、曖昧です。

 IEC / ISO 15408の認定自体が米国防省のTCSEC ( オレンジブック )よりもセキュリティ強度が甘くなっており判断基準が無くなっていると言われております。

 Windows2000のセキュリティ強度は一番厳しいTCSECでは低いレベルのC Division / C2 Classと言われており、UNIX関係では最強A1 Classに近いB3 Classであり、WindowsNT / 2000のセキュリティ強度が低いことは明らかです、又C2 Classを満たすためには50項目ほどの設定や確認とファイル削除、或いは確認テストが必要であり、初心者にはこの取り扱いは無理でしょう・・。'03.07.26


 本格的なTrusted 対応OS

 近年、Trusted OSが増えてまいりました、最強のTCSEC A1 Classに近いB3 Classでは、HP-Virtual Vault, Trusted Mach ( TMach ) があり、B1 Classでは、Trusted BSD, SE Linux, Trusted Solaris, PitBull ( Solaris, AIX, Linux 用), Medusa DS9 ( Linux 用), RSBAC ( Linux 用)などがあります、Trusted BSDはFreeBSD 5.0 CURRENT以降に統合されております。

 フリーOSとしてはFreeBSD 5.0, SE Linuxがあり、組み込み製品等に利用可能でしょう・・・、残念ながら米国家安全保障局 ( NSA ) のFlask ( Flux Advanced Security Kernel ) のセキュリティ・アーキテクチャのSE LinuxはTCSECの要件を全て満たしていないため、Trusted OSとは呼べないと言われております。

 Trusted Machについては、フリーなのか、商用なのかは不明ですが、いずれTrusted Machの機能はMacOS XのMachに採用されるのではないかと思われます、MacOS Xセキュリティ強化についてはSTOSコンソーシアムで協議されており、Trusted BSDとTrusted Machの機能が採用されそうです。 '03.07.26


 厳密にはアプリまでTrusted 対応が必要

 TCSECの基準では、OS側だけでなくアプリケーション側もそのClassに最適化する必要があり、その費用も多額となるとも言われております。

 日本では、殆どTCSECのB3 Class基準をTrusted OSを搭載したシステムが存在しないと言われており、実際、重要なシステムが不正侵入の被害を受けており、特にWeb.システムは被害が多いでしょう・・・。'03.07.26

 約800億円の巨額な整備費 ? と年間維持費約200億円 ? の政府の住基ネットなどは、セキュリティ関して非常に危険なインターネットでのVPNのネット構築であり、且つその利用OSはTrusted OSでないため、セキュリティ関しては大変危険です、政府関係者が安全性は万全などと言っているが、ハッカーによる不正侵入などの被害を受けることは否定できないでしょう・・・。'03.07.26

 最近、クローズアップされている住基ネットの約800億円の巨額の設備投資しなぜ専用回線でなくインターネットでの構築なのでしょう・・・、又低価格なインターネットでの構築設備になぜ年間維持費約200億円もかかるのか・・・、又他の市町村から住基ネットで住民情報を得るためには、数千円かかるらしい・・・、疑問です、官僚のための天下り先の独立法人を設立しその人件費と退職金に無駄な税金が使われているのでしょうか・・・? 。


 リアルタイムOSもマルチスレッド採用

 リアルタイムOSとしてのOS-9 ( v3.0 ) やVxWorks ( AE ) などは、POSIXスレッドに対応しており、マルチスレッド・プログラミングが可能です、リアルタイムOSではUNIXのようにAPIsコール時のそれほどオーバヘッドが大きくないため、あまりメリットがないと思われます。

 他のUNIXやLinuxから部分的なソースを移植する際には、マルチスレッドに対応したほうがメリットがあるのかもしれません。


 IT関係では強い中国、弱い日本・・・ '03.4.3

 中国では、国家としてWindowsを使用せず、積極的にLinuxを活用することを発表したことは有名です、MicroSoft社へのライセンス料の支払いが膨大な金額となるからでありフリーOSを活用したほうがライセンス料が必要ないのです、以前に国内の有名な東大教授の発案のOS / TRONをPC用から通信関係, 組込み製品関係のOSとして普及させようとするプロジェクトが存在していましたが、あれはいったいどうなってしまったのでしょう、大手メーカはTRON用CPUチップまで開発したのです、組込み関係で細々とuITRONがフリーOSとして生き残っただけです・・・、米からの圧力に屈したと言う説があります、何と情けのない話です・・・。

 現在も決して良いとは思えない米との経済関係があります、今日の不況にも日本の弱さが上記のことからあからさまであると思えます、PC用CPUチップのLSIとOSは米に握られており日本はPCのメモリLSIの製造だけ(今は殆ど外国メーカが主流)であり、国内でPCが普及しても国内メーカが利益を上げることが殆ど無理な状況です・・・、つまりIT関係では、日本の不景気の解消にはならないと言うことでしょう・・・。

 Linux上で動作するWindows用のソフトの実行をエミュレートするエミュレータ・ソフト ( VirtualPCのようなPCハードウェアのエミュレート・ソフトではない )を開発し、そのエミュレータ・ソフトを利用すれば、Windows自体が不要となる訳でありライセンス料が発生しなくなります、そのようなプロジェクトに大企業や公的な機関が積極的に資金などを援助すべきでしょう・・・。


◆ OA関係OSと制御関係OSとの違い

 最近、某Windowsを制御関係に使用するなど言う若い技術者が増えてまいりましたが、制御関係のOSの重要性をまるで理解していない技術者おります、OA関係や小規模なサーバ用OSであれば、使用中にフリーズしようが再起動の必要が発生しても問題とならないでしょうが、制御関係では、そのような訳にはいきません、生産設備が停止した場合には、数億円以上の損害が発生する時も稀でないからです・・・。

 OA関係OSであるWindows95/98/NTなどはプリエンプティブ/マルチタスクと言っておりますが、タスクの優先度は固定設定であり、且つそのスケジューリングは単純な構造となっており、一般的にもフリーズするOSとして有名です、プリエンプティブ/マルチタスクであるならばフリーズするはずがないのですが・・・?、プリエンプティブ方式は強制的にフリーズしたタスクを中断処理しなければならないはずであり、このようにプリエンプティブ方式を保証しているものではないと言うことです、言い替えれば制御関係に不向きなOSとも言えます。

 このようなOA関係OSをRealTime性が要求され、且つ高い安定性も要求する制御関係に応用しようとする発想が理解できません、WindowsNT 4.0は安定しているので制御関係やサーバ関係に使用できるなどと言う技術者もおりますが、根本的に上記の問題を改良した訳ではなく、Linuxのようにカーネル・ソースが公開しておらず、米マイクロソフト社だけが知っていることであり、その真実は他者には分からないと言うことです、つまりクローズドな世界であるためOSに問題が発生しても対策のしようがないとも言えます、したがって制御関係に応用するなど不可能なことであります。

 ちなみにサーバ関係でのWindowsNTのシェアはたったの十数%程度です、残りの八十数%はUNIXやLinux関係が占めているのです、つまり信頼されたOSではないとも言えます、その点MacOS XはMachカーネルとBSD UNIXであり安定性などはWindowsよりも格段に向上したことでしょう、又OSのソースはGUI関係などを除いて公開されています、既にUNIX関係の優れたソフトが移植されてまいりましたので、今後期待されております。

◆ タスク管理とRealTime性について '02/6/30

 制御関係はタスク管理が重要になります、優先度の高いタスクにはCPUに処理時間を多く割り当てたり、割り込み処理の多重処理などができなければならないのです、更に実時間制御が必要であり、計画した数ミリ秒〜数百ミリ秒毎に正確にタスクをスケジューリングすることが求められます。

 RT-Linuxのスケジューリングを参照。

 OA関係ではタスクがCPUの処理時間を独占してもあまり問題になりませんが、制御関係では通常100mSec. ( 1 / 100秒 ) 程度の時間内に多くタスクを処理しなければ、使い物になりません、又高速な制御関係では5mSec. ( 5 / 1000秒 )以内に全ての処理を完了させなければならない制御システムも存在します、つまりタスクの実時間制御的なスケジュール管理が重要となる訳です。

 上記のような数m秒で応答しなければならない高速な制御システムでは、OSのシステム・コールによるオーバーヘッドが発生するため、むしろOSが邪魔な存在となります、RealTime性を要求する場合には、OS非搭載とする制御システムは数多く存在します。

 WindowsNT / 2000などのスケジューリングではインタラプトの要因や他の割り込み要因によりオーバーヘッドの変化が著しくスレッド・スケジューリングにバラツキが発生します、つまり制御関係を応用するには不向きである訳です。


◆ OA関係に本格的なOSの必要性  1999/12/12

 OA関係はGUI、或いはFile、Network関係が主な処理であり、タスク管理はそれほど重要でなく、むしろヘビーなアプリを出来るだけ早く処理するかに重点がおかれている某WindowsのOSがいい例でしよう。


◆ コンピュータと制御関係のページ

  制御関係のComputerページ


 最近のデジタル制御やDCS制御関係ついて考察しましたので、こちらのページをご覧下さい。


 自動制御システム、及び自動制御装置のシステムとしての制御不具合とその危険性やトラブル対応の関係のページはこちらです。


 弊社の製品 弊社の低価格なボード・ソフト製品一覧


◆ このページに情報を掲示されたい方はどうぞお気軽にご連絡下さい、無料で掲示致します。又ご希望があれば御社、貴殿のページへリンク致します。

 このページへはご自由にリンクして下さい、その際Eメールでご感想などをご連絡戴ければと思います。

  

◆ 低価格なPCでLinux利用 作成 2022.10.03

 LinuxカーネルではマルチCPUコアやGPUに最適化が進み、重いAPIやGUIと体感速度が遅い汎用OSよりもキビキビ動作するLinuxのほうがよい。2022.10.03

 軽量で軽快な動作のPuppyLinuxのページ


◆ Linux上でソフト開発 作成 2022.09.28 

 Linux上での組込み関係ソフトのクロス・コンパイラー環境構築はこちらのページです。


 Windows独占も終わりか ?  '08.02.22

 MicroSoft社がWindowsの技術情報を一部分無料公開すると発表しました。EU欧州連合の独禁法違反で制裁金800億円の支払いによる影響であろう。しかし、Windowsの技術情報をどの程度まで公開するかが不明であり、果たしてWindows互換性のOSを他のメーカが開発できるであろうか・・・。


◆ OSの概要 

 OA関係のPC用Windows、或いはMacOS X, 最近話題のLinuxオペレーティング・システム( OS )関係の情報ページです、OSについて少しでもご参考となればと思います、OSとは基本ソフトウェアーであり、OSにも色々な種類があります。

 OSにはUNIX系のSun 3 & 4, Solaris, NeXTstep, MacOS X, Linux, Luna88K, FreeBSD, OpenBSD, NetBSDなど, オブジェク指向なBeOSなど、制御関係では、リアルタイムOS ( RTOS )やマルチタスクOSとしてOS-9やVxWorks, uITRON、制御製品用メーカー独自OS, Linux関係RT-Linux, TimeSysLinuxなど, Mach関係RT-Mach等, 他商用OS、通信関係ではやはりUNIX系です、他にもありますが、OSは用途によりその機能が違います。

◆ RealTime Linux関係 

 Linuxの開発も増々活発となっております、その完成度も上がり某PC用基本ソフトであるオペレーティングシステムOS(オーエス)のWindowsと対抗できるOSとなり実用化している企業も徐々に増えております、そのLinuxの開発を非営利目的で活動されておられる方々に敬意を表したいと思います、ただ残念なことに膨大な利益を得ている大企業はこのようなプロジェクトに対し援助しない企業が多いことです、又公的な機関でも殆ど資金を援助しておりません、必要のない建築物やダム、高速道路には膨大な資金を投じておりますが、必要のないこのような建築物や道路が利益を生むのでしょうか、非常に残念なことです。'03.3.25

   Linux関係のページはこちら。


 マイクロ・カーネル、及びマルチスレッド関係

 近年、コンピュータ・システムのトラブルが増えつつあり、そのOSの安定性と信頼性が重要となり某PC用のOSを利用することが疑問視されております、そのリアルタイムなOSとしてマイクロカーネルMach & RT-Machが注目されております、そのマイクロカーネルMachはこちらのページです。

 Windows2000もマルチスレッド化されつつあり、そのマルチスレッド・プログラミングでの排他制御設計ミスによるデッドロックによるシステムのバングアップなどが頻発しており大きな問題となっております。


 不正侵入に弱いMS-SQL / Windowsサーバ '03/1/25

 2003年1月25日に多大な被害を受けた実例をご存じでしょうか、MS-SQL / Windowsサーバが不正侵入され、そのサーバを踏み台としてウイルス・プログラムが配信されて数十万台のPCが被害を受けました、又韓国では殆どのネットワークが接続不能となったことが報道されました、その原因はMS-SQLのバグではないかとも言われております、またもWindowsサーバの脆さが露呈しました。

 Windows関係サーバへの不正侵入は増える一方であり、又Windows関係のウイルス・プログラムも年々増える一方であり、このようなWindowsサーバを重要な設備の制御関係に使用するなど言うメーカが存在します、何と無責任な企業です、セキュリティをまったく考えていないと言ったほうがいいですね・・・。

 化学プラントや原子力発電所がクラッカーの標的になったら重大な事態に陥ります、それは事故ではなく人災であり、且つ犯罪でもある訳です、近隣の住民がもし被害を受けて死亡事故に至った場合どうなるのでしょう、その重大さを認識されていない経営者は当然罰せられるべきてじょう・・・。


 Windows2000サーバへの被害が急増 

 2002年9月頃からWindows2000サーバへの不正侵入などの攻撃が急増し、セキュリティ・ポリシーが改変されたり、セキュリティ設定が変更されたり、管理者がログインできなくなる等のサーバとして機能しなくなる被害が発生したことは皆さんもご存じでしょう・・・、Windows2000が安定した信頼性が高いOSなどと言う技術者がおりますが、なんと無責任な発言でしょう、ウイルスや不正侵入の被害を受けているのは殆どWindows関係なのです、現実を率直に受け止めることが何事関しても大事であり、当然ネッワーク構築では、この事が重要な要素となり考慮しなければなりません。


◆ Mach上でのWin32 エミュレータ・ソフト?

 Windows / PC関係でもWindowsNT / 2000のカーネル ( Kernel )やコア・サービス ( Core Services ) , APIsなどをMach 3.0やGNUMach上でEmulateすればWindows自体必要がなくなり、本当の意味でのWin32 Emulator Softになるのです。'03.08.08


 制御用リアルタイムUNIX OSの概要 '02/6/30

 本格的な商用リアルタイムUNIX OSである米コンカレント社のPowerMAX OSなるものが存在します、PowerPC 604 / 300MHZマルチCPU ( 20個のSMP-CPU ? )、及びPowerPC G4 / 700MHZのマルチCPU ( 4個のSMP-CPU ) のハードで稼動する優れものです、割り込み応答は8uSec.であり、プリエンプティブ、且つマルチスレッド化されたカーネルであり、外部割込みの発生タイミングのプロセスディスパッチ時間が70uSec.から200uSec.と高速な処理が可能ですので、リアルタイムを必要とする本格的な制御装置に応用できそうです。

 軍事関係のシステムやフライト・シミュレータなどで利用されており、高速な処理が要求されるシステムでは、その真価を発揮するのでしょう。某WindowsやIntel系CPUではこのようなシステムを構築することはまず無理でしょう。

 Real Time Linux関係の詳細なページはこちらです。

 詳細な内容は下記のホームページを参照。

http://www.ccur.co.jp/


 Real-Time OSのスケジューリング

 マイコンに応用するReal-Time OSはシンプルなタスクのタイムスライスでコンパクトなサイズのカーネルがマイコンのフラッシュROMに搭載できることが求められています、事実、数kbytesのカーネル、或いは1kbytes以内のカーネルも存在します。

 制御関係では、某WindowsNT / 2000のカーネルのような巨大で複雑なOSは必要がなく、タスク優先度に応じたシンプルな機能のタスクのタイムスライス、タスクの同期としてのセマフォ機能やタスクの休止としてのサスペンド機能などシンプルなタスク・スケジューリングをアセンブラで記述すれば1kbytes以内のカーネルも設計・製作可能でしょう・・・。

 Real-Time OSでは、UNIXのようなプロセスの概念ではなくプロセスとタスクを同等と考えます、カーネルの動作を理解するためには、それぞれのメーカのCPU内部を熟知する必要があり、プログラム・カウンター( PC )やコンディション・コード・レジスタ( CCR )、スタック・ポインター( SP )、割り込みマスクとその解除、他のレジスタの詳細を調べて、そのタイミングを理解する必要があるでしょう・・・。

 マイコン内部では、通常タスクの待ち状態は通常スタック・ポインターの積まれ順次処理されますが、これではマルチ・タスクの概念がないためソフト側で処理必要がある訳です、シングル・タスクであればOSは必要がなくマイコン内部のタイマーと割り込み処理だけでもユーザ・プログラムを製作可能です。

 マルチ・タスクと言っても実際には、シングルCPUの場合、マイコン内部ではシーケンシャルに処理しているに過ぎないのです、数ミリ秒以内は複数のタスクを処理すれば人間の目にはあたかも並列に動作しているように見える訳です。

 数百μ秒以内に1つのタスクがCPU時間を占有するのではなく、一時的に処理を中断し次の順番で処理する時に、前の状態が不明では処理が継続できないため、CCR状態やレジスタの状態をスタックさせる必要がある訳です、当然、複数のタスクのCCRやレジスタ状態をスタックできるメモリを確保する必要もあります。

 要約すると、数百マイクロ秒以内にどのタスクを順番に処理させるか、或いは優先度の高いタスクをどれだけCPU時間を割り当てるか、突発的なイベント割り込みを受け付け時に他の処理を中断し処理させる・・・などのタスクのタイムスライスとしてのタスク・スケジューリングが重要となるのです。

 更にタスク間の同期が必要となったり、或いは処理中のタスクがエラーとなり処理が中断することもあり、最悪な場合にはソフトのバグなどで他のメモリ・エリアにアクセスしプログラムが暴走するため、メモリのプロテクションも必要になり、実際には複雑となります。

 ここでは、タスクとプロセスは同等と考えて、プロセス・ID( PID )の構造体の定義として、プロセス・キューやスタック・ポインター、プロセス動作領域サイズ、タイムスライス、サスペンド・フラグ、優先度設定、セマフォ・キューなどを定義されており、ユーザ・プログラム側からカーネル絡みのプログラミングの際には、定義する必要があるでしょう・・・。

 プロセスの関数は、概略としてプロセス初期化やプロセス生成、プロセス優先度変更、プロセス削除、プロセスのスケジューリング、セマフォ関係、キューのPut & Get、イベント用Timer関連・・・他関数などがあります。

 近年、マルチ・スレッド技術が優れているような傾向がありますが、基本的にはCPU側から見れば、CPUの命令コードの集まりで処理している訳であり、例えスレッドでもCPUのCCRやレジスタの状態を無視できないのです、1つのプロセス/タスクには複数のスレッドを持つ事ができると言うの一般的ですが、シンプルな構造のReal-Time OSではこのような概念は必要ないでしょう・・・。

 UNIXのようにシステムが複雑となるとプロセス・サイズも膨れ上がるため、そのプロセス・コール時にオーバーヘッドが発生しパフォーマンスが低下するため、スレッド技術が考えられたのです。


 コンパクトなMicroC / OS ( uC/OS )

 カーネルサイズが5K〜20Kbyteと言う超コンパクトなRealTime OSであるMicroC / OS ( uC/OS )が存在します、以前はフリーであったようですが今はMicrium社から販売されています、PowerPCやSH-2, 68K, H8, Z80などのメジャーなシングルチップMPU約30弱に対応しています、但し商用として本格的に製品に組込む際にはライセンス料を必要とします。

 カーネルを32Kbyte程度のMPU内蔵のFlash-ROMに格納できて、且つ300byte〜2Kbyteの小さなSRAMで稼動するので、超小型のシングルチップMPUでのタスクの優先度設定が可能であるから、本格的なタスク管理が可能です、uITRON等ではH8などの56Kbyteの小さなFlash-ROMにカーネルを格納することは無理であり、MicroC / OSはその点利用価値があります。

 従来、32Kbyte以下のROMでのMPUでは、ハードTimerと割込み処理だけでプログラミングしていたタスクのスケジューリングをRealTime OS を組込みことにより本格的なRealTime OSに置き換えて小型の製品を開発できるでしょう・・・、尚、国内でも類似のH8 / OS ( uITRON仕様 ) と言うRealTime OSが存在します。 '03.3.25


◆ リアルタイムなOS-9  1999/12/12

約十六年前のPCは8bit CPUから16bit CPUに移行する時期であった、グラッフィクスも16色のカラーが普通でした、又OSはMS-DOSが全盛の時代であり、まったく面白みのないPCでした。そんなときUNIXライクなOS-9が富士通のFM-11(8 bit CPU 6809)に標準搭載で発売されたので購入し使用したところマルチ・タスク/マルチ・ユーザで動作し、またBASICコンパイラーもMS-BASICよりは面白みがあり、グラッフィクスもオーバーラップ・マルチ・Windowではありませんでしたが、四画面分割Window上で別々にマルチ・タスクで表示しMS-DOSのシングル・タスク一画面よりはまともなOSでした。またコマンドもUNIX殆ど同一であり、唯一ネットワークだけが強力な機能を備えていなかっただけであり、Shellも使用でき、タスクのプライオリティの設定もできて、タスク管理もができるPC用OSはOS-9以外にはなかったでしよう

◆ X68000でのパーソナルなOS-9  1999/12/12

 約十三年前の当時は16 bit CPU の256色グラッフィクスの PCが普通でした、シャープが6,5535色グラッフィクス搭載のX68000を発売し、描画速度も当時の PCでは最速でした。OSはマック・ライクなHuman68Kを搭載し、ファイルのコピーなどは憧れであったマックのようにドラック・ドロップでできました。その後OS-9 / X68000が発売されましたので即購入しCコンパイラーに挑戦しプログラミングを始め、オーバーラップ・マルチ・Window上で動作するソフトを作り随分勉強になりました。


  ここをクリック