计算机系统是由硬件和软件组成的,所有计算机都有相似的硬件和软件组件,他们又执行着相似的功能。只有深入了解这些组件是如何影响程序的正确性和性能的,很大程度上来提升提高程序员的技能水平。
我们以世界万能程序大法hello为例,跟踪hello程序的生命周期开始深入系统。
hello程序(C语言):
#include<stdio.h>
int main()
{
printf("hello,world\n");
return 0;
}
1. 信息就是位+上下文
hello程序的生命周期是从源程序(源文件)开始的,文件名为hello.c。大部分的现代计算机系统都使用ASCII标准来表示文本字符,hello.c的ASCII表示如下:
这里注意:每个文本行都是以一个看不见的换行符\n结束的,像hello.c这样只有ASCII字符构成的文件称为文本文件,所有其他文件都称为二进制文件