Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
The target where an application runs is remarkably similar to your desktop machine: it has a file system that is about the same and roughly the same set of device nodes. These similarities make it possible to use your desktop machine as a reasonable emulator for your target board. Yes, the processor is different; but between the kernel and the development language, the difference apparent to you is small to nonexistent, depending on the nature of the application. There are some key differences, however, which fall into two large categories: language and system related. Language-related differences appear as a result of the development language used to build the code; system-related differences have to do with the Linux kernel and root file system.
The target is slower than, has less memory than, has smaller fixed storage than, and probably doesn't have the same input and output features as the desktop. However, the interface to those resources is identical to what's on a desktop system. Because the interfaces are the same, the software can reasonably be run on both systems with similar results.