No.4ベストアンサー
- 回答日時:
>しかし実際アセンブリ言語で開発しようという人間以外に、誰がこの知識を必要とするのか全くわかりません。
OSを設計、移植する場合には、CPUの詳細な内部構造が必要です。
OSというと、なんかすごいプログラムのように思ってしまうかもしれませんが、実際にはMCUを使用する場合にメモリの制約が厳しいので、その時々に必要な機能のOSをコーディングしています。サイズは数百byte~数Kbyte。初期のUNIXとかカーネルが4Kbyteぐらいしかなかったのですよ。
それは別の話として、高速なソフトウェアを書くためにはCPUの詳細な情報がかかせません。
現在、モバイル器機を中心に消費電力を下げる競争が盛んになっています。結局消費電力を小さくするためには、ソフトウェアの実行速度を上げてクロック周波数を下げるか、休止させてる時間を多くするしかないのです。したがって今後は遅いプログラムしか書けないエンジニアはモバイルを中心に追放されそうな感じです。
マイコンのCPUのクロックが数MHzの30年前は、どうやって高速でメモリの少ないプログラムが書けるかというのが課題で、そのテクニックを競っていました。その結果プログラミングした本人でも後からみるとどうやって動作しているのか判らないような「なぞなぞソフト」が大量に作りだされたのです。
「なぞなぞソフト」が大量に増えた結果、ソフトウェアのメンテナンスに支障が生じたために、今度はオブジェクト指向などのメンテナンス性が高いソフトウェアが主流となりました。時は巡って、省エネ問題からまた高速性が追求されることに・・・
世の中って面白いですね(^ ^)ノ
この回答へのお礼
お礼日時:2010/10/15 20:48
なるほど、携帯のOSとか常に使うプログラムだと、少しでも消費電力の少ない、無駄のないプログラムのほうが一回の充電での使用可能時間が延びますよね。と言ってもどれくらい違いがでるのかわかりませんけど。一時間以上の差が出るんですかね??
詳しくありがとうございました。
No.3
- 回答日時:
組み込み用途なら「知ってて当然」といわれるような気がする.
その一方で, 「C言語の勉強でメモリーの構造を理解する必要がある」のはなぜかと聞かれると, おそらく意外と難しい.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 哲学 説得力を修辞の巧みさまたは論理の強さの2つに分析するにはどうすると良いでしょうか? 0 2022/07/20 05:46
- その他(コンピューター・テクノロジー) AIに関連する用語を理解したい、RNN、LMM、LSTMなど、書籍で理解したい 1 2023/07/06 22:18
- システム CPUの問題について 2 2022/07/09 12:04
- 社会学 以下の日本語の文章の間違いを直して頂ければ幸いです。 1 2022/05/23 07:34
- 英語 ソシュール言語観による品詞、単語、辞書理解の誤り 4 2022/11/24 12:27
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 大学受験 高校3年の女です。早稲田大学社会科学部を第1志望にしています。勉強のアドバイスと、現時点で過去問何割 2 2022/08/04 00:01
- 日本語 意味とは何か? どこにあるのか?(Ⅱ) 4 2022/04/21 13:35
- 日本語 「~人」と「~名」の使い分け 2 2022/06/02 11:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パソコン
-
これて逆じゃないですか?
-
あんまり考えたくないけど
-
C言語について。
-
C言語について。
-
コンソールアプリを作成するの...
-
C言語について。
-
アンリアルエンジン5に関して、...
-
大量のデータを読み込んで表示...
-
c言語の問題の説明、各所ごとに
-
次の日本語の意味を教えて下さい
-
バッチファイルで以下のような...
-
c#のTLS1.2での通信について
-
c言語の問題です
-
ハミング符号の解読について
-
C言語初心者 構造体 課題について
-
C#,vb.netで業務用アプリ開発と...
-
C言語の質問です。バイナリ形...
-
C言語初心者です、、、お助けく...
-
C# でソフト開発をした事のある...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
API、OCX、DLLって何でしょう?
-
VBプログラムをEXCEL VBAに移植...
-
C言語のHP-UXからLinuxへのポ...
-
OSとCPUの関係について
-
コンソールアプリでファイル選...
-
SNMPトラップ情報をC#.netで作...
-
WEBページに読み書きするプログ...
-
変数の大きさを超える代入
-
Perl5とActivePerl
-
UNIX環境でのCプログラム上でC...
-
.Net とは何ですか?
-
3ウェイハンドシェイクの流れ...
-
i,j,k
-
DLLってなに?
-
VBS:コンピュータ名を取得し、...
-
Ryzen 3700(無印)はWin11に対応...
-
CGIとは?
-
プログラミング 素数か素数では...
-
プログラマやシステムエンジニ...
-
このプログラミング誰か教えて...
おすすめ情報