深入理解计算机系统(CSAPP) 第一章学习笔记

本文是《深入理解计算机系统》第一章的学习笔记,涵盖了编译过程的详细步骤,包括预处理、编译、汇编和链接。接着介绍了系统的硬件组成,如总线、I/O设备、主存和处理器。还讨论了程序的执行流程,以及高速缓存和存储器层次结构在提升性能中的作用。此外,文章还涉及操作系统的基础,包括进程、线程、虚拟存储器和文件的概念。
摘要由CSDN通过智能技术生成


1.编译过程

编译系统(compilation system):预处理器(pre-processor)、编译器(compiler)、汇编器(assembler)、链接器(linker)
编译系统
预处理阶段:处理字符#开头的命令,即:1)将头文件的内容插入程序文本中。2)宏定义替换。3)条件编译(#if #ifdef),不被编译的部分变为空行。4)删除注释

编译阶段:通过编译器将源程序翻译成汇编程序(assembly-language program)

汇编阶段:将汇编程序翻译成机器语言指令,并将其打包成可重定位目标程序(relocatable object program)

链接阶段:链接器将各个.o文件合并成可执行文件。链接器使得分离编译成为可能。在编写大型程序时,可将模块分小,由此达到独立修改和编译不同模块的目的:未被修改的模块不用重新编译,而只需将修改后的模块编译,重新链接即可。e.g. hello.c中的printf函数存在printf.o(已经单独预编译了的目标文件)中,链接器将其合并后得到可执行文件


2.系统的硬件组成

系统的硬件组成

  1. 总线(buses):通常总线被设计成传送定长的字节块,也就是字。字中的字节数*(字长word size)*,是一个基本的系统参数,大多数机器为4个字节(32位)或8个字节(64位)
  2. I/O设备(I/O devices):每个I/O设备都通过一个*控制器(controller)或者适配器(adapter)*与
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值