学习计算机系统的作用
计算机系统是由硬件和系统软件组成的,它们共同工作来运行应用程序。通过学习计算机系统可以在以下方面得到提高:
- 优化代码,充分利用处理器和存储器;
- 了解编译器是如何调用的,避免缓冲区溢出错误带来的安全漏洞;
- 识别和避免链接时的错误;
- 编写自己的Unix Shell、动态储存分配包和Web服务器;
- 认识并发的优势和劣势。
源文件
程序的生命周期:创建、运行、输出、终止。 创建:程序员通过编译器创建并保存的文本文件,也被称为源程序或源文件。源程序是一个由0和1组成的位序列,8个位被组织为一组,称为字节,每个字节都有对应的文本符号。大多数计算机系统通过ASCLL标准俩表示文本字符,用单字节大小的整数值表示字符。由ASCLL码组成的文件叫做文本文件,其他文件叫做二进制文件。
计算机系统中的所有信息都是由0和1的位序列组成的,区分不同数据对象的方法是根据该数据的上下文。在不同的上下文中,同一串字节序列可能表示整数、浮点数、字符串或者机器指令。
C语言的特点
优势:
- 与Unix操作系统密切相关,得到了广泛的支持;
- C语言小而简单;
- C语言以实践为目的。
缺点:
- 指针难以理解;
- 缺乏对有用的抽象的显式支持。