跳到主要内容

编译系统与硬件组成

文本文件和二进制文件有什么区别?​

  • 文本文件: 只由 ASCII 字符构成的文件;
  • 二进制文件: 其他所有文件;
  • 判定口径: 看内容是否只由字符编码构成;

一个程序从源码到可执行文件经过哪些阶段?​

  • 预处理: 展开宏、处理注释和头文件;
  • 编译: 把高级语言翻译成汇编语言;
  • 汇编: 把汇编语言翻译成机器语言, 产出可重定位目标文件;
  • 链接: 合并多个目标文件与库, 产出可执行文件;
源码 .c → [预处理器] → .i → [编译器] → .s → [汇编器] → .o → [链接器] → 可执行文件

计算机硬件由哪些部分组成?​

部件职责
总线在部件之间传递定长字节块, 块长为字长
I/O输入输出设备, 通过控制器与总线连接
主存临时存储设备, 存放程序和数据
CPU解释或执行内存中的指令
  • 字: 总线上一次传递的字节块长度, 典型为 32 位或 64 位;

硬件组成

操作系统在硬件和程序之间做什么?​

  • 定位: 程序不直接操作硬件, 而是通过操作系统提供的抽象;
  • 抽象: 文件表示 I/O 设备, 虚拟内存表示主存, 进程表示处理器;

操作系统的位置