プログラム、実行可能ファイル、およびプロセスの違いは何ですか?
10 に答える
In simple words -
Program: Program is a set of instructions which is in human readable format.(HelloWorld.c)
Executable: Executable is a compiled form of a Program (HelloWorld.exe file)
Process: Process is the executable being run by OS. The one you see in Task Manager or Task List (HelloWord.exe Process when we double click it.)
プログラムまたはコンピュータプログラムは、基本的に、オペレーティングシステムまたはコンピュータにシーケンス命令(または必要に応じてアルゴリズム)を提供します。これらのコンピュータプログラムは、オペレーティングシステムが認識し、命令を直接実行するために使用できる実行可能形式で提供されます。
基本的に、実行可能ファイルは、直接実行できず、最初にコンパイルする必要があるソースファイルとは対照的に、コンピューターが直接実行できる形式のファイルです。実行可能ファイルは、コンパイルの結果です。オペレーティングシステムは実行可能ファイルを認識しますが、拡張機能を介して認識します。Windows実行可能ファイルに使用される一般的な拡張子は.exeです。
実行可能ファイルが実行されると、プロセスが開始されます。プロセスは、単にコンピュータプログラムのインスタンスです。プロセスは、コンピュータプログラムに含まれる命令の実行と考えることができます。Windowsコンピューターでタスクマネージャーを表示すると、現在のすべてのプロセスを確認できます。プロセスは、仮想メモリ、オペレーティングシステムの説明(ハンドル、データソース、シンクなど)、セキュリティ属性、および効果的に処理するために必要なその他のさまざまな要素などの独自のリソースを処理します。
A process is basically a program in execution. Associated with each process is its address space, a list of memory locations from 0 to some maximum, which the process can read and write. The address space contains the executable program, the program’s data, and its stack. Also associated with each process is a set of resources, commonly including registers (including the program counter and stack pointer), a list of open files, out- standing alarms, lists of related processes, and all the other information needed to run the program. A process is fundamentally a container that holds all the information needed to run a program, which is a set of instructions defined by a user/developer.
A program is a set of instruction and a passive entity.Program is a part of process while a process is running state of the program and it is a unit of work in a system.
Program: It is a passive entity, like the contents of a file stored on the Hard disk. In other words, It is just like another text file on your disk. Mostly, it will be in human readable format (ex: .java file).
Executable: It is again a passive entity. It is just another file on the disk which is derived by compiling the Program. So, it is a machine readable version of the Program file (ex: .class file.). Please note that it is still sitting out there on disk with not being executed currently.
Process: It is the active part of the Program/Executable. A Program/Executable loaded into memory(RAM) and executing is called as Process. A Process consists of set of instructions. CPU executes these instructions one by one.(ex: JVM loads your .class file and gives instructions to the CPU).
Also you can have two processes executing the same Program/Executable.
A program is a collection of source files in some high level language that you write to do some function, for example, C++ files that implement sorting lists. An executable is the file that the compiler creates from these source files containing machine instructs that can execute on the CPU. A process is the active execution of the executable on the CPU and in the memory. It includes the memory management information, the current PC, SP, HP, registers, etc.
Process is a part of a program. Process is the part where logic of that particular program exsists. Program is given as a set of process. In some cases we may divide a problem into number of parts. At these times we write a seperate logic for each part known as process.
Consider it like this.
A program is a blueprint. Like a blueprint for a building. There is no building, but an abstraction of how a building would look like.
Process is the actual construction of Building which is built according to the blueprint.
While constructing a Building, there are many things happening at the same time. You are preparing the concrete, building multiple rooms at the same time, Laying the electrical cables etc. These would be Threads.
No difference. Remember, there is no spoon.
Program is a static entity but process is a dinamic entity.
Program is nothing but the contained in a file.Where process is a program in execution.
3.Program does not use the CPU resister set but process use the CPU resister set to store the intermediate and final result.