This preview shows page 1. Sign up to view the full content.
Unformatted text preview: oping a complete Unix-like system whose source code is unencumbered by restrictions on how it can be modiﬁed or distributed. As of 2002, the GNU project has developed an environment with all the major components of a Unix operating system, except for the kernel, which was developed separately by the Linux project. The GNU environment includes the EMACS editor, GCC compiler, GDB debugger, assembler, linker, utilities for manipulating binaries, and many others. The GNU project is a remarkable achievement, and yet it is often overlooked. The modern open source movement (commonly associated with Linux) owes its intellectual origins to the GNU project’s notion of free software. Further, Linux owes much of its popularity to the GNU tools, which provide the environment for the Linux kernel. End Aside. ¯ ¯ 1.3 It Pays to Understand How Compilation Systems Work
For simple programs such as hello.c, we can rely on the compilation system to produce correct and efﬁcient machine code. However, there are some important reasons why programmers need to understand how compilation systems work: ¯ Optimizing program performance. Modern compilers are sophisticated tools that usually...
View Full Document
- Spring '10
- The American