• ベストアンサー

仕組みについて・・

n-beforeの回答

  • n-before
  • ベストアンサー率50% (3/6)
回答No.3

あなたの言っているコードの参照できる・できないは、無料でソースコードを参照できるかどうかであって仕組みとは関係ありません。 実行中のコードの参照は、開発ツール(デバッガ)があれば確認可能です。 OSの動作に関しては#2の方が回答しています。 ただし、Windowsもプログラム毎に仮想マシン(VM)が存在し、VMM(仮想マシンマネージャ)が仮想マシンたちの監視しています。 Windowsが異なるVersionやCPUや機種で動作している理由です。

関連するQ&A

  • Java-Linux

     はじめまして、LINUX初心者です。 今、RedHat7.2(FTP版)を使っています。 Java言語を勉強したいので、SUNのサイトから、 J2SDK1.4.0をダウンロードし、/root/にあります。コンパイルしたい時には、 #/root/j2sdk1.4.0/bin/java HelloWorld.java  しかし、コンパイルする時に、 #java HelloWorld.java のようにしたいのですが、PATHの設定方法を教えてお願いします。

  • アセンブラ言語がわかりません。

    初心者です。まとを得ていない質問でしたらすみません。 C言語は理解できる程度なのですが、アセンブラのコードを書く事ができません。 今アセンブラ言語を学び始めた所ですが、「jr」「jarl」「jmp」などの分岐命令の指定の方法がわかりません。 C言語でいうとどういうコードを書いた時に、このような命令を出力できますでしょうか。 本を読んでも、この上記の命令の意味は書いてあるのですが、実際出力が出来なかったもので。 またアセンブラ言語を学ぶためにいい方法などありましたらお教えく頂けないでしょうか。 よろしくお願いします。

  • 自分でアセンブラ言語を作れる?

    自分でアセンブラ言語を作れる? あるCPUにmov命令というのがありますが命令名をソフトウェアレベルで変えることは 出来るのでしょうか? (mov ax,1をmove ax,1にしたり) アセンブラはCPUが同じならどれも同じだと思っていたのですが プログラムを終了する時、windowsはint 21hなのにlinuxはint 0x80なので 疑問に思いました。

  • .NET C++の処理速度

    最近.NETについて調べていました。 .NETではコンパイル時にマネージドコードと呼ばれる中間ファイルが作成され、 それが.NETFramework上で動くという仕組みのため、C++で書こうがVBで書こうが 最終的にできあがるものは同じものになるということが分かりました。 私は、Cが有利な点は(Javaなど他の言語に比べ)処理速度が異常に早いことだと思っていましたが .NET上で動く場合はC++もVBも処理速度に差が出ることはあまりないのでしょうか? また、.NET、JVM、ネイティブのCの3つを比較した場合、 どのくらい処理速度に差があるでしょうか?(大雑把でもいいので) 私は [ネイティブC] >>>超えられない壁>>> [.NET] > [JVM] くらいかと思っているのですが‥ 以上、よろしくお願いします。

  • C言語の仕組み

    C言語の仕組み printfという命令で画面に文字を表示できますが、文字が表示される画面はMS-DOSの画面や開発プログラムの実行ウィンドウの中ですよね。 もしC言語がPCに直接命令できるのであれば、画面全体が真っ暗になって、そこに文字が表示されるべきなのではないかと思いました(つまり、OS上で動くべきではない)。 しかし、仮に全く最初から文字を打つとしたら、ディスプレイの仕組みを理解して、ドットで文字を表示させなければなりません。 いったいprintfというのはどこに対して命令しているものなのでしょうか

  • JVMとはどのようなものですか

    こんにちは、JVMとはどのようなものでしょうか。 JavaがどのOSでも動くのは、JVMの上で動くからと本には書かれていますが、 どのようなものかよく理解出来ません。 これは、JDKとかをOSにインストールした時に、自動的にインストールされるものでしょうか。 それとも、ソースファイルをコンパイルした時に自動的に作られるものでしょうか。 また、このJVMは何故どのOSにも対応出来るのでしょうか。 以上宜しくお願いします。

    • ベストアンサー
    • Java
  • アセンブリ言語について。

    CPUを直接操作するうなプログラムは高水準言語では作れないので低水準言語が必要になります。 CPUをスリープ状態にするHLT命令はアセンブラにはありますがC言語などの高水準言語には無い機能ですから、アセンブラを使ってプログラムを書かないと実現できません。というのは、合っていますでしょうか?教えていただけないでしょうか?すみません。

  • JAVA実行環境とは

    JAVAはOSに依存しない代わりに実行環境に依存しますとよく言われていますが、それに関係する用語を教えてください。 java runtime edition これはjavaをrunさせるのでclassファイルをアセンブラに変換するものだと思いますが、そうですか? java virtual machine これもjavaを動かすものみたいなのでclassファイルをアセンブラに変換するものだと思いますが、そうですか? JREとJVMは同じ意味の言葉ですか? javaソースのコンパイルの時にJREやJVMは参照されないと思いますが、そうですか?

  • プログラムとコンピュータ内部の物理的(?)な連携について

    C言語を使って、プログラミング作業をしている者です。 今、私は実務を通してC言語を使ったプログラミングを勉強している最中なのですが、自身で作成する場合は勿論ですが、他人が作ったプログラムを修正したりしていると、メモリの取られ方を意識して(或いはそのつもりで)、コーディングされているか(するか)イメージが掴みきれません。 VCを使って値だけの変化は分かりますが、変数がどんな時に(場所が複数ある場合)どこに確保されて、、、といったことがどうも分かりません。 C言語でのプログラムを理解するにはアセンブラ構造(スタックなど)を知っていれば、知らないよりは理解し易いと知り合いに言われ、本屋などで探しているのですが、イメージが掴みやすいように書かれているのがなかなか見当たりません。  C言語での命令を受けてCPUがどう動いているか(或いはどう動かされるように出来ているか)について何か「これは役に立った」とかそういった参考書なりサイトなりありましたらお願いいたします(今、「機械のコトバ」という書籍を読んでいます)。  過去ログでは近いと思い「アセンブラ」で検索してみましたが、「どうやってアセンブラ文法を学べばいいか」といったプログラミングそのものが殆どでした。  また、(まずは上記のことからですが)CPUだけでなくOSの役割についても知りたいので、何か良い参考書がありましたらそれについてもお願いいたします。

  • 一つのソースコードから複数のOSへ書き出しは可能?

    仮にWindowsでC/C++のソースコードを書いたとして それをMacやLinux用にWindwos内でビルドすることは可能なのでしょうか? JavaだったらJVMがよろしくやってくれて OSの違いを吸収してくれているのはわかります Qtも一つコードを書けば複数のOS用に書き出すことができますが それはどういった仕組みなっているのでしょうか? いろいろ調べたのですが、そういった記事などが見つからなかったので 今回質問させていただきました、よろしくお願いします。