人に聞けない痔の悩み、これでスッキリ >>

プログラムの達人おねがいします!!
古い型のiphoneに、新しいOSのアップデート
をいれると、古い型のiphoneが、最新のOSについていけないので、不具合が出やすく、良くないと聞いたのですが 、
これは、プログラムさえできれば、なんでもできるわけではない、と言うことなのでしょうか?
例えば、3Dプリンターも、何十年も前は、
なかったハード機器ですし、、、、
と言うことは、いくらプログラムができても、何でもできるわけではなく、ある程度のところまでしかできない、と言う事なのでしょうか?
やはり、最新最先端技術に関しては、
Appleやamazonのように、ハード機器も同時に、開発できる様な、大手でなければいけない、と言うことなのでしょうか?

もしそうなら、今までなかった、最新最先端ハード機器が、開発された時、そのハード機器とプログラムの最初のひもずけは、
どのようにされているのでしょうか?

質問者からの補足コメント

  • どう思う?

    素早い回答ありがとうございます。
    ドライバーもプログラムと考えると、ある種の命令と言えると思うのですが、新しく開発された、今までにない、ハード機器の場合と、当然今までと異なる新たな部分があると思うのですが、そう言う、今までのドライバープログラムでは対応できない、新たな部分が出てきた場合、
    、プログラムの方も開発し直すのですか?
    新しいプログラム言語を作ったりとかするのですか?
    よろしくお願いします
    ありがとうございます

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/04/08 05:32
  • どう思う?

    素早い回答ありがとうございます。
    ドライバーもプログラムと考えると、ある種の命令と言えると思うのですが、新しく開発された、今までにない、ハード機器の場合だと、当然今までと異なる新たな部分があると思うのですが、そう言う、今までのドライバープログラムでは対応できない、新たな部分が出てきた場合、
    、プログラムの方も開発し直すのですか?
    新しいプログラム言語を作ったりとかするのですか?
    よろしくお願いします
    ありがとうございます

      補足日時:2020/04/08 06:09
  • どう思う?

    端的な回答ありがとうございます

    > 多くの外部機器は、その種類ごとに通信の規格が大まかに決められていますが、新機能が出たり、旧規格ではどうしても性能を出せない場合には通信の方法が変わったりします。

    再質問1.旧規格で対応できない場合、新たに通信の方法を変えるのも、内蔵されているにしてもドライバーもプログラムですよね。OSに内蔵されているドライバーでは対応できない場合、今までのドライバープログラムでは対応できない、新たな部分が出てきた場合、ドライバープログラムの方も開発し直すのですか?
    新しいプログラム言語を作ったりとかするのですか?
    再質問2 通信企画と通信方法は同じですか?
    通信規格とは具体的にどうゆうものですか?

    よろしくお願いします
    ありがとうございます

    No.2の回答に寄せられた補足コメントです。 補足日時:2020/04/09 11:45
  • どう思う?

    再度回答いただきましてありがとうございます
    >開発し直すというか、これまでのプログラムを手直しする方が多いでしょう。

    開発と手直しはどう違うのですか?
    また、手直しが、既存のものの使いまわしだった場合、使い回しができない、それでも対応できない場合はどうするのですか?

    No.3の回答に寄せられた補足コメントです。 補足日時:2020/04/10 22:11

A 回答 (3件)

No.2です。



>再質問1.旧規格で対応できない場合、新たに通信の方法を変えるのも、内蔵されているにしてもドライバーもプログラムですよね。OSに内蔵されているドライバーでは対応できない場合、今までのドライバープログラムでは対応できない、新たな部分が出てきた場合、ドライバープログラムの方も開発し直すのですか?

開発し直すというか、これまでのプログラムを手直しする方が多いでしょう。

>新しいプログラム言語を作ったりとかするのですか?

一般的には、既存のプログラム言語(多くの場合はC)で作成されます。
なぜ新しいプログラム言語を作らないかという理由は、プログラム言語とは何たるかを勉強してください。
ただし、CPU自体を新造する場合は、それ専用のアセンブリ言語が作られることがあります。とはいえ、同時にCコンパイラも提供すると思います。

>再質問2 通信企画と通信方法は同じですか?
>通信規格とは具体的にどうゆうものですか?

ごめんなさい、表現が曖昧でしたね。
ここでの説明は同じようなものだと考えてください。

CPUは、周辺機器とやり取りをするために端子を持っており、この端子を通じて電気信号で「会話」します。具体的に何、とは言えませんが、ディスクからデータを読み込むときは、例えばこんな感じです(多分に嘘も含まれていますが、雰囲気だけ感じ取っていただければ)。
C「ディスクさん、元気?」
D「元気ですよ」
C「今から言う場所からデータをちょうだい」
C「○○番地から」
C「〇〇番地まで」
D「了解」
D「お~い!」
C(お、来た)
D「今からデータ送るね」
C「データちょうだい」
C「データちょうだい」
・・・・
C「データちょうだい」
C「ありがとう」

周辺機器とのやり取りに使う端子で一度に表現できる情報量は限られているため、一つの要求だったり、大量のデータだったりは、やり取りできるデータ量に区切って順番に送ったり取り込んだりを繰り返します。
この回答への補足あり
    • good
    • 0

一般的に、コンピュータというのはいろんな部品が集まった、広い意味ではシステムの一種です。


私たちが「プログラミング」と呼んでいるものは、主に中央演算装置(CPU)に対して命令を発行するものです。

CPUが持っている機能は、だいたい次のようなものです。
・CPU内部だけで実行することができる演算、記憶(レジスタと呼ばれています)
・主記憶に対する直接アクセス
・外部機器との通信

ここで、外部機器とは、ディスク、ネットワークデバイス、キーボード、マウス、ディスプレイデバイス、プリンタなどがあります。CPUと外部機器とは、CPUにある特定のインタフェースに値を書き込んだり読み込んだりすることで、制御したり情報を得たりします。ここまで読んでお気づきかもしれませんが、CPUが担うコンピュータの動作というのは、そのほとんどが外部機器とのやりとりです。

多くの外部機器は、その種類ごとに通信の規格が大まかに決められていますが、新機能が出たり、旧規格ではどうしても性能を出せない場合には通信の方法が変わったりします。

他方、外部機器との通信をいちいちプログラムで書いていては、とてもプログラムするのが大変なので、外部機器を制御するためのプログラムセットがOSに組み込まれていて、プログラムを作る人はこれを比較的単純な方法で呼び出すことで外部機器を制御することができるようになっています。これがいわゆる「ドライバ」というモノです。

OSに組み込まれているドライバは、操作する外部機器に合わせて作られていますが、古い機器にも対応できるように作られているものもあれば、古い機器への対応は切り捨てて非対応になっているものもあります。なので、

>古い型のiphoneが、最新のOSについていけない

というのも間違いではないのですが、どちらかというと「最新のOSが古い型のiphoneに搭載されている一部の機器を操作する機能を切り捨てているかもしれない」といった方がわかりやすいと思います。

>もしそうなら、今までなかった、最新最先端ハード機器が、開発された時、そのハード機器とプログラムの最初のひもずけは、どのようにされているのでしょうか?

紐づけというか、新しい機械を発表するときには、通信の仕様書だけでなく、それが搭載されるコンピュータで使えるためのドライバとその使い方も製造元が提供することが多いです。
この回答への補足あり
    • good
    • 1

>そのハード機器とプログラムの最初のひもずけは、どのようにされているのでしょうか?



パソコンのOSと同じように考えればいいのです
例えば、新しいOSを開発している時に端末機として新しいモノを開発、提供できる時にドライバーと言う機器⇔機器を接続するソフトをOS開発部署に申し出ればOSの接続テストで一緒に性能評価を行いOSに組み込むことが可能になります
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング