問題集演習で絶対合格!

ソフトウェアの構成

オペレーティングシステム

ハードウェアに最も近い層のソフトウェア。ハードウェア制御やメモリ・タスク管理を実行する。ユーザの環境を統一的に提供する役割も担う。

タスク管理

1つのプロセッサでマルチタスク(プログラムを複数並行して実行する)を実現するために、複数タスクを秩序立てて処理の切り替えを高速に実行している。

タスクとタスクの間で連携を取り持ち、通信も行う。特にモバイル端末ではリアルタイム性が重視される。(リアルタイムOS)

入出力管理

さまざまな周辺機器とデバイスドライバ(周辺機器を制御するソフトウェア)を協調し、ハードウェアを仮想化する仕組みを作る。これにより特定のハードウェアに依存せずに、入出力操作を行うことができる。

OSの割り込み制御(ハードウェアから発生する各イベントの要因を解析し、対応する処理ルーティンへ分岐制御する)やタイマ管理機能(ハードウェアの持つタイマ機構を利用し、現在の時刻管理・時間経過の監視・通知等行う)を用いて、入出力データのスケジューリング化を行う。

携帯電話のような組み込み機器は個別にドライバソフトを開発する必要があり、ドライバはリファレンスボードに搭載されるハードウェアの付属パッケージ(BSP (Board Support Package))として、OSに組み込まれる。

メモリ管理

二次記憶装置(PC…HDD、携帯電話…フラッシュメモリ)からメインメモリにプログラムやデータが読み込まれ、それをプロセッサがプログラム通りに処理を実行する。

OSはアプリケーションプログラムやデータをメインメモリ上に配置する。干渉を避けるために独立したアドレス空間上に配置したり、別のワークエリアを設けて配置をする。ROMに格納されたプログラムを直接実行する場合もある。

ファイル管理

ファイルシステムで、複数のプログラム間で統一したデータの規則を決定する。

・ユーザ操作環境の提供

カーネル…タスク管理やメモリ管理、入出力管理といったOSの基本機能を司る

シェル…ユーザがカーネルを呼び出すための機能。ユーザインターフェイス等(UIGUI)

PCOS

Microsoft Windows

最も広く利用されているオペレーティングシステム

GUI (Graphical User Interface)で全ての操作が可能

■特徴

Windows8ではタッチ操作やARMプロセッサに対応したことで、タブレット等モバイル端末に対応した

Intel社のx86/x64プロセッサで動作するマルチタスクOS

エディションはWindows8Windows8 ProWindows8 EnterpriseWindows RT

■低消費電力対策

プロセッサにIntel社製Atom(高速化回路を簡素化したもの)を採用し、低消費電力化へ繋げている

高度なマルチメディア機能は、CPUの高負荷時、専用GPUチップ(Graphics Processing Unit)に切り替え実行する

低負荷時はプロセッサの動作周波数を落とす

ACPI (Advanced Configuration and Power Interface)…一定時間でディスプレイOFFHDDの回転を停止等カスタマイズ設定する

フィーチャーフォン向けOS

OS・アプリケーションはあらかじめROMに搭載される

事業者によって仕様が異なるためアプリケーションの可搬性は低い

小規模なメモリに対応できるよう、メモリを大量消費しないよう設計されたOSが搭載される

リアルタイム性が重視されるため、プロセッサの低性能を一定時間内(10μ秒~100m)にタスクを切り替えて実行することでカバーする。また、無線通信や通話の制御タスクに高い優先順位をつけ通信が切断されない調整も行う。

REX/L4 OS

Symbian OS

スマートフォン向けOS

汎用性の高いOSが搭載されるため、アプリケーションの可搬性も高い

アプリケーションのダウンロードにより多くの端末機能をカスタマイズでき自由度が高い

Android OS

200711月にGoogle社が発表したオープンソースのプラットフォーム

Androidのソフトウェア構成

アプリケーション層、アプリケーションフレームワーク層、Androidランタイム層、ライブラリ層、Linuxカーネル層

android1

ハードウェアには任意のプロセッサを選択できる

対応するLinuxデバイスドライバをインストールすることで様々な機器に組み込める

LinuxUNIXベースのオープンソースOS

モノリシックカーネルで構成され、動的にロードをおよびアンロードを実行する

各機能が独立しておらず一つのプログラムとして処理されるので、開発効率は低いが処理速度が高速である

クラスライブラリにはJava SEを採用し、ハードウェアの性能を最大限に利用するアプリケーションを作成・実行可能

Java言語で記述したソースコードは「Androidバイト・コード」という言語にコンパイルされ、

Androidランタイム層にある「Dalvik Virtual Machine」が実行する。

Windows Phone

Windows 8とコア共通化されたWindows NTベースのカーネル

マルチコア対応で理論上では64コアまでサポートする

マルチタスク強化でナビゲーションやVoIPアプリケーションをバックグラウンドで稼働可能

利用可能な開発言語…SilverlightHTML5/JavaScriptC#/VB#C/C++ 等

i OS

OSの基本構成はCocoa TouchMediaCore ServicesCore OS4層構造

ios

Cocoa Touch…UIフレームワークと基本処理を行うFoundationフレームワーク等

Media…2D/3Dグラフィックス・アニメーション・オーディオ再生等のフレームワーク

Core Servicesデータベース、セキュリティ、位置情報、アドレス情報等データ処理

Core OSカーネル、ドライバ、OSの基本インターフェイス

MAC OS Xと共通点が多く、同一の手法でアプリケーション開発が可能

開発言語はObjective-Cであり高速実行が可能

AndroidJava仮想マシン(Dalvik)Flash等との互換性はない

ミドルウェア

オペレーションシステムとアプリケーションの間に位置するソフトウェアでOSの機能を拡張する役割

主に、圧縮・伸長処理、Java実行環境、通信プロトコル処理、数学関数群ライブラリ等

CPUに大きな負荷がかかるマルチメディア処理は、専用ハードウェアで処理を行う

統一化された共通APIでプログラムを作成することでどの環境でも正常に動作可能である

リンクの種類…ライブラリと実行ファイルを結びつける

・スタティックリンク(静的リンク)

あらかじめ固定的なリンクを作成し、実行ファイルを作成する。呼び出し動作が速い。複数のアプリケーションで同一ライブラリを使用する場合に消費メモリが増大する。

・ダイナミックリンク(動的リンク)

プログラム実行時に、該当ライブラリをサーチし、メインメモリ上にリンクを実行する。

同一ライブラリをファイル単位で共有するので、アプリケーション全体のサイズを小さく抑えられる

アプリケーションソフトウェア

オペレーションシステムとミドルウェアの上で動作する

開発

実現したい仕様を設計し、設計書に基づき「プログラミング言語」を用いて記述(ソースコード)する

・ソースコードは、コンパイラで機械語(ネイティブコード)に変換され、プロセッサが直接実行可能となり、コンピュータ上で動作する。異なるOSでは、それぞれ別に開発する必要がある

・ネイティブコードは、異なるプロセッサ上では動作しない

仮想化

異なるOSやプロセッサ上でも同一のアプリケーションが共通利用できるよう、OSやプロセッサ上に

「仮想機械」を構築すること

実際はソフトウェアが仮想機械の役割を担い、機械間を調整する。

仮想機械で動くアプリケーションを1つ開発することで、ポータビリティ(可搬性)が高まり、異なるOS・プロセッサ上で動作可能となる

実行

アプリケーションプログラムは「タスク(プロセス)

として動作する

タスクは複数のスレッドで構成される。タスクを機能ごとのスレッドに分割し、CPUが各スレッドを交互に処理することでレスポンスが向上する

また、他のアプリケーションと干渉しないように参照できるメモリ領域をOSが管理している

【MCPC2級】学習

学習対策テキスト

【MCPC2級】学習

PAGETOP
Copyright © レッツ!モバイルシステム技術検定2級 All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.