質問

2014年03月30日 14時27分
  • 組み込みシステムの安定性

情シスのオープンナレッジ『Syszo』サービス終了のお知らせ

質問

私は組み込みシステムに挑戦したいと考えています。

私のケータイは、いまだにガラケーでヘビーユーザーではありません。
Windous パソコンはフリーズがよく起きたり、ウイルスが混入したり、
トラブルが絶えませんが、
その点、ケータイは今まで一度もフリーズの経験をしたことがなく、
トラブルがほとんどなく、安定しています。
ケータイが安定な理由は何ですか?

CPUがいいのでしょうか?
OSが優れているのでしょうか?
また使用している言語はC/C++言語でしょうか?
C言語は少しかじったことがありますが、
C言語はポインタがあり、
ポインタが不具合の原因になることはないでしょうか?

ケータイが安定な理由を教えて下さい。

(ちなみに、初めての投稿なので要領がよく分かりません。)

3件の回答があります

回答

お疲れ様です。

一般的にプログラムは人間が組むものですから、障害(バグ)がないということはまずないと思います。

組み込み系システムが安定しているという認識を持たれているようですが、たぶんそれは、相当なテストケースを経ているからだと思います。
私の知人で携帯電話のテストを行っていた人がいますが、何十人もの人で毎日朝から晩までテストを繰り返す作業を行うそうで、頭がおかしくなりそうだと言っていました。
プログラムは、テストあっての品質維持というのは正直あると思います。

ちなみに、一般的にプログラムがハングしたりするのは、ハードウェア要因(メモリーアクセス)等のパターンと、ソフトウェアバグと2種類あると思います。
CPUやメモリー容量などスペックによって障害を引き起こさなくなることはないと思います。

また、組み込み系であってもカーナビやPOSのようにベースWindowsの上に乗るパターンと炊飯器のようにマイコンベースで動くものがあります。
マイコンベースですと主に言語は、アセンブラ、C/C++、JAVAがメインだと思います。
ちなみに、C/C++のポインターの間違いでプログラム障害を引き起こすことは多々あります。これもテストや設計で回避していると思います。

組み込み系は一般的に求人は多いですが、上記のようにテストが膨大で大変という認識が一般的です。

2014年03月30日 14時44分

回答

決められたハードだけで動かすのならバグはかなりのぞけますが、Windowsパソコンのようにメーカもパーツもばらばら(一応、Windows対応とか言ってはいますけど)のもので相性までカバーするのは不可能に近いです。
昔のようにシングルタスクの上から下に流れるだけのものならバグも人間業でつぶせますが(昔、やってました)、今のようにマルチタスク、イベントドリブンですと「例外事象が起きませんように..」と祈るだけ(では済まないのでテストを徹底的に行います)です。

私はケータイもスマホも持っていませんが、持ているタブレットは時々、食いついたりします。「まぁそんなもんか」とあきらめていますが。

2014年03月31日 05時59分

回答

おはようございます。

>ケータイが安定な理由は何ですか?

ガラケーのように、使われる状況が限定的で、アプリケーションが小型で済むものは不具合も少なくなります。
(それでも、大なり小なり不具合は派生します。気が付かないものもあるでしょう)

Windowsのように、ハードメーカもばらばら、ましてやOSもXP〜Win8.1の32bitと64bitとなれば、すべてに不具合なく動作するアプリケーションの作成は、不可能と言っていいものでしょう。

また、ガラケーのアプリケーションとは、コーディング量が違います。
ガラケーが幼児三輪車並みならば、Win用はジェット機並みとか。
(違うかっ^^;)
それだけ違えば、不具合の発生率も違います。
(テストも、ガラケーで10人で済むところを、コーディング量を考えると、
Win用は数百人単位で必要・・・でもそんなに居ない。そうすると・・・)

>ウイルスが混入したり、トラブルが絶えませんが、

Windowsが全世界で使われているため、ウイルス作成者がwindowsを標的にしているからです。
日本のガラケーをピンポイントで狙っても、面白みがないからガラケー用のウイルスが作成されないだけです。

また、ウイルス混入のトラブルは、使う側の問題もあります。
きちんと対処をしなければ、トラブルは減りません。

>C言語はポインタがあり、ポインタが不具合の原因になることはないでしょうか?

C言語を使っていれば、ポインタの問題は避けられませんが^^;
Windows用のアプリケーションは、メーカによって使っている言語は多種あると思います。

言語の問題と言うよりも、コメント(2)で書かれているように、Windows用アプリはマルチタスク処理です。
ガラケーはシングルタスクでしょう(たぶん)。
難易度は全然違います。

これらのように、ガラケーのアプリとWindowsのアプリでは、かなり違うものですよ。

2014年03月31日 07時46分

あなたもコメントしましょう!