組み込みソフト開発のしきいを下げる"リアルタイムOS"のすべて

池崎 史生

tag: 組み込み

技術解説 2001年6月19日

●メモリ管理

 メモリ管理の役割を担う部分は,大きく分けて2種類のメモリを管理します.

1)主記憶装置の管理

 各タスク(あるいはプロセス)が利用しているメモリ領域の管理や未使用領域の管理などを受け持ちます.

2)仮想記憶の管理

 UNIX系OS,Windows,MacOSなどではよくお目にかかるしくみです.あたかも実装されているRAM以上にシステムがメモリを持っているかのように扱うことができるメモリ空間をいいます.英語ではvirtual memoryと呼びますが,これは「実質上のメモリ」という意味です.

 プログラムからみた場合,仮想メモリと通常のRAMとの差はまったくありません.これが計算機用語でいう「仮想」の意味するところです.実際に使うことができれば,それがRAMであろうとハード・ディスクの領域であろうと関係ないのです.

 日本語本来の「仮想(けそう)」の意味とは違いますのでご注意ください.いずれにしても,実装されている以上のメモリを疑似的に使えるようにしたものが仮想記憶ということができるでしょう.

●パソコンでの仮想記憶管理

 デスクトップ・パソコン用のOSではハード・ディスク上に仮想記憶領域を確保し,これらを管理します.これは仮想記憶管理プログラムの役割です.仮想記憶管理のアルゴリズムで一般的なのはページング・アルゴリズムと呼ばれ,さまざまな手法が実現されています.

 仮想記憶は,組み込みシステムでは大規模なシステムでもないかぎり実装されないと考えてよいでしょう.もしかしたら,仮想記憶が必要な大規模なシステムもあるかもしれませんので皆無とは言いがたいのですが.

●メモリ保護

 複数のプロセスが一つのシステム上で実行される場合に,実行中のプロセスAが,ほかのプロセスBのあるメモリ領域を誤使用しないためのしくみです.規模の小さい,それほど堅牢性を要求されない組み込みシステムなどでは,実装されない場合もあります.

 そのような場合に,プロセスがメモリを割り当てる場合,そのプロセス自身でほかのプロセスのメモリ領域を浸食しないようなしくみを考える必要があります.

●入出力管理

 入出力管理の役割は,システムに接続されているあらゆる入出力用装置の管理を行うことです.デバイス管理と呼ぶこともあります.各装置は,OS上にあるデバイス・ドライバ(device driver)と呼ばれるプログラムを介して,必要に応じて制御されます.デバイスは,しばしば周辺機器と訳されます.

 基本的に,入出力装置そのものはCPUから独立して動作することができます.つまり,入出力装置に仕事を指示したあと,CPUは別の仕事を行うことができるわけです.このとき,入出力装置側の処理の終了,あるいはNIC(network interface card)などに到達した外部からの通知を知らせるために,割り込み(interruption)と呼ばれるしくみを使うのが一般的です.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日