BlackBerry Tablet OSはブラックベリーによるQNXベースのモバイルオペレーティングシステムで、BlackBerry PlayBookで動作する。アプリケーションとしては、Adobe AIRとBlackBerry WebWorksアプリケーションが動作するように設計された。同社のQNXベースのモバイルオペレーティングシステムには他にBlackBerry 10がある。
QNXベースでは初のタブレットOSである。QNX社は現在ブラックベリーの子会社である[3]。
BlackBerry Tablet OSはBlackBerry Javaアプリケーションに標準対応しているが、app playersというサンドボックスを通してAndroidアプリケーションに対応させることも発表されている[4][5]。GNUツールチェーンを使ってネイティブアプリケーションを開発するのに使うBlackBerry Tablet OS Native Development Kitは現在クローズドベータテスト中である。初めてこのOSが搭載されたのはBlackBerry PlayBookというタブレットコンピュータだった[6]。
同じくQNXペースのOSにBlackBerry 10があるが携帯電話用として長年使用されているBlackBerry OSの(BlackBerry OSバージョン7の次として)後継となる[7]。
マルチタスキング
OSの数種類の機能はマルチコアデバイスでのマルチタスキングに特に最適化されている。
ハードリアルタイムアロケーション
マイクロカーネルアーキテクチャOSはハードリアルタイムマルチタスキングを提供している。QNXは最初のPOSIXの一部として、フレームレートを修正するためのコンピュータグラフィックスレンダリング作業の方法と同様の、修正されたクロックサイクル上でのハードタイムアロケーションのテクニックとして使われていた。カーネルは現れていないタスクがない(グラフィックス用語で完全にレンダリングされていないオブジェクトは無い)はことを確認するために少なくとも1度のサイクル(例として20ミリ秒ごともしくはグラフィックス用語で毎秒50フレーム)ごと1つ1つのタスクにやってくる。このモデルはマルチタスキングのための割り込み駆動とポーリングアプローチの利点のほとんどを実現している。QNX Neutrinoカーネルはスレッドのサポート、メッセージ投稿、シグナル、時計、タイマー、割り込みハンドラ、セマフォ、相互排他ロック(mutexes)、条件変数(condvars)、バリアを呼び出しており、これらのみで構築されており、QNXの作成において「プロセス間でのメッセージ通過時は完全にプリエンプティブルながらもプリエンプション前に中断してメッセージ通過を再開する。」としている。これはタブレットのアプリケーションでは一般的な突然の電源OFFやユーザーの操作によるワーキングメモリのスワップアウトを強制するリソースといった問題を軽減している[8]。
バウンドマルチプロセッシング
マイクロカーネルはLinuxのようなモノリシックアーキテクチャと比べて熱やエネルギー使用を抑える分散処理のために設計された。
ソフトウェアをロックする機能は「動的に割り当てられ、アプリケーション間で共有されるが、アプリケーションの初期化中、システム設計者によって決定された設定はアプリケーションのスレッド全てに特定のコアのみで実行することを強制させている」全てのリソースを牽引するOSのシングルコピーのコントロール下にある特定のコアで動作する。従って、プロセッサ間通信のオーバーヘッドを削減しバスをクリアに保持している[9]。このアプローチは対称型マルチプロセッシングと非対称型マルチプロセッシング(英語版)間に置かれている。
脚注
関連項目
外部リンク